# 这个文件提供了一个通用函数,用于创建nixosSystem { # 创建nixosSystem的通用函数 # 这个函数只负责创建nixosSystem,不处理nixpkgs的选择 # args: 从flake.nix传递的所有参数 # profile: 要使用的nixpkgs (由profile的default.nix决定) # path: profile目录的路径 mkNixosSystem = { args, nixpkgs, path }: let # 获取profile名称(目录名) profile = builtins.baseNameOf path; specialArgs = args // { hostname = profile; }; # 添加hostname in nixpkgs.lib.nixosSystem { system = "x86_64-linux"; inherit specialArgs; modules = [ # 导入configuration.nix模块,其中包含了实际的配置 "${path}/configuration.nix" ]; }; }