[refactor]: Automate package imports in flake.nix
This commit is contained in:
parent
3507eba68b
commit
7fa0652660
1 changed files with 20 additions and 5 deletions
25
flake.nix
25
flake.nix
|
@ -187,16 +187,31 @@
|
||||||
formatter = {
|
formatter = {
|
||||||
${system} = pkgs.nixpkgs-fmt;
|
${system} = pkgs.nixpkgs-fmt;
|
||||||
};
|
};
|
||||||
packages."${system}" = {
|
packages."${system}" =
|
||||||
spotube = pkgs.callPackage ./pkgs/spotube.nix { };
|
let
|
||||||
awatcher = pkgs.callPackage ./pkgs/awatcher.nix { };
|
# list paths
|
||||||
emacs-lsp-booster = pkgs.callPackage ./pkgs/emacs-lsp-booster.nix { };
|
pkgs-paths-list = pkgs.lib.fileset.toList (pkgs.lib.fileset.fromSource (pkgs.lib.sources.sourceFilesBySuffices ./pkgs [ ".nix" ]));
|
||||||
};
|
# filename-extension parsed out
|
||||||
|
pkgs-paths = (builtins.map
|
||||||
|
(path: {
|
||||||
|
name = (pkgs.lib.strings.removeSuffix ".nix" (builtins.baseNameOf path));
|
||||||
|
path = path;
|
||||||
|
})
|
||||||
|
pkgs-paths-list);
|
||||||
|
# import each path
|
||||||
|
imported-pkgs = (pkgs.lib.attrsets.mergeAttrsList (builtins.map
|
||||||
|
(pkg: {
|
||||||
|
"${pkg.name}" = pkgs.callPackage pkg.path { };
|
||||||
|
})
|
||||||
|
pkgs-paths));
|
||||||
|
in
|
||||||
|
imported-pkgs;
|
||||||
diskoConfigurations = {
|
diskoConfigurations = {
|
||||||
nixos-desk = import ./systems/nixos-desk/disko.nix;
|
nixos-desk = import ./systems/nixos-desk/disko.nix;
|
||||||
nixos-pulse = import ./systems/nixos-pulse/disko.nix;
|
nixos-pulse = import ./systems/nixos-pulse/disko.nix;
|
||||||
nixos-he4 = import ./systems/nixos-he4/disko.nix;
|
nixos-he4 = import ./systems/nixos-he4/disko.nix;
|
||||||
};
|
};
|
||||||
|
# replace this with a auto-importing variant like the packages decl. above (instead of callPackage we just need to import the path)
|
||||||
nixosConfigurations = nixpkgs.lib.attrsets.mergeAttrsList (
|
nixosConfigurations = nixpkgs.lib.attrsets.mergeAttrsList (
|
||||||
nixpkgs.lib.lists.forEach [
|
nixpkgs.lib.lists.forEach [
|
||||||
"nixos-desk"
|
"nixos-desk"
|
||||||
|
|
Loading…
Add table
Reference in a new issue