{ description = "System Flake"; inputs = { nixpkgs.url = "github:NixOs/nixpkgs/nixos-25.05"; home-manager = { url = "github:nix-community/home-manager/release-25.05"; # The `follows` keyword in inputs is used for inheritance. # Here, `inputs.nixpkgs` of home-manager is kept consistent with # the `inputs.nixpkgs` of the current flake, # to avoid problems caused by different versions of nixpkgs. inputs.nixpkgs.follows = "nixpkgs"; }; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; }; outputs = { self, nixpkgs, home-manager, ... }@inputs: let overlays = [ inputs.neovim-nightly-overlay.overlays.default ]; in { nixosConfigurations.xps13 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit overlays; }; modules = [ { nixpkgs.overlays = overlays; } ./configuration.nix home-manager.nixosModules.home-manager { # home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.sharedModules = [ {nixpkgs.overlays = overlays;} ]; home-manager.users.th3r00t = import ./home.nix; # Optionally, use home-manager.extraSpecialArgs to pass arguments to home.nix } ]; }; }; }