{ description = "Strix nix flake"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; # current supported nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; # unstable branch for newer packages nixpkgs-last.url = "nixpkgs/nixos-24.05"; # one branch before the current one home-manager = { url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; nvidia-patch = { url = "github:icewind1991/nvidia-patch-nixos"; inputs.nixpkgs.follows = "nixpkgs"; }; dttyper.url = "git+https://git.4o1x5.dev/4o1x5/dttyper"; romodoro.url = "git+https://git.4o1x5.dev/4o1x5/romodoro"; neo2005.url = "git+https://git.4o1x5.dev/4o1x5/neo2005"; }; outputs = { self, nixpkgs, home-manager, nixpkgs-unstable, nixpkgs-last, nvidia-patch, dttyper, romodoro, neo2005, ... }@inputs: let system = "x86_64-linux"; overlay-unstable = final: prev: { unstable = nixpkgs-unstable.legacyPackages.${prev.system}; last = nixpkgs-last.legacyPackages.${prev.system}; }; in { nixosConfigurations.strix = nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inputs = inputs; user = "grape"; # Must be absolute path with no / at the end dotfilepath = "/home/grape/dotfiles"; }; modules = [ # adding unstable overlay ( { config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable nvidia-patch.overlays.default ]; } ) home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; } ./hosts/strix/configuration.nix ]; }; nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inputs = inputs; user = "peach"; dotfilepath = "/home/peach/dotfiles"; }; modules = [ ( { config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; } ) home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; } ./hosts/thinkpad/configuration.nix ]; }; }; }