{ description = "My NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nur.url = "github:nix-community/NUR"; home-manager = { url = "https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz"; 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 ]; }; } ]; }; }; }