{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; stylix = { url = "github:danth/stylix/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { url = "git+ssh://forgejo@forgejo.005540.xyz/logistic-bot/nixvim"; }; river-shifttags = { url = "git+ssh://forgejo@forgejo.005540.xyz/logistic-bot/river-shifttags"; inputs.nixpkgs.follows = "nixpkgs"; }; breezex-cursor = { url = "git+ssh://forgejo@forgejo.005540.xyz/logistic-bot/breezex-cursor"; inputs.nixpkgs.follows = "nixpkgs"; }; cassowary = { url = "git+ssh://forgejo@forgejo.005540.xyz/logistic-bot/cassowary"; inputs.nixpkgs.follows = "nixpkgs"; }; other-transcode = { url = "github:logistic-bot/other_video_transcoding_nix"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-doom-emacs-unstraightened = { url = "github:marienz/nix-doom-emacs-unstraightened"; inputs.nixpkgs.follows = "nixpkgs"; }; copyparty.url = "github:9001/copyparty"; optnix.url = "github:water-sucks/optnix"; starship-jj.url = "gitlab:lanastara_foss/starship-jj"; scansnapit.url = "git+ssh://forgejo@forgejo.005540.xyz/logistic-bot/scansnapit"; }; outputs = { nixpkgs, nixpkgs-unstable, home-manager, stylix, nixvim, river-shifttags, breezex-cursor, other-transcode, nix-doom-emacs-unstraightened, cassowary, copyparty, optnix, starship-jj, scansnapit, ... }: let system = "x86_64-linux"; home-manager-args = { nixvim = nixvim.packages.${system}.default; river-shifttags = river-shifttags.packages.${system}.default; breezex-cursor = breezex-cursor.packages.${system}.default; kitty-unstable = nixpkgs-unstable.legacyPackages.${system}.kitty; other-transcode = other-transcode.packages.${system}.default; nix-doom-emacs-unstraightened = nix-doom-emacs-unstraightened.hmModule; cassowary = cassowary.packages.${system}.default; pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; starship-jj = starship-jj.packages.${system}.default; scansnapit = scansnapit.packages.${system}.default; }; in { nixosConfigurations.void = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./void.nix home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.khais = ./home.nix; extraSpecialArgs = home-manager-args; }; } stylix.nixosModules.stylix ./stylix.nix copyparty.nixosModules.default ({...}: { # add the copyparty overlay to expose the package to the module nixpkgs.overlays = [copyparty.overlays.default]; }) ]; specialArgs = { pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; breezex-cursor = breezex-cursor.packages.${system}.default; inherit optnix home-manager; }; }; nixosConfigurations.t470 = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./t470.nix home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.khais = ./home.nix; extraSpecialArgs = home-manager-args; }; } stylix.nixosModules.stylix ./stylix.nix ]; specialArgs = { pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; breezex-cursor = breezex-cursor.packages.${system}.default; inherit optnix home-manager; }; }; }; }