git.delta.rocks / jrsonnet / refs/commits / 749ed81d4aac

difftreelog

feat pass flake inputs to nixos config args

Yaroslav Bolyukin2024-09-04parent: #76e09f9.patch.diff
in: trunk

2 files changed

modifiedlib/flakePart.nixdiffbeforeafterboth
--- a/lib/flakePart.nix
+++ b/lib/flakePart.nix
@@ -60,10 +60,10 @@
                 }
               ];
             specialArgs = {
+              inherit inputs;
               fleetLib = import ../lib {
                 inherit (bootstrapNixpkgs) lib;
               };
-              inputs = inputs;
             };
           };
         in
modifiedmodules/nixos.nixdiffbeforeafterboth
after · modules/nixos.nix
1{2  lib,3  fleetLib,4  inputs,5  config,6  ...7}: let8  inherit (lib.attrsets) mapAttrs;9  inherit (lib.options) mkOption;10  inherit (lib.types) deferredModule;11  inherit (lib.modules) mkRemovedOptionModule;12  inherit (fleetLib.options) mkHostsOption;1314  _file = ./nixos.nix;15in {16  options = {17    nixos = mkOption {18      description = ''19        Nixos configuration for all hosts.20      '';21      type = deferredModule;22    };23    hosts = mkHostsOption (hostArgs: {24      inherit _file;25      options = {26        nixos = mkOption {27          description = ''28            Nixos configuration for the current host.29          '';30          type = deferredModule;31          apply = module:32            config.nixpkgs.buildUsing.lib.nixosSystem {33              inherit (hostArgs.config) system;34              modules = [35                (module // {key = "attr<host.nixos>";})36                (config.nixos // {key = "attr<fleet.nixos>";})37              ];38              specialArgs = {39                inherit fleetLib inputs;40              };41            };42        };43      };44      config = {45        # imports = [46        #   (mkRemovedOptionModule ["nixosModules"] "replaced with hosts.*.nixos.imports.")47        # ];48        nixos = {49          config._module.args = {50            nixosHosts = mapAttrs (_: value: value.nixos.config) config.hosts;51            hosts = config.hosts;52            host = hostArgs.config;53          };54        };55      };56    });57  };58  imports = [59    (mkRemovedOptionModule ["nixosModules"] "replaced with nixos.imports.")60  ];61  config.nixos.imports =62    import ./nixos/module-list.nix;63}