diff --git a/CHANGELOG.md b/CHANGELOG.md index 27c7c59..d99e522 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ * Add support for `nix profile` managed profiles * Add possibilty to bootstrap Nix-on-Droid with flakes via prompt on initial boot +* Fix usage of `extraSpecialArgs`: All values were previously set in + `_module.args` instead of passing them as `specialArgs` into `evalModules`. + This enables usage of `specialArgs` to use in `imports` in module defintions. ## Release 22.05 diff --git a/modules/default.nix b/modules/default.nix index d1396a7..c94f30b 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,4 +1,4 @@ -# Copyright (c) 2019-2020, see AUTHORS. Licensed under MIT License, see LICENSE. +# Copyright (c) 2019-2022, see AUTHORS. Licensed under MIT License, see LICENSE. { config ? null , extraModules ? [ ] @@ -18,20 +18,11 @@ let else if builtins.pathExists defaultConfigFile then defaultConfigFile else pkgs.config.nix-on-droid or (throw "No config file found! Create one in ~/.config/nixpkgs/nix-on-droid.nix"); + nodModules = import ./module-list.nix { inherit pkgs home-manager-path isFlake; }; + rawModule = evalModules { - modules = [ - { - _module.args = - { - inherit home-manager-path isFlake; - pkgs = mkDefault pkgs; - } - // extraSpecialArgs; - } - configModule - ] - ++ extraModules - ++ import ./module-list.nix { inherit pkgs isFlake; }; + modules = [ configModule ] ++ extraModules ++ nodModules; + specialArgs = extraSpecialArgs; }; failedAssertions = map (x: x.message) (filter (x: !x.assertion) rawModule.config.assertions); diff --git a/modules/module-list.nix b/modules/module-list.nix index a99d4f8..ac7575f 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -1,6 +1,6 @@ -# Copyright (c) 2019-2021, see AUTHORS. Licensed under MIT License, see LICENSE. +# Copyright (c) 2019-2022, see AUTHORS. Licensed under MIT License, see LICENSE. -{ pkgs, isFlake }: +{ pkgs, home-manager-path, isFlake }: [ ./build/activation.nix @@ -22,4 +22,12 @@ ./user.nix ./version.nix (pkgs.path + "/nixos/modules/misc/assertions.nix") + + { + _file = ./module-list.nix; + _module.args = { + inherit home-manager-path isFlake; + pkgs = pkgs.lib.mkDefault pkgs; + }; + } ] ++ pkgs.lib.optionals (!isFlake) [ ./nixpkgs/config.nix ]