Stow is used to manage the dotfiles
To install:
stow --target=$HOME --restow */
To remove:
stow --target=$HOME --delete */
To adopt a new file <new file>
into an existing stow <package>
touch <package>/<path-to-new-file>/<new-file>
stow --adopt --target=$HOME -nv <package>
First we need to notify stow
of the new file by creating an empty plain-text file in the package, that maps to the file we're adopting. Othwerwise, stow will not identify it as a package to adopt. The second command will identify files to adopt and move / link them to the dotfiles repository. This is very useful when moving files into the version control system.
ripgrep
:brew install ripgrep
. Used bytelescope.nvim
to recursively search for (grep) text in files accross directoriesnode
/npm
:brew install node
. Required bymason.nvim
when installingpyright
(python language server)
- Install patched version of Menlo font: MesloLGMDZ Mono Nerd Font (found here)
- Menslo NF is a patched font of Menlo (includes glyphs and icons), which is the standard font used by Apple for the developer tools.
- To better understand the font, read the doc. The gist of it is that LG stands for line gap (vertical), and the font has 3 sizes: S, M, and L. The font also comes with dotted zero (DZ) or not. Finally, you can choose between Regular, Mono (monospaced, for terminals and code editors) and Propo (proportional)
- My preference is for a medium line gap, dotted zero and monospaced, hence I only install the MesloLGMDZ Nerd Font Mono font family.
Manually install 3rd party plugins:
$ cd $XDG_DATA_HOME/nvim/mason/packages/python-lsp-server
$ source venv/bin/activate
$ pip install pylsp-mypy pylsp-rope python-lsp-ruff
$ deactivate
A fun TODO would be to enable Mason to auto-install these packages automatically
- Devcontainer Setup
- Figure out how to inject nix and zsh features via cli
- Create custom "dc" command
dc build
: Alias devcontainer creation to inject dotfilesdc up
: Alias devcontainer updc attach
: Alias devcontainer exec $SHELL etc etc
- 0 timeout on pressing escape
- Setup debugging (using docker)
- Replicate LazyVim keybindings (and groups for which-key)
- Setup proper dotfiles repo
- iTerm2, enable mouse reporting see here, make sure it sticks
- noice.nvim
- smart-splits.nvim
- SmoothCursor.nvim
- neoscroll.nvim
- nvim-notify
- replace illuminate with vim highlighter?