{ description = "Price Hiller's flake for managing system configurations"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; impermanence = { url = "github:nix-community/impermanence"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs @ { self, nixpkgs, impermanence, agenix, ... }: let inputs.secrets = ./secrets; defaults = { config = { environment.persistence = { "/nix/persist" = { hideMounts = true; directories = [ "/var/lib" "/var/log" "/etc/nixos" "/opt" "/persist" ]; files = [ "/etc/machine-id" "/etc/nix/id_rsa" ]; }; }; age.identityPaths = [ "/persist/nix.key" ]; }; }; in { nixosConfigurations.orion = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; modules = [ defaults ./hosts/orion impermanence.nixosModules.impermanence agenix.nixosModules.default ]; }; nixosConfigurations.luna = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; modules = [ defaults ./hosts/luna impermanence.nixosModules.impermanence agenix.nixosModules.default ]; }; }; }