1{ pkgs, ... }:
2let
3 scriptDir = ./scripts;
4
5 mkScript = name: {
6 inherit name;
7 value = pkgs.writeScriptBin (builtins.replaceStrings [ ".sh" ] [ "" ] name) (
8 builtins.readFile (scriptDir + "/${name}")
9 );
10 };
11
12 scriptsSet = builtins.listToAttrs (
13 map mkScript (
14 builtins.attrNames (
15 pkgs.lib.filterAttrs (n: v: v == "regular" && (pkgs.lib.hasSuffix ".sh" n)) (
16 builtins.readDir ./scripts
17 )
18 )
19 )
20 );
21 scripts = builtins.attrValues scriptsSet;
22
23in
24{
25 home.packages = scripts;
26}