fixup: distinguish self and userSelf

This commit is contained in:
David Arnold 2021-04-18 18:30:07 -05:00
parent 19c900e293
commit c24199649a
8 changed files with 40 additions and 38 deletions

View file

@ -1,4 +1,4 @@
{ lib, nixpkgs, self, inputs, ... }: { lib, nixpkgs, userSelf, inputs, ... }:
{ modules, ... } @ args: { modules, ... } @ args:
lib.nixosSystem (args // { lib.nixosSystem (args // {
@ -27,11 +27,11 @@ lib.nixosSystem (args // {
isoImage.isoBaseName = "nixos-" + config.networking.hostName; isoImage.isoBaseName = "nixos-" + config.networking.hostName;
isoImage.contents = [{ isoImage.contents = [{
source = self; source = userSelf;
target = "/devos/"; target = "/devos/";
}]; }];
isoImage.storeContents = [ isoImage.storeContents = [
self.devShell.${config.nixpkgs.system} userSelf.devShell.${config.nixpkgs.system}
# include also closures that are "switched off" by the # include also closures that are "switched off" by the
# above profile filter on the local config attribute # above profile filter on the local config attribute
fullHostConfig.system.build.toplevel fullHostConfig.system.build.toplevel

View file

@ -1,4 +1,4 @@
{ lib, self, ... }: { lib, userSelf, ... }:
with lib; with lib;
let let
@ -6,7 +6,7 @@ let
mapAttrs' (user: v: nameValuePair "${user}@${host}" v.home) mapAttrs' (user: v: nameValuePair "${user}@${host}" v.home)
config.config.system.build.homes; config.config.system.build.homes;
hmConfigs = mapAttrs mkHomes self.nixosConfigurations; hmConfigs = mapAttrs mkHomes userSelf.nixosConfigurations;
in in
foldl recursiveUpdate { } (attrValues hmConfigs) foldl recursiveUpdate { } (attrValues hmConfigs)

View file

@ -1,4 +1,4 @@
{ lib, dev, nixpkgs, inputs, self, ... }: { lib, dev, nixpkgs, inputs, userSelf, ... }:
{ dir, extern, suites, overrides, multiPkgs, ... }: { dir, extern, suites, overrides, multiPkgs, ... }:
let let
@ -29,7 +29,7 @@ let
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = extern.userSpecialArgs // { suites = suites.user; }; extraSpecialArgs = extern.userSpecialArgs // { suites = suites.user; };
sharedModules = extern.userModules ++ (builtins.attrValues self.homeModules); sharedModules = extern.userModules ++ (builtins.attrValues userSelf.homeModules);
}; };
users.mutableUsers = lib.mkDefault false; users.mutableUsers = lib.mkDefault false;
@ -37,14 +37,14 @@ let
nix.nixPath = [ nix.nixPath = [
"nixpkgs=${nixpkgs}" "nixpkgs=${nixpkgs}"
"nixos-config=${self}/compat/nixos" "nixos-config=${userSelf}/compat/nixos"
"home-manager=${inputs.home}" "home-manager=${inputs.home}"
]; ];
nixpkgs.pkgs = lib.mkDefault multiPkgs.${config.nixpkgs.system}; nixpkgs.pkgs = lib.mkDefault multiPkgs.${config.nixpkgs.system};
nix.registry = { nix.registry = {
devos.flake = self; devos.flake = userSelf;
nixos.flake = nixpkgs; nixos.flake = nixpkgs;
override.flake = inputs.override; override.flake = inputs.override;
}; };
@ -57,11 +57,11 @@ let
} }
''; '';
system.configurationRevision = lib.mkIf (self ? rev) self.rev; system.configurationRevision = lib.mkIf (userSelf ? rev) userSelf.rev;
}; };
# Everything in `./modules/list.nix`. # Everything in `./modules/list.nix`.
flakeModules = { imports = builtins.attrValues self.nixosModules ++ extern.modules; }; flakeModules = { imports = builtins.attrValues userSelf.nixosModules ++ extern.modules; };
cachix = ../../cachix.nix; cachix = ../../cachix.nix;
}; };
@ -78,7 +78,7 @@ let
networking = { inherit hostName; }; networking = { inherit hostName; };
_module.args = { _module.args = {
inherit self; self = userSelf;
hosts = builtins.mapAttrs (_: host: host.config) hosts = builtins.mapAttrs (_: host: host.config)
(removeAttrs hosts [ hostName ]); (removeAttrs hosts [ hostName ]);
}; };

