{ description = "luodh 的 NixOS 终极配置"; # 输入(也就是原材料供应链) inputs = { # 主力系统使用稳定版,保证系统底盘绝对安全不出错 nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; # 额外引入 unstable 分支,专门用来提取最新软件 nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; # 引入 Home Manager (与系统稳定版对应) home-manager = { url = "github:nix-community/home-manager/release-26.05"; inputs.nixpkgs.follows = "nixpkgs"; }; plasma-manager = { url = "github:nix-community/plasma-manager"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; spicetify-nix = { url = "github:Gerg-L/spicetify-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; }; # 输出(最终建成的系统) outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, plasma-manager, noctalia, ... }@inputs: { nixosConfigurations = { "nixos" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; # 将 unstable 打包成 pkgs-unstable 注入系统模块 specialArgs = { inherit inputs; pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; }; modules = [ # 1. 引入系统底层的硬件和全局配置 ./configuration.nix # 二进制缓存加速 { nix.settings = { substituters = [ "https://noctalia.cachix.org" ]; trusted-public-keys = [ "noctalia.cachix.org-1:pCOR47nnMEo5thcxNDtzWpOxNFQsBRglJzxWPp3dkU4=" ]; }; } # 2. 把 Home Manager 作为系统模块请进来 home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; # 同样将 pkgs-unstable 注入给 Home Manager 模块 home-manager.extraSpecialArgs = { inherit inputs; pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; }; home-manager.sharedModules = [ plasma-manager.homeModules.plasma-manager inputs.spicetify-nix.homeManagerModules.default noctalia.homeModules.default ]; # ⚠️ 极其重要:把这里的 "luodh" 替换成你在 NixOS 里登录的实际系统用户名 home-manager.users.luodh = import ./home.nix; } ]; }; }; }; }