My configs for both nixos and home manager only machines
Go to file
Gabe Venberg 511b8332ed lockfile update and hetzner radicale server.
Hetzner server will eventually have other things on it.
2024-07-27 19:11:57 -05:00
configs lockfile update and hetzner radicale server. 2024-07-27 19:11:57 -05:00
hosts lockfile update and hetzner radicale server. 2024-07-27 19:11:57 -05:00
lib abandoned systemd-dhcp module. 2024-06-20 17:48:23 -05:00
modules lockfile update and hetzner radicale server. 2024-07-27 19:11:57 -05:00
packages Merge branch 'main' of ssh://git.venberg.xyz:7920/Gabe/nix-config 2024-06-18 18:07:18 -05:00
roles broke apart home laptop and desktop config. 2024-06-18 15:06:50 -05:00
templates removed useless and cargo-culted outputs inherrits. 2024-06-10 16:19:36 -05:00
.envrc start of a latepanda config. 2024-05-24 15:23:56 -05:00
.gitignore start of a latepanda config. 2024-05-24 15:23:56 -05:00
flake.lock lockfile update and hetzner radicale server. 2024-07-27 19:11:57 -05:00
flake.nix lockfile update and hetzner radicale server. 2024-07-27 19:11:57 -05:00
justfile password hash is now plain file in private repo. 2024-06-05 19:10:12 -05:00
LICENSE Initial commit 2024-03-24 01:38:27 +00:00
README.md made nix-secrets input comment-out-able. 2024-06-12 14:40:04 -05:00

nix-config

My configs for both nixos and home manager only machines

structure

.
├── flake.nix
├── configs
│   ├── home-manager
│   └── nixos
├── hosts
├── modules
│   ├── home-manager
│   └── hostopts.nix
├── roles
│   ├── home-manager
│   └── nixos
└── templates
  • Configs set options and specify programs to be installed. They do not specify their own options, and take effect as soon as they are imported. Generally, a config will be specific to a single program, and possibly optional dependecies of the main program.
  • Hosts define specific hosts. They are the entry point into the system. Each host must import configs/nixos/common.nix in the top level and configs/home-manager/common.nix in the home-manager block. Each host must also define the variables declared in modules/hostopts.nix.
  • Modules are always imported by the respective common.nix. They each have an enable option, and only have effects if enabled.
  • Roles are larger bundles of software and options. They define packages to be installed and may import configurations or enable modules.

Secrets

This repo uses nix-sops for secrets management, with the encrypted secrets being stored in a private repo imported as an input. if the nix-secrets input is commented out, the repo should still build, gracefully degrading to default, non-secret, values.