NixOS and home-manager configuration files.
Inspired from:
- For the system-level/home-level separation: https://gvolpe.com/blog/xmonad-polybar-nixos/ and https://github.com/gvolpe/nix-config/
- For the use of Mozilla SOPS for file-level encryption: https://github.com/cole-mickens/nixcfg
After editing files, run:
$ sudo cp -r system/* /etc/nixos
$ sudo nixos-rebuild switch --repair --upgradesystem
├── configuration.nix
├── emacs.nix
├── fonts.nix
├── machine
│ └── pulsedemon.nix
├── overlays-compat
│ └── overlays.nix
├── services.nix
├── users.nix
└── wm
└── i3.nix
configuration.nixis the main file. It imports everything else, includinghardware-configuration.nix. The latter is autogenerated during NixOS installation as a result of the hardware scan. It's machine-dependent, saved in/etc/nixosduring installation, and not kept under version control.emacs.nixdefines my overridden version of Emacs.fonts.nixcontains the configuration of the fonts and the list of font packages to install.machine/contains machine-dependent configuration of global options, including hardware (e.g.pulseaudio) and services (e.g.bolt).overlays-compat/overlays.nix: a way of Usingnixpkgs.overlaysfromconfiguration.nixas<nixpkgs-overlays>in myNIX_PATH. See here: https://tinyurl.com/hb7v8hnfservices.nixconfigures services that I would like to have available on all machines I use. For example,borgbackupandthermald.users.nixdefines the user(s) and their groups.wm/contains configurations for display, desktop, and window managers. At the moment only the configuration fori3is available.