{ 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"; }; inputs.lanzaboote = { url = "github:nix-community/lanzaboote/v1.1.0"; inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs@{ self, nixpkgs, home-manager, ... }: let filter = with nixpkgs.lib; folder: fileset.toList (fileset.fileFilter (file: hasSuffix "nix" file.name) folder); nixosConfig = {modules ? []}: nixpkgs.lib.nixosSystem { modules = modules; specialArgs = { inherit inputs filter home-manager; }; }; in { nixosConfigurations.p14s = nixosConfig { modules = [ inputs.lanzaboote.nixosModules.lanzaboote ./devices/p14s ./styles/desktop.nix ]; }; 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<