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