{ description = "NixOS System Config"; inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland"; home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; lanzaboote.url = "github:nix-community/lanzaboote"; lanzaboote.inputs.nixpkgs.follows = "nixpkgs"; nur.url = "github:nix-community/NUR"; sops-nix.url = "github:Mic92/sops-nix"; doom-emacs.url = "github:nix-community/nix-doom-emacs"; }; outputs = { self, nixpkgs, nixpkgs-wayland, home-manager, lanzaboote, nur, sops-nix, doom-emacs, ... }@inputs: let inherit (self) outputs; stateVersion = "unstable"; hmStateVersion = "23.11"; libx = import ./lib { inherit inputs outputs stateVersion hmStateVersion; }; in { nixosConfigurations = { nixos-laptop = libx.mkHost { hostname = "nixos-laptop"; username = "albert"; desktop = "hyprland"; gpu = "intel"; theme = "gruvbox"; }; nixos-desktop = libx.mkHost { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; gpu = "nvidia"; theme = "gruvbox"; }; }; homeConfigurations = { "albert@nixos-laptop" = libx.mkHome { hostname = "nixos-laptop"; username = "albert"; desktop = "hyprland"; theme = "gruvbox"; }; "albert@nixos-desktop" = libx.mkHome { hostname = "nixos-desktop"; username = "albert"; desktop = "gnome"; theme = "gruvbox"; }; }; }; }