{ description = "S41UC0 Nix Configurations"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; lanzaboote = { url = "github:nix-community/lanzaboote/v1.1.0"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, nixpkgs, home-manager, lanzaboote, ... }: let filter = with nixpkgs.lib; folder: fileset.toList (fileset.fileFilter (file: hasSuffix "nix" file.name) folder); nixosConfig = name: nixpkgs.lib.nixosSystem { modules = [ lanzaboote.nixosModules.lanzaboote ./modules/nixos ./devices/${name} ./users/strix ]; specialArgs = { inherit inputs filter home-manager lanzaboote ; }; }; in { nixosConfigurations.p14s = nixosConfig "p14s"; apps.x86_64-linux.default = { type = "app"; program = toString ( nixpkgs.legacyPackages.x86_64-linux.writeShellScript "rebuild" '' exec sudo nixos-rebuild switch --flake . "$@" '' ); }; apps.x86_64-linux.registerDevice = { type = "app"; program = toString ( nixpkgs.legacyPackages.x86_64-linux.writeShellScript "rebuild" '' [ -d ./devices/$HOST ] && exit 1 mkdir -p ./devices/$HOST nixos-generate-config --show-hardware-config > ./devices/$HOST/hardware-config.nix cat>./devices/$HOST/default.nix<