{ description = "My NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nur.url = "github:nix-community/NUR"; home-manager = { url = "github:nix-community/home-manager?ref=release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; homeage = { url = "github:jordanisaacs/homeage"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; }; outputs = { nixpkgs , nixpkgs-unstable , home-manager , homeage , agenix , nur , nixos-hardware , ... }: { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt; nixosConfigurations.pim = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ { nixpkgs.overlays = [ nur.overlay (final: _prev: { unstable = import nixpkgs-unstable { inherit system; config.allowUnfree = true; }; }) ]; } ./nixos agenix.nixosModules.default nixos-hardware.nixosModules.lenovo-thinkpad-x260 home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.pim = { imports = [ ./home-manager homeage.homeManagerModules.homeage ]; }; } ]; }; }; }