my dotfiles, managed by Nix
0BSD License
My dotfiles, as managed by Nix, now with 100% more flakes.
sudo nixos-rebuild switch --flake path/to/this/repo#machinename
Note that you must have one of my PGP private keys to decrypt secrets, so this setup isn't directly usable for people who aren't me. You should be able to use this repo as a reference to build your own configuration though if you're interested in using flakes to manage all configuration.
flake.nix
- the main configuration entrypoint for NixOS machines
home.nix
flake.lock
- lockfile for all flake dependencies, so that builds areusers/michael.nix
- the home-manager
sway
, editors and browsers, etc.users/root.nix
is much thinner, it's just git config for root.git-crypt
and .gitattributes
control which directories get encryptedgit-crypt
, allowing me to host secrets in a public repodefaults/
contains configuration on a per-program basis
home.nix
modules/common.nix
is common NixOS configuration shared between machinesmachines/
contains directories for each NixOS machine I have with an overallconfiguration.nix
module and a hardware-specifichardware-configuration.nix
module
mango
and mango2
are custom-built desktop machinescolorschemes/
has program-specific color schemes setup as nix attributedarwin/
darwin (MacOS) home-manager configurationtmpfs
home-manager
integration so I have to be specific aboutusers/michael.nix
for the/boot
)
sway
Using the nix profile
command to install flakes is imperative and not
reproducible across machines. I use it for anything I hack on, like
helix where I'll make a fork,
add a flake.nix
if it's missing, and install it into the profile,
making sure to push any branches of consequence.