[TASK] Improve aliases

This commit is contained in:
Sebastian Fischer 2026-02-08 09:38:26 +01:00
parent a54c7176ed
commit ca1183f4ed

View File

@ -1,6 +1,49 @@
# In deiner home.nix # In deiner home.nix
{ config, pkgs, ... }: { config, pkgs, ... }:
let
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 "Keine verwaisten Branches gefunden."
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
'';
in
{ {
home.stateVersion = "25.11"; home.stateVersion = "25.11";
@ -43,9 +86,15 @@
p7zip p7zip
cacert cacert
# Gnome extensions
gnomeExtensions.appindicator gnomeExtensions.appindicator
gnomeExtensions.caffeine gnomeExtensions.caffeine
gnomeExtensions.dash-to-dock gnomeExtensions.dash-to-dock
# Aliases
composer
git-cleanup-local-branches
lazydocker
]; ];
# Powerlevel10k Theme installieren # Powerlevel10k Theme installieren
@ -99,9 +148,24 @@
fi fi
''; '';
home.shellAliases = {
ll = "ls -lah";
la = "ls -A";
l = "ls -CF";
".." = "cd ..";
"..." = "cd ../..";
rebuild = "sudo nixos-rebuild switch";
update = "sudo nixos-rebuild switch --upgrade";
c = "composer";
lzd = "lazydocker";
gclb = "git-cleanup-local-branches";
ngc = "sudo nix-store --optimise && sudo nix-collect-garbage -d";
};
dconf.settings = { dconf.settings = {
"org/gnome/desktop/wm/preferences" = { "org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:minimize,maximize,close"; button-layout = "appmenu:minimize,maximize,close";
focus-mode = "sloppy";
}; };
"org/gnome/shell" = { "org/gnome/shell" = {
disable-user-extensions = false; disable-user-extensions = false;
@ -260,80 +324,9 @@
custom = "$HOME/.oh-my-zsh/custom"; custom = "$HOME/.oh-my-zsh/custom";
}; };
shellAliases = {
ll = "ls -lah";
la = "ls -A";
l = "ls -CF";
".." = "cd ..";
"..." = "cd ../..";
rebuild = "sudo nixos-rebuild switch";
update = "sudo nixos-rebuild switch --upgrade";
c = "composer";
gclb = "git-cleanup-local-branches";
lzd = "lazydocker";
};
initContent = '' initContent = ''
# Powerlevel10k Konfiguration laden (falls vorhanden) # Powerlevel10k Konfiguration laden (falls vorhanden)
[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh [[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh
function composer() {
mkdir -p "''${HOME}/.config/composer"
mkdir -p "''${HOME}/.cache/composer"
if ! ${pkgs.docker}/bin/docker network inspect db >/dev/null 2>&1; then
echo "Erstelle Docker-Netzwerk 'db'..."
${pkgs.docker}/bin/docker network create db
fi
SSH_AUTH_PATH=$(readlink -f "''${SSH_AUTH_SOCK:-/dev/null}")
docker run -t \
--rm \
--user ''$(id -u):33 \
--env COMPOSER_CACHE_DIR=/cache \
--env SSH_AUTH_SOCK=/ssh-agent \
--env CI_HOST \
--env CI_PROJECT_DIR \
--env ENVIRONMENT_NAME \
--env INSTANCE_ID \
--env ADDITIONAL_CONFIG_FILE \
--env TYPO3_CONTEXT \
--env STAGE \
--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 $@
}
function git-cleanup-local-branches {
${pkgs.git}/bin/git fetch -p
FOR_EACH_REF=$(${pkgs.git}/bin/git for-each-ref --format '%(refname) %(upstream:track)' refs/heads)
GONE_BRANCHES=$(echo "''$FOR_EACH_REF" | ${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
echo "Delete local branch: ''$BRANCH"
${pkgs.git}/bin/git branch -D "''$BRANCH"
done
}
function lazydocker() {
mkdir -p ''$HOME/.config/lazydocker
docker run --rm -it \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume ''$HOME/.config/lazydocker:/.config/jesseduffield/lazydocker \
lazyteam/lazydocker
}
''; '';
}; };
home.file.".p10k.zsh".source = ./config/p10k.zsh; home.file.".p10k.zsh".source = ./config/p10k.zsh;