nixos-cesium/config/scripts.nix
2026-02-08 12:10:27 +01:00

48 lines
1.6 KiB
Nix

{ pkgs }:
{
composer = pkgs.writeShellScriptBin "composer" ''
mkdir -p "''${HOME}/.config/composer"
mkdir -p "''${HOME}/.cache/composer"
if ! ${pkgs.docker}/bin/docker network inspect db >/dev/null 2>&1; then
${pkgs.docker}/bin/docker network create db
fi
SSH_AUTH_PATH=$(readlink -f "''${SSH_AUTH_SOCK:-/dev/null}")
exec ${pkgs.docker}/bin/docker run \
-t \
--rm \
--user $(id -u):33 \
--env COMPOSER_CACHE_DIR=/cache \
--env SSH_AUTH_SOCK=/ssh-agent \
--network db \
--volume "$SSH_AUTH_PATH":/ssh-agent \
--volume /etc/passwd:/etc/passwd:ro \
--volume "''${HOME}":"''${HOME}" \
--volume "''${HOME}/.config/composer":/tmp \
--volume "''${HOME}/.cache/composer":/cache \
--volume "''${PWD}":/app \
evoweb/php:composer "$@"
'';
git-cleanup-local-branches = pkgs.writeShellScriptBin "gclb" ''
${pkgs.git}/bin/git fetch -p
GONE_BRANCHES=$(${pkgs.git}/bin/git for-each-ref --format '%(refname) %(upstream:track)' refs/heads | ${pkgs.gawk}/bin/awk '$2 == "[gone]" {sub("refs/heads/", "", $1); print $1}')
if [ -z "$GONE_BRANCHES" ]; then
echo "Found now orphan local branches."
exit 0
fi
for BRANCH in $GONE_BRANCHES; do
${pkgs.git}/bin/git branch -D "$BRANCH"
done
'';
lazydocker = pkgs.writeShellScriptBin "lazydocker" ''
mkdir -p "''${HOME}/.config/lazydocker"
exec ${pkgs.docker}/bin/docker run \
--rm -it \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "''${HOME}/.config/lazydocker":/.config/jesseduffield/lazydocker \
lazyteam/lazydocker
'';
}