difftreelog
feat pass flake inputs to nixos config args
in: trunk
2 files changed
lib/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
modules/nixos.nixdiffbeforeafterboth1{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}