My own personal dotfiles using Nix Flakes.
nixos-rebuild switch --flake ".#HOSTNAME"
home-manager switch --flake ".#USERNAME"
This flake provides several development shells which I use regularly. In combination with nix-direnv allows me to setup per project dependencies without messing project repositories.
Development shells can be stacked. For example, the following .envrc
enables
Elixir development, with Elixir and
Erlang versions pinned, plus
Wallaby runtime dependencies for
E2E Web testing:
use flake github:alvivi/dotfiles#elixir_1_13_4_erlang_24_3_4
use flake github:alvivi/dotfiles#elixir_wallaby