Here's my NixOS/home-manager config files. Requires Nix flakes.
Looking for something simpler to start out with flakes? Try my starter config repo.
flake.nix
: Entrypoint for hosts and home configurations. Also exposes a devshell for boostrapping (nix develop
).hosts
: System-wide configuration for my machines. Accessible vianixos-rebuild --flake
.atlas
: Desktop PC - 32GB RAM, R5 3600x, RX 5700XT | Swaypleione
: Lenovo Ideapad 3 - 8GB RAM, R7 5700u | Swaymerope
: Raspberry Pi 4 - 8GB RAM | Servermaia
: Gf's PC - 16GB RAM, i5 6600, GTX 970 | GNOME
users
: Home-manager configurations for my user(s). Acessible viahome-manager --flake
misterio
: That's me!layla
: My sweet sweet girl
modules
: A few modules i have for personal use.overlays
: Patches and version overrides for some packages. Accessible vianix build
.pkgs
: My custom packages. Also accessible vianix build
. You can compose these into your own configuration by using my flake's overlay or through NUR.templates
: A couple project templates for different languages. Accessible vianix init
.
This is hardware specific and can easily be changed by switching out hardware-configuration.nix
files.
All my computers use a single btrfs (encrypted on all except headless systems) partition, with subvolumes for /nix
, a /persist
directory (which I opt in using impermanence
), swap file, and a root subvolume (cleared on every boot).
Home-manager is used in a standalone way, and because of opt-in persistence is activated on every boot with loginShellInit
.
All you need is bash, nix, and git. Just nix develop
, and you should be good to go.
nixos-rebuild --flake .
To build system configuration
home-manager --flake .
To build user configuration
On my desktop and laptop, I use pass
for managing passwords, which are encrypted using PGP together with a YubiKey. I use this same PGP keychain for SSH, so secrets are easy to grab from a fresh host.
Secrets on my headless pi (merope) are stored on the persist directories (usually /srv
), I don't bother managing them since they're easily rotated if needed.
That's how my sway setups (desktop and laptop) look like.
If you're interested in my WM configurations, they're managed by home-manager and are located at users/misterio/home/desktop-sway
.