{ description = "NixOS System Config"; inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; # NixOS packages home-manager.url = "github:nix-community/home-manager/release-23.05"; # Manage dotfiles in a home directory home-manager.inputs.nixpkgs.follows = "nixpkgs"; lanzaboote.url = "github:nix-community/lanzaboote"; # Secureboot Configuration lanzaboote.inputs.nixpkgs.follows = "nixpkgs"; nur.url = "github:nix-community/NUR"; # Nix User Repository sops-nix.url = "github:Mic92/sops-nix"; # Encrypted secrets in Nix configuration files }; outputs = { self, nixpkgs, home-manager, lanzaboote, nur, sops-nix, ... }@inputs: let inherit (self) outputs; stateVersion = "unstable"; hmStateVersion = "23.05"; libx = import ./lib { inherit inputs outputs stateVersion hmStateVersion; }; in { nixosConfigurations = { nixos-laptop = libx.mkHost { hostname = "nixos-laptop"; username = "albert"; desktop = "hyprland"; graphics="intel" }; nixos-desktop = libx.mkHost { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; graphics="nvidia" }; }; homeConfigurations = { "albert@nixos-laptop" = libx.mkHome { hostname = "nixos-laptop"; username = "albert"; desktop = "hyprland"; }; "albert@nixos-desktop" = libx.mkHome { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; }; }; }; }