nix-custom/flake.nix
2025-10-15 23:30:26 -05:00

66 lines
1.8 KiB
Nix

{
description = "Collection of custom Nix packages";
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
candy-icons = {
flake = false;
url = "git+https://github.com/EliverLara/candy-icons";
};
sweet-ambar-blue = {
flake = false;
url = "git+https://github.com/EliverLara/Sweet?ref=Ambar-Blue";
};
sweet-ambar-blue-dark = {
flake = false;
url = "git+https://github.com/EliverLara/Sweet?ref=Ambar-Blue-Dark";
};
sweet-folders = {
flake = false;
url = "git+https://github.com/EliverLara/Sweet-folders";
};
sweet-kde = {
flake = false;
url = "git+https://github.com/EliverLara/Sweet-kde?ref=plasma6";
};
yorha-grub-theme = {
flake = false;
url = "github:OliveThePuffin/yorha-grub-theme";
};
yorha-sound-theme = {
flake = false;
url = "git+https://forgejo.invariantspace.com/macronova/yorha-sound-theme";
};
};
outputs = inputs @ {
self,
flake-utils,
nixpkgs,
...
}: let
pkgDrvDir = ./packages;
pkgDrvs = pkgs: (with pkgs.lib;
builtins.listToAttrs
(builtins.map
(pkgDrv: rec {
name =
builtins.substring 0
(
builtins.sub (builtins.stringLength pkgDrv) 4
)
pkgDrv;
value = import (pkgDrvDir + "/${pkgDrv}") {inherit inputs name pkgs;};
})
(builtins.filter (pkgDrv: strings.hasSuffix ".nix" pkgDrv) (builtins.attrNames (builtins.readDir pkgDrvDir)))));
in
{
overlays.default = _: prev: pkgDrvs prev;
}
// flake-utils.lib.eachDefaultSystem (system: let
pkgs = nixpkgs.legacyPackages.${system};
in {
packages = pkgDrvs pkgs;
});
}