chore!(util): clean up
Fix `hasDirectories` Correctly detect `autoDarwinConfigurations` (did not check for `home`) Decrease usage of `with` Depend more on `lib` functions over custom implementations Reindent correctly some code
This commit is contained in:
parent
c58f383168
commit
46f6f90a0c
2 changed files with 64 additions and 42 deletions
39
flake.nix
39
flake.nix
|
@ -78,25 +78,24 @@
|
||||||
let
|
let
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
util = import ./util { inherit inputs outputs; };
|
util = import ./util { inherit inputs outputs; };
|
||||||
in
|
in rec {
|
||||||
with util; rec {
|
|
||||||
# Packages (`nix build`)
|
# Packages (`nix build`)
|
||||||
packages = forEachPkgs (pkgs:
|
packages = util.forEachPkgs (pkgs:
|
||||||
import ./pkgs { inherit pkgs; }
|
import ./pkgs { inherit pkgs; }
|
||||||
);
|
);
|
||||||
|
|
||||||
# Apps (`nix run`)
|
# Apps (`nix run`)
|
||||||
apps = forEachPkgs (pkgs:
|
apps = util.forEachPkgs (pkgs:
|
||||||
import ./apps { inherit pkgs; }
|
import ./apps { inherit pkgs; }
|
||||||
);
|
);
|
||||||
|
|
||||||
# Dev Shells (`nix develop`)
|
# Dev Shells (`nix develop`)
|
||||||
devShells = forEachPkgs (pkgs:
|
devShells = util.forEachPkgs (pkgs:
|
||||||
import ./shells { inherit pkgs; }
|
import ./shells { inherit pkgs; }
|
||||||
);
|
);
|
||||||
|
|
||||||
# Formatter
|
# Formatter
|
||||||
formatter = forEachPkgs (pkgs:
|
formatter = util.forEachPkgs (pkgs:
|
||||||
pkgs.nixpkgs-fmt
|
pkgs.nixpkgs-fmt
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -107,22 +106,24 @@
|
||||||
overlays = import ./overlays { inherit inputs outputs; };
|
overlays = import ./overlays { inherit inputs outputs; };
|
||||||
|
|
||||||
# Machines
|
# Machines
|
||||||
inherit machines;
|
inherit (util)
|
||||||
inherit homeManagerMachines;
|
machines
|
||||||
inherit nixDarwinMachines;
|
homeManagerMachines
|
||||||
inherit nixOnDroidMachines;
|
nixDarwinMachines
|
||||||
inherit nixosMachines;
|
nixOnDroidMachines
|
||||||
|
nixosMachines;
|
||||||
|
|
||||||
# Modules
|
# Modules
|
||||||
inherit nixosModules;
|
inherit (util)
|
||||||
inherit nixOnDroidModules;
|
nixosModules
|
||||||
inherit nixDarwinModules;
|
nixOnDroidModules
|
||||||
inherit homeManagerModules;
|
nixDarwinModules
|
||||||
|
homeManagerModules;
|
||||||
|
|
||||||
# Configurations
|
# Configurations
|
||||||
nixosConfigurations = autoNixosConfigurations;
|
nixosConfigurations = util.autoNixosConfigurations;
|
||||||
nixOnDroidConfigurations = autoNixOnDroidConfigurations;
|
nixOnDroidConfigurations = util.autoNixOnDroidConfigurations;
|
||||||
darwinConfigurations = autoDarwinConfigurations;
|
darwinConfigurations = util.autoDarwinConfigurations;
|
||||||
homeConfigurations = autoHomeConfigurations;
|
homeConfigurations = util.autoHomeConfigurations;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ rec {
|
||||||
# NOTE: Implying `attrs` is the output of `recurseDir`
|
# NOTE: Implying `attrs` is the output of `recurseDir`
|
||||||
hasFiles = files: attrs:
|
hasFiles = files: attrs:
|
||||||
builtins.all
|
builtins.all
|
||||||
(b: b)
|
lib.id
|
||||||
(builtins.map
|
(builtins.map
|
||||||
(file:
|
(file:
|
||||||
builtins.hasAttr file attrs &&
|
builtins.hasAttr file attrs &&
|
||||||
|
@ -30,13 +30,15 @@ rec {
|
||||||
# NOTE: Implying `attrs` is the output of `recurseDir`
|
# NOTE: Implying `attrs` is the output of `recurseDir`
|
||||||
hasDirectories = directories: attrs:
|
hasDirectories = directories: attrs:
|
||||||
builtins.all
|
builtins.all
|
||||||
(b: b)
|
lib.id
|
||||||
(builtins.map
|
(builtins.map
|
||||||
(directory:
|
(directory:
|
||||||
builtins.hasAttr directory attrs &&
|
builtins.hasAttr directory attrs &&
|
||||||
builtins.getAttr directory attrs == "set")
|
lib.isAttrs (builtins.getAttr directory attrs))
|
||||||
directories);
|
directories);
|
||||||
|
|
||||||
|
and = lib.all lib.id;
|
||||||
|
|
||||||
# pkgs helpers
|
# pkgs helpers
|
||||||
forEachSystem = lib.genAttrs [
|
forEachSystem = lib.genAttrs [
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
|
@ -159,28 +161,35 @@ rec {
|
||||||
createConfigurations =
|
createConfigurations =
|
||||||
pred: mkHost: machines:
|
pred: mkHost: machines:
|
||||||
lib.foldAttrs
|
lib.foldAttrs
|
||||||
(acc: x: acc)
|
lib.const
|
||||||
[ ]
|
[ ]
|
||||||
(builtins.attrValues
|
(builtins.attrValues
|
||||||
(builtins.mapAttrs
|
(builtins.mapAttrs
|
||||||
(system: hosts:
|
(system: hosts:
|
||||||
lib.attrsets.filterAttrs
|
lib.attrsets.filterAttrs
|
||||||
(host: config: config != null)
|
|
||||||
(builtins.mapAttrs
|
|
||||||
(host: config:
|
(host: config:
|
||||||
if (pred system host config)
|
config != null)
|
||||||
then mkHost system host config
|
(builtins.mapAttrs
|
||||||
else null)
|
(host: config:
|
||||||
hosts))
|
if (pred system host config)
|
||||||
|
then mkHost system host config
|
||||||
|
else null)
|
||||||
|
hosts))
|
||||||
machines));
|
machines));
|
||||||
|
|
||||||
# Configurations
|
# Configurations
|
||||||
autoNixosConfigurations =
|
autoNixosConfigurations =
|
||||||
createConfigurations
|
createConfigurations
|
||||||
(system: host: config:
|
(system: host: config:
|
||||||
hasFiles
|
and
|
||||||
[ "configuration.nix" ]
|
[
|
||||||
config)
|
(hasFiles
|
||||||
|
[ "configuration.nix" ]
|
||||||
|
config)
|
||||||
|
(hasDirectories
|
||||||
|
[ "home" ]
|
||||||
|
config)
|
||||||
|
])
|
||||||
(system: host: config:
|
(system: host: config:
|
||||||
mkNixosHost
|
mkNixosHost
|
||||||
../machines/nixos/${system}/${host}
|
../machines/nixos/${system}/${host}
|
||||||
|
@ -194,9 +203,12 @@ rec {
|
||||||
autoNixOnDroidConfigurations =
|
autoNixOnDroidConfigurations =
|
||||||
createConfigurations
|
createConfigurations
|
||||||
(system: host: config:
|
(system: host: config:
|
||||||
hasFiles
|
and
|
||||||
[ "configuration.nix" "home.nix" ]
|
[
|
||||||
config)
|
(hasFiles
|
||||||
|
[ "configuration.nix" "home.nix" ]
|
||||||
|
config)
|
||||||
|
])
|
||||||
(system: host: config:
|
(system: host: config:
|
||||||
mkNixOnDroidHost
|
mkNixOnDroidHost
|
||||||
../machines/nix-on-droid/${system}/${host}
|
../machines/nix-on-droid/${system}/${host}
|
||||||
|
@ -207,9 +219,15 @@ rec {
|
||||||
autoDarwinConfigurations =
|
autoDarwinConfigurations =
|
||||||
createConfigurations
|
createConfigurations
|
||||||
(system: host: config:
|
(system: host: config:
|
||||||
hasFiles
|
and
|
||||||
[ "configuration.nix" ]
|
[
|
||||||
config)
|
(hasFiles
|
||||||
|
[ "configuration.nix" ]
|
||||||
|
config)
|
||||||
|
(hasDirectories
|
||||||
|
[ "home" ]
|
||||||
|
config)
|
||||||
|
])
|
||||||
(system: host: config:
|
(system: host: config:
|
||||||
mkNixDarwinHost
|
mkNixDarwinHost
|
||||||
../machines/nix-darwin/${system}/${host}
|
../machines/nix-darwin/${system}/${host}
|
||||||
|
@ -223,9 +241,12 @@ rec {
|
||||||
autoHomeConfigurations =
|
autoHomeConfigurations =
|
||||||
createConfigurations
|
createConfigurations
|
||||||
(system: host: config:
|
(system: host: config:
|
||||||
hasFiles
|
and
|
||||||
[ "home.nix" ]
|
[
|
||||||
config)
|
(hasFiles
|
||||||
|
[ "home.nix" ]
|
||||||
|
config)
|
||||||
|
])
|
||||||
(system: host: config:
|
(system: host: config:
|
||||||
mkHomeManagerHost
|
mkHomeManagerHost
|
||||||
../machines/home-manager/${system}/${host}
|
../machines/home-manager/${system}/${host}
|
||||||
|
|
Loading…
Reference in a new issue