[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 = {
|
||||
${system} = pkgs.nixpkgs-fmt;
|
||||
};
|
||||
packages."${system}" = {
|
||||
spotube = pkgs.callPackage ./pkgs/spotube.nix { };
|
||||
awatcher = pkgs.callPackage ./pkgs/awatcher.nix { };
|
||||
emacs-lsp-booster = pkgs.callPackage ./pkgs/emacs-lsp-booster.nix { };
|
||||
};
|
||||
packages."${system}" =
|
||||
let
|
||||
# list paths
|
||||
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 = {
|
||||
nixos-desk = import ./systems/nixos-desk/disko.nix;
|
||||
nixos-pulse = import ./systems/nixos-pulse/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 (
|
||||
nixpkgs.lib.lists.forEach [
|
||||
"nixos-desk"
|
||||
|
|
Loading…
Add table
Reference in a new issue