View file

@ -1,8 +1,8 @@
{ lib, dev, self, ... }: { lib, dev, userSelf, ... }:
{ pkgs }: { pkgs }:
let let
inherit (self) overlay overlays; inherit (userSelf) overlay overlays;
packagesNames = lib.attrNames (overlay null null) packagesNames = lib.attrNames (overlay null null)
++ lib.attrNames (dev.concatAttrs ++ lib.attrNames (dev.concatAttrs
(lib.attrValues (lib.attrValues

View file

@ -1,4 +1,4 @@
{ lib, dev, nixpkgs, self, inputs, ... }: { lib, dev, nixpkgs, userSelf, inputs, ... }:
{ extern, overrides }: { extern, overrides }:
(inputs.utils.lib.eachDefaultSystem (inputs.utils.lib.eachDefaultSystem
@ -17,10 +17,10 @@
}); });
}) })
(overridesOverlay overridePkgs) (overridesOverlay overridePkgs)
self.overlay userSelf.overlay
] ]
++ extern.overlays ++ extern.overlays
++ (lib.attrValues self.overlays); ++ (lib.attrValues userSelf.overlays);
in in
{ pkgs = dev.os.pkgImport nixpkgs overlays system; } { pkgs = dev.os.pkgImport nixpkgs overlays system; }
) )

View file

@ -7,13 +7,15 @@ in
_: { self, ... } @ args: _: { self, ... } @ args:
let let
userSelf = self;
cfg = (dev.mkFlake.evalOldArgs { inherit args; }).config; cfg = (dev.mkFlake.evalOldArgs { inherit args; }).config;
multiPkgs = os.mkPkgs { inherit (cfg) extern overrides; }; multiPkgs = os.mkPkgs { inherit (cfg) extern overrides; };
outputs = { outputs = {
nixosConfigurations = os.mkHosts { nixosConfigurations = os.mkHosts {
inherit self multiPkgs; inherit userSelf multiPkgs;
inherit (cfg) extern suites overrides; inherit (cfg) extern suites overrides;
dir = cfg.hosts; dir = cfg.hosts;
}; };
@ -27,7 +29,7 @@ let
overlay = cfg.packages; overlay = cfg.packages;
inherit (cfg) overlays; inherit (cfg) overlays;
deploy.nodes = os.mkNodes deploy self.nixosConfigurations; deploy.nodes = os.mkNodes deploy userSelf.nixosConfigurations;
}; };
systemOutputs = utils.lib.eachDefaultSystem (system: systemOutputs = utils.lib.eachDefaultSystem (system:
@ -39,9 +41,9 @@ let
in in
{ {
checks = pkgs-lib.tests.mkChecks { checks = pkgs-lib.tests.mkChecks {
inherit (self.deploy) nodes; inherit (userSelf.deploy) nodes;
hosts = self.nixosConfigurations; hosts = userSelf.nixosConfigurations;
homes = self.homeConfigurations; homes = userSelf.homeConfigurations;
}; };
inherit legacyPackages; inherit legacyPackages;

View file

@ -1,4 +1,4 @@
{ self, dev, lib, inputs, utils, ... }: { userSelf, dev, lib, inputs, utils, ... }:
{ args }: { args }:
let let
@ -161,8 +161,8 @@ let
}; };
profiles = mkOption { profiles = mkOption {
type = path; type = path;
default = "${self}/profiles"; default = "${userSelf}/profiles";
defaultText = "\${self}/profiles"; defaultText = "\${userSelf}/profiles";
apply = x: os.mkProfileAttrs (toString x); apply = x: os.mkProfileAttrs (toString x);
description = "path to profiles folder that can be collected into suites"; description = "path to profiles folder that can be collected into suites";
}; };

View file

@ -1,4 +1,4 @@
{ self, dev, lib, inputs, ... }: { userSelf, dev, lib, inputs, ... }:
{ args }: { args }:
let let
@ -22,8 +22,8 @@ let
}; };
hosts = mkOption { hosts = mkOption {
type = path; type = path;
default = "${self}/hosts"; default = "${userSelf}/hosts";
defaultText = "\${self}/hosts"; defaultText = "\${userSelf}/hosts";
apply = toString; apply = toString;
description = '' description = ''
Path to directory containing host configurations that will be exported Path to directory containing host configurations that will be exported
@ -64,15 +64,15 @@ let
}; };
profiles = mkOption { profiles = mkOption {
type = path; type = path;
default = "${self}/profiles"; default = "${userSelf}/profiles";
defaultText = "\${self}/profiles"; defaultText = "\${userSelf}/profiles";
apply = x: os.mkProfileAttrs (toString x); apply = x: os.mkProfileAttrs (toString x);
description = "path to profiles folder that can be collected into suites"; description = "path to profiles folder that can be collected into suites";
}; };
userProfiles = mkOption { userProfiles = mkOption {
type = path; type = path;
default = "${self}/users/profiles"; default = "${userSelf}/users/profiles";
defaultText = "\${self}/users/profiles"; defaultText = "\${userSelf}/users/profiles";
apply = x: os.mkProfileAttrs (toString x); apply = x: os.mkProfileAttrs (toString x);
description = "path to user profiles folder that can be collected into userSuites"; description = "path to user profiles folder that can be collected into userSuites";
}; };
@ -97,8 +97,8 @@ let
}; };
users = mkOption { users = mkOption {
type = path; type = path;
default = "${self}/users"; default = "${userSelf}/users";
defaultText = "\${self}/users"; defaultText = "\${userSelf}/users";
apply = x: os.mkProfileAttrs (toString x); apply = x: os.mkProfileAttrs (toString x);
description = '' description = ''
path to folder containing profiles that define system users path to folder containing profiles that define system users
@ -121,9 +121,9 @@ let
{ modules = []; overlays = []; specialArgs = []; userModules = []; userSpecialArgs = []; } { modules = []; overlays = []; specialArgs = []; userModules = []; userSpecialArgs = []; }
''; '';
# So unneeded extern attributes can safely be deleted # So unneeded extern attributes can safely be deleted
apply = x: defaults // (x { inputs = inputs // self.inputs; }); apply = x: defaults // (x { inputs = inputs // userSelf.inputs; });
description = '' description = ''
Function with argument 'inputs' that contains all devos and ''${self}'s inputs. Function with argument 'inputs' that contains all devos and ''${userSelf}'s inputs.
The function should return an attribute set with modules, overlays, and The function should return an attribute set with modules, overlays, and
specialArgs to be included across nixos and home manager configurations. specialArgs to be included across nixos and home manager configurations.
Only attributes that are used should be returned. Only attributes that are used should be returned.
@ -131,8 +131,8 @@ let
}; };
overlays = mkOption { overlays = mkOption {
type = path; type = path;
default = "${self}/overlays"; default = "${userSelf}/overlays";
defaultText = "\${self}/overlays"; defaultText = "\${userSelf}/overlays";
apply = x: dev.pathsToImportedAttrs (dev.pathsIn (toString x)); apply = x: dev.pathsToImportedAttrs (dev.pathsIn (toString x));
description = '' description = ''
path to folder containing overlays which will be applied to pkgs and exported in path to folder containing overlays which will be applied to pkgs and exported in