Concentrate all dev shells in one file

This commit is contained in:
SebastianStork 2026-02-05 21:02:47 +01:00
parent 2cb6bb6a3c
commit f00f85074b
Signed by: SebastianStork
SSH key fingerprint: SHA256:tRrGdjYOwgHxpSc/wTOZQZEjxcb15P0tyXRsbAfd+2Q
3 changed files with 45 additions and 48 deletions

View file

@ -0,0 +1,44 @@
_: {
perSystem =
{ self', pkgs, ... }:
{
devShells = {
sops = pkgs.mkShellNoCC {
packages = [
pkgs.sops
pkgs.age
pkgs.ssh-to-age
pkgs.bitwarden-cli
];
shellHook = ''
if ! declare -px BW_SESSION >/dev/null 2>&1; then
BW_SESSION="$(bw unlock --raw || bw login --raw)"
export BW_SESSION
fi
if ! declare -px SOPS_AGE_KEY >/dev/null 2>&1; then
SOPS_AGE_KEY="$(bw get notes 'admin age-key')"
export SOPS_AGE_KEY
fi
SOPS_CONFIG="${self'.packages.sops-config}"
export SOPS_CONFIG
'';
};
nebula = pkgs.mkShellNoCC {
packages = [
pkgs.nebula
pkgs.bitwarden-cli
self'.packages.nebula-regen-host-cert
];
shellHook = ''
if ! declare -px BW_SESSION >/dev/null 2>&1; then
BW_SESSION="$(bw unlock --raw || bw login --raw)"
export BW_SESSION
fi
'';
};
};
};
}

View file

@ -1,20 +0,0 @@
_: {
perSystem =
{ self', pkgs, ... }:
{
devShells.nebula = pkgs.mkShellNoCC {
packages = [
pkgs.nebula
pkgs.bitwarden-cli
self'.packages.nebula-regen-host-cert
];
shellHook = ''
if ! declare -px BW_SESSION >/dev/null 2>&1; then
BW_SESSION="$(bw unlock --raw || bw login --raw)"
export BW_SESSION
fi
'';
};
};
}

View file

@ -1,12 +1,7 @@
{ self, ... }:
{
perSystem =
{
self',
pkgs,
lib,
...
}:
{ pkgs, lib, ... }:
{
packages.sops-config =
let
@ -42,27 +37,5 @@
pkgs.runCommand "sops.yaml" { buildInputs = [ pkgs.yj ]; } ''
echo '${jsonConfig}' | yj -jy > $out
'';
devShells.sops = pkgs.mkShellNoCC {
packages = [
pkgs.sops
pkgs.age
pkgs.ssh-to-age
];
nativeBuildInputs = [ pkgs.bitwarden-cli ];
shellHook = ''
if ! declare -px BW_SESSION >/dev/null 2>&1; then
BW_SESSION="$(bw unlock --raw || bw login --raw)"
export BW_SESSION
fi
if ! declare -px SOPS_AGE_KEY >/dev/null 2>&1; then
SOPS_AGE_KEY="$(bw get notes 'admin age-key')"
export SOPS_AGE_KEY
fi
SOPS_CONFIG="${self'.packages.sops-config}"
export SOPS_CONFIG
'';
};
};
}