1{
2 lib,
3 allPkgsSets,
4 ...
5}:
6lib.mapAttrs (
7 system: set:
8 let
9 inherit (set) pkgs;
10 agenix = pkgs.callPackage "${set.inputs.agenix}/pkgs/agenix.nix" { };
11 agenix-wrapped = pkgs.writeShellApplication {
12 name = "agenix";
13 runtimeInputs = [ agenix ];
14 text = ''
15 if [ -z "''${1-}" ]; then
16 agenix
17 else
18 RULES="$NH_FLAKE/secrets/secrets.nix" agenix -i "$NH_FLAKE/ssh_key" "$@"
19 fi
20 '';
21 };
22 commit = pkgs.writers.writeNuBin "commit" ../commit.nu;
23 deploy = pkgs.writers.writeNuBin "deploy" ../deploy.nu;
24 dash = pkgs.writers.writeNuBin "dash" ./dash.nu;
25 in
26 {
27 default = pkgs.mkShellNoCC {
28 name = "prts";
29 packages =
30 (with pkgs; [
31 git
32 nixfmt-rfc-style
33 treefmt
34 rage
35 nh
36 nvfetcher
37 treefmt
38 # golangci-lint
39 # golangci-lint-langserver
40 ])
41 ++ [
42 agenix-wrapped
43 commit
44 deploy
45 ];
46 shellHook = ''
47 echo \"$(tput bold)welcome to PRTS, $USER$(tput sgr0)\"
48 export NH_FLAKE=$PWD
49 '';
50 };
51 perses = pkgs.mkShellNoCC {
52 packages = [
53 dash
54 set.terra.percli
55 pkgs.go
56 pkgs.gopls
57 ];
58 };
59 }
60) allPkgsSets