Skip to content

Dot files for reproducing my HTML, JS/TS, TailwindCSS, MATLAB, and Docker developing environment with Alacritty + LazyVim.

License

Notifications You must be signed in to change notification settings

aerthurg/my-dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Dotfiles

In this repository I'm managing the dotfiles I use to setup my entire development workflow using three main applications, namely: a) Alacritty; b) Zellij; and c) Neovim. I use this setup to code mainly in HTML, CSS, JavaScript and Python, so expect LSPs cofigured for liting, formatting, and completion for these languages. Additionally, I use this entire setup on Pop!_OS, which is a Ubuntu-based linux distribution, so for porting it to MacOS or Windows, do your own research (it should be quite easy).

Table of Contents

  • Alacritty Installation and Setup
  • Zellij Installation and Setup
  • Neovim Installation and Setup (with LazyVim)

Alacritty Installation and Setup

Alacritty is a cross-platform terminal emulator. You should follow the instructions from the official Alacritty GitHub repository. After the installation process, you should create a directory called alacritty under the ~/.config/ directory in order to customize your alacritty installation.

Now you can copy my alacritty.toml file to your ~/.config/alacritty directory in order to use my customizations in your Alacritty installation. The only customizations I made to my Alacritty installation were the following:

  • Modified window's padding, opacity, and startup mode.
  • Modified font to JetBrainsMonoNerdFont with size of 12 (download and install this font!).
  • Changed the colorscheme to Solarized-Osaka.

The screenshot below shows how my Alacritty installation looks like:

Zellij Installation and Setup

Zellij is a powerful rust-based terminal workspace manager that is really useful for managing multiple panels and tabs in a same terminal session. You should follow the installation instructions present in the official Zellij website (I recommend doing it using Rust's cargo package manager).

After installing Zellij using your prefered method, create the ~/.config/zellij directory in your system, and then populate it with a config.kdl file. This file hosts the entire configuration of your Zellij installation and is provided in the official website (as well as in this repository)the installation.

The only change I made in this configuration file was to change the color theme for "solarized-dark", which mathces pretty well with Solarized-Osaka, which is my favorite colorscheme for everything. You can do this by uncommenting the "theme" line and then setting it to "solarized-dark":

theme "solarized-dark"

The screenshot below shows how my Zellij installation looks like in my Alacritty:

Neovim Installation and Setup (with LazyVim)

I use Neovim as my text editor of choice. To put it in pair with modern IDEs, I also use LazyVim as my distribution of choice. It is fast, minimal, and uses Lazy, which is my favorite package manager for Neovim.

Personally I use PPAs for installing Neovim, since it is a more straightforward installation process than building it from source or using Snapcraft (which I do not like). You can either install it's stable or unstable versions. I prefer using the unstable version since most of the Neovim's packages and distributions only supports recent versions of the editor.

You can use one of the options below:

sudo add-apt-repository ppa:neovim-ppa/stable -y

# OR

sudo add-apt-repository ppa:neovim-ppa/unstable -y

# THEN

sudo apt update && sudo apt install neovim

After installing Neovim, create the ~/.config/nvim directory and then install LazyVim following the installation instructions in their official website. The copy my /nvim/lua files and then replace the same folder in your installation.

The main customizations I did were:

  • Installed the Solarized-Osaka colorscheme.
  • Installed telescope.nvim for fuzzy finding files.
  • Installed neo-tree.nvim for exploring project files.
  • Installed transparent.nvim for making neo-tree.nvim transparent.
  • Configured mason-lspconfig to ensure the following web servers are installed and properly configured:
    • lua_ls
    • html
    • tailwindcss
    • ts_ls (javascript and typescript)
    • pyright (for static type checking)
    • docker_compose_language_service
    • dockerls
  • Configured nvim-lint for the following linters:
    • eslint_d (javascript and typescript)
    • pylint (python)
  • Configured conform.nvim for the following opinionated formatters:
    • stylya (lua)
    • black (python)
    • prettier, prettierd (javascript and typescript)

There are some additional configurations I made, such as some new keymaps and autocmds, all of them for executing and/or modifying some of the packages listed above. Feel free to check them in the ~/.config/nvim/lua/config/ directory and modify them based on your needs.

The screenshot below shows my LazyVim setup after it's initialization in my Alacritty terminal emulator:

About

Dot files for reproducing my HTML, JS/TS, TailwindCSS, MATLAB, and Docker developing environment with Alacritty + LazyVim.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages