My configs for both nixos and home manager only machines
				
			
		
				* flake.lock update, with code changes needed. * miniserve.rs static directory listing. * change from typst-ls to tinymist for typst lsp * deletion of hugo template. * change from self-built duckdns module to nixpkgs one.  | 
			||
|---|---|---|
| configs | ||
| hosts | ||
| lib | ||
| modules | ||
| packages | ||
| roles | ||
| templates | ||
| .envrc | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
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.nixin the top level andconfigs/home-manager/common.nixin the home-manager block. Each host must also define the variables declared inmodules/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.