These are my dotfiles. I hope you find something interesting and useful in here!
As you can tell from the sidebar, I use nix to do all the heavy lifting,
including home-manager
for managing dotfiles and the like. Shared
system configuration lives in ./configuration.nix
while shared home configuration lives in ./home.nix
.
Host-specific configurations each live in their respective subdirectory of
./hosts/
. On the local clone on each host, I create a symlink
called ./hosts/current
which links to that host's configuration directory
(this symlink is ignored by .gitignore
).
The current
config is automatically imported by the shared home or system
configuration, so "installing" my configs is a simple matter of linking
./configuration.nix
to /etc/nixos/configuration.nix
and/ or linking
./home.nix
to ~/.config/nixpkgs/home.nix
and running the appropriate
{nixos-rebuild,home-manager} switch
command.
I'm always open to new ideas, so if there's a cool vim hack or i3 trick you think would work well in this ecosystem, please submit a pull request! I'm always open to new ideas.
MIT license; go to town. See LICENSE and opensource.org for more details.