A place for all my dotfiles and each one in its place.
curl -sfL https://git.io/JsiiF | sh
For the full setup guide, follow this.
Manage your dotfiles across multiple machines, securely
I use chezmoi to put all my dotfiles into place and make them work across different OS's.
JSON schema for ~/.config/chezmoi/chezmoi.json
is available here.
Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Share your development and build environments across different machines.
I use Nix (and home-manager) to manage my required packages. Things like neovim, tmux, git, etc. all get installed using nix and are configured by code.
Terminal | Tested OS | Managed config | Notes |
---|---|---|---|
Kitty - Preferred |
|
Yes |
|
Alacritty |
|
Yes |
|
Windows Terminal |
|
No |
|
Catppuccin theme for neovim, tmux, kitty, alacritty, etc.
asdf
is a great tool for managing multiple versions of the same software, e.g. node, yarn, etc. These work via plugins and it removes the overhead of thinking which version you need and changing to it - it just works. See the installation script for a list of used plugins.
To get ligature/italic font support there are a number of steps. You'll want to source a font like JetBrains Mono and install it. If you want icons you'll probably want the Nerd Fonts version.
For Linux systems which rely on the fonts in dot_local/share/fonts
the following script can be run to download the latest font files from Nerd fonts.
./dot_local/share/fonts/update-fonts
# Clean up the old font files
rm ~/.local/share/fonts/JetBrainsMonoNerdFont*
# Apply the new font files
chezmoi apply -v
fc-cache -r
N.B MacOS manages it's fonts through Homebrew.
Utility | Description |
---|---|
scoop | Windows version of homebrew |
xdg-open-wsl | Make things like vim's MarkdownPreview work |
sharpkeys | Remap individual keys - useful for HHKB on windows without messing with dip switches |
PowerToys | Nice tools, good for keyboard chord remapping |