My configs for both nixos and home manager only machines
Find a file
Gabe Venberg 48c60629ab Restic: made modular backup declerations.
Required tree-wide re-wiring of the host option.
Now, rather than each host having a monolithic restic.nix file,
the hosts restic.nix file just specifies the password and url of the
restic repository. Eatch module then definies specific paths to backup
and any pre and post commands that need to be performed.
Each backed up service gets an independent systemd backup service and
timer.
2025-04-13 15:27:25 +02:00
configs Restic: made modular backup declerations. 2025-04-13 15:27:25 +02:00
hosts Restic: made modular backup declerations. 2025-04-13 15:27:25 +02:00
lib Restic: made modular backup declerations. 2025-04-13 15:27:25 +02:00
modules Restic: made modular backup declerations. 2025-04-13 15:27:25 +02:00
packages Restic: made modular backup declerations. 2025-04-13 15:27:25 +02:00
roles Restic: made modular backup declerations. 2025-04-13 15:27:25 +02:00
templates ran formatter. 2025-02-25 12:49:21 +01: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 flake update. 2025-03-30 14:19:34 +02:00
flake.nix Restic: made modular backup declerations. 2025-04-13 15:27:25 +02:00
justfile ran formatter. 2025-02-25 12:49:21 +01: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.