{ 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; }); }