{ description = "Collection of custom Nix packages"; inputs = { flake-utils.url = "github:numtide/flake-utils"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; wallpaper-engine-kde-plugin-lib = { flake = false; url = "git+https://github.com/catsout/wallpaper-engine-kde-plugin?submodules=1"; }; yorha-grub-theme = { flake = false; url = "github:OliveThePuffin/yorha-grub-theme"; }; }; outputs = inputs@{ self, flake-utils, nixpkgs, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; pkgDefDir = ./packages; pkgDefs = pkgs.lib.attrsets.mapAttrs' (pkgDef: _: { name = builtins.substring 0 ( builtins.sub (builtins.stringLength pkgDef) 4 ) pkgDef; value = import (pkgDefDir + "/${pkgDef}") { inherit inputs pkgs; }; }) (builtins.readDir pkgDefDir); in { packages = pkgDefs; }); }