My configs for both nixos and home manager only machines
Go to file
Gabe Venberg e7ca693b77 added config for remote acess pi.
This pi will be used to acesss the offsite backup location through
tailscale and ssh.
2024-07-23 11:24:15 -05:00
configs added tailscale config. 2024-07-22 12:30:59 -05:00
hosts added config for remote acess pi. 2024-07-23 11:24:15 -05:00
lib abandoned systemd-dhcp module. 2024-06-20 17:48:23 -05:00
modules abandoned systemd-dhcp module. 2024-06-20 17:48:23 -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 added config for remote acess pi. 2024-07-23 11:24:15 -05:00
flake.nix added config for remote acess pi. 2024-07-23 11:24:15 -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.