NixOS + nix-darwin + home-manager for my machines. flake-parts, with every file under
modules/ imported automatically by import-tree.
| Host | Machine | Users |
|---|---|---|
desktop |
nvidia workstation | coukou, coukou-work |
xps13 |
intel laptop | coukou |
macbook |
aarch64 Darwin laptop | coukou |
sudo nixos-rebuild switch --flake .#desktop # or .#xps13
nixos-rebuild build --flake .#xps13 # dry run, no activation
nix build .#darwinConfigurations.macbook.system
nix flake check # evaluate everything
nix fmt # nixpkgs-fmt + shfmt
nix flake update # bump inputsNew files are invisible to the flake until they are git added.
assets/ Static files consumed by modules (wallpapers)
modules/
base.nix Baseline for every host and every user
options.nix Custom myConfig.* options
overlays.nix All nixpkgs overlays, exposed as flake.overlays.default
utils.nix mkNixos, mkDarwin, mkNvim, mkNativeWebapp
system/ Boot, networking, greeter, virtualisation
hardware/ Per-device enablement (bluetooth, nvidia, tablet, keyboard)
desktop/ Compositors and look-and-feel (niri, hyprland, theming)
apps/ Software bundles, including the neovim config under apps/nvim
profiles/ Aggregates of the above, imported by hosts
users/ One module per user account
packages/ Flake package outputs (nix build .#nvim)
hosts/ One directory per machine
systems/ Local flake pinning the supported system list
Conventions for editing this repo are in AGENTS.md.