Find a file
2023-06-03 18:05:10 +09:00
hosts feat: Wrote README improving folder structure otw 2023-06-03 18:05:10 +09:00
modules chore: added hyprland keybind for suspend 2023-06-03 16:56:08 +09:00
nix feat: Wrote README improving folder structure otw 2023-06-03 18:05:10 +09:00
secrets fix: switched passwd encryption method to prevent user logout if agenix 2023-06-02 14:53:17 +09:00
users feat: Wrote README improving folder structure otw 2023-06-03 18:05:10 +09:00
.envrc feat: added direnv support 2023-05-22 20:35:29 +09:00
.gitignore feat: added direnv support 2023-05-22 20:35:29 +09:00
.luacheckrc Switched to new folder layout 2023-05-18 18:47:55 +09:00
flake.lock chore: system upgrade 2023-05-29 18:07:35 +09:00
flake.nix feat: Wrote README improving folder structure otw 2023-06-03 18:05:10 +09:00
README.md feat: Wrote README improving folder structure otw 2023-06-03 18:05:10 +09:00

Meine wundervolle nix config

Structure

  • hosts/ contain nixos configuration for hosts
    • common/ shared configuration modules
      • core/ base configuration shared on all machines
      • dev/ configuration enabling dev environment
      • graphical/ configuration for graphical environments
      • hardware/ configuration for hardware components
    • <hostname>/ configuration for hosts
      • default.nix Toplevel system definition
      • fs.nix file system definiton
      • net.nix network setup
      • secrets/ secrets local to this hosts
        • secrets.nix.age local secrets usable on deploy
        • host.pub host public key, needed for rekeying agenix secrets
  • modules/ extra nixos modules
    • secrets.nix module to enable deploy-time secrets
  • nix/ additional nix functions
    • checks.nix pre-commit checks
    • colmena.nix Setup for using colmena to deploy
    • devshell.nix Development shell
    • extra-builtins.nix Extra builtin plugin file to enable repository secrets
    • generate-node.nix logic to generate nodes for colmena
    • lib.nix additional library functions
  • secrets/ global secrets
    • <name>.key.pub public key handles to decrypt secrets using yubikey
    • recipients.txt rage recipient file for encrypting secrets
      • currently containing both yubikeys and a rage backup key
    • secrets.nix.age global secrets available at deploy
  • users/ home manager user configuration
    • common/ shared home-manager modules
      • graphical/ configuration for graphical programs
      • programs/ configuration for miscellaneous programs
      • shells/ configuration for shells
      • impermanence.nix hm-impermanence setup for users
      • default.nix minimal setup for all users
      • interactive.nix minimal setup for interactive users on a command line
      • graphical.nix configuration for users utilizing a graphical interface
    • <username>/ configuration for users
      • impermanence.nix users persistence configuration

Hosts

  • patricknix my main laptop

Users

  • patrick my normal everyday unprivileged user
  • root root user imported by every host

Flake structure

How-To

...TODO

Deploy

colmena apply --on <hostname>

If deploying from a host not containing the necessary nix configuration option append

--nix-option plugin-files "$NIX_PLUGINS"/lib/nix/plugins --nix-option extra-builtins-file ./nix/extra-builtins`