Clean up support code for Home Manager as a submodule

This removes the `nixosSubmodule` option in favor of a new option
`submoduleSupport.enable`. This name better indicates that the
submodule mode applies to both NixOS and nix-darwin.

(cherry picked from commit 2f372ab4d6)
This commit is contained in:
Robert Helgesson 2019-02-09 15:08:16 +01:00
parent 75538973db
commit 1c3614cbc8
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
5 changed files with 25 additions and 19 deletions

View file

@ -0,0 +1,19 @@
{ lib, ... }:
with lib;
{
meta.maintainers = [ maintainers.rycee ];
options.submoduleSupport = {
enable = mkOption {
type = types.bool;
default = false;
internal = true;
description = ''
Whether the Home Manager module system is used as a submodule
in, for example, NixOS or nix-darwin.
'';
};
};
}

View file

@ -3,9 +3,6 @@
# Whether to enable module type checking. # Whether to enable module type checking.
, check ? true , check ? true
# Whether these modules are inside a NixOS submodule.
, nixosSubmodule ? false
}: }:
with lib; with lib;
@ -33,6 +30,7 @@ let
(loadModule ./misc/nixpkgs.nix { }) (loadModule ./misc/nixpkgs.nix { })
(loadModule ./misc/pam.nix { }) (loadModule ./misc/pam.nix { })
(loadModule ./misc/qt.nix { }) (loadModule ./misc/qt.nix { })
(loadModule ./misc/submodule-support.nix { })
(loadModule ./misc/version.nix { }) (loadModule ./misc/version.nix { })
(loadModule ./misc/xdg.nix { }) (loadModule ./misc/xdg.nix { })
(loadModule ./programs/afew.nix { }) (loadModule ./programs/afew.nix { })
@ -129,17 +127,10 @@ let
modules = map (getAttr "file") (filter (getAttr "condition") allModules); modules = map (getAttr "file") (filter (getAttr "condition") allModules);
pkgsModule = { pkgsModule = {
options.nixosSubmodule = mkOption {
type = types.bool;
internal = true;
readOnly = true;
};
config._module.args.baseModules = modules; config._module.args.baseModules = modules;
config._module.args.pkgs = lib.mkDefault pkgs; config._module.args.pkgs = lib.mkDefault pkgs;
config._module.check = check; config._module.check = check;
config.lib = import ./lib { inherit lib; }; config.lib = import ./lib { inherit lib; };
config.nixosSubmodule = nixosSubmodule;
config.nixpkgs.system = mkDefault pkgs.system; config.nixpkgs.system = mkDefault pkgs.system;
}; };

View file

@ -32,7 +32,7 @@ in
}; };
}; };
config = mkIf (cfg.enable && !config.nixosSubmodule) { config = mkIf (cfg.enable && !config.submoduleSupport.enable) {
home.packages = [ home.packages = [
(import ../../home-manager { (import ../../home-manager {
inherit pkgs; inherit pkgs;

View file

@ -7,12 +7,10 @@ let
cfg = config.home-manager; cfg = config.home-manager;
hmModule = types.submodule ({name, ...}: { hmModule = types.submodule ({name, ...}: {
imports = import ../modules/modules.nix { imports = import ../modules/modules.nix { inherit lib pkgs; };
inherit lib pkgs;
nixosSubmodule = true;
};
config = { config = {
submoduleSupport.enable = true;
home.username = config.users.users.${name}.name; home.username = config.users.users.${name}.name;
home.homeDirectory = config.users.users.${name}.home; home.homeDirectory = config.users.users.${name}.home;
}; };

View file

@ -7,12 +7,10 @@ let
cfg = config.home-manager; cfg = config.home-manager;
hmModule = types.submodule ({name, ...}: { hmModule = types.submodule ({name, ...}: {
imports = import ../modules/modules.nix { imports = import ../modules/modules.nix { inherit lib pkgs; };
inherit lib pkgs;
nixosSubmodule = true;
};
config = { config = {
submoduleSupport.enable = true;
home.username = config.users.users.${name}.name; home.username = config.users.users.${name}.name;
home.homeDirectory = config.users.users.${name}.home; home.homeDirectory = config.users.users.${name}.home;
}; };