nix machine / user configurations
at terra 1.3 kB view raw
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