/dotfiles

My dotfiles, managed with chezmoi

Primary LanguageNixGNU General Public License v3.0GPL-3.0

dotfiles

These are my dotfiles. I manage them with chezmoi and Nix Home Manager. chezmoi is a simple but flexible Git-based dotfiles tool. nix is a package manager, configuration and programming language and OS. I use it with the Home Manager project to be able to use recent versions of the terminal tools I love, anywhere, regardless of OS, and completely native, i.e. no VMs or OCI containers.

Some of the tools I manage with these config files are:

  • neovim, a powerful fully-featured IDE that runs in the terminal. I use a very close to vanilla LazyVim and am very happy with its ease of use and documentation
  • kanshi, which I used in combination with SwayWM to manage external displays on my laptop.
  • gitui and lazygit. I initially used gitui, but due to a problem with SSH keys, I moved to lazygit, which I have been using with completely default setup so far.
  • tmux. I customised some bindings to harmonize them with LazyVim and added a tokyo-night theme using Tmux Plugin Manager
  • zsh with a simple oh-my-zsh config

Install

Make sure you have git installled. Then install chezmoi, pull and apply the latest version of these dotfiles with a single command:

GITHUB_USERNAME=fhoekstra
git --version && sh -c "$(curl -fsLS get.chezmoi.io/lb)" -- init --apply $GITHUB_USERNAME

Then, install Nix:

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

Finally, install home-manager:

nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
nix-channel --update
nix-shell '<home-manager>' -A install