{ 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"; }; modules = [ # adding unstable overlay ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable nvidia-patch.overlays.default ]; }) ./system/drivers/shitvidia-patch.nix ./configuration.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; } ]; }; }; }