From 32ec59e303af3b19c2d4b362873b8c2909304c08 Mon Sep 17 00:00:00 2001 From: clerie <git@clerie.de> Date: Mon, 7 Apr 2025 21:37:47 +0200 Subject: [PATCH] pkgs/clerie-update-nixfiles: Add script to delete old update-nixfiles branches --- .../clerie-update-nixfiles/clerie-cleanup-branches.nix | 10 ++++++++++ pkgs/clerie-update-nixfiles/clerie-cleanup-branches.sh | 7 +++++++ pkgs/pkgs.nix | 1 + 3 files changed, 18 insertions(+) create mode 100644 pkgs/clerie-update-nixfiles/clerie-cleanup-branches.nix create mode 100755 pkgs/clerie-update-nixfiles/clerie-cleanup-branches.sh diff --git a/pkgs/clerie-update-nixfiles/clerie-cleanup-branches.nix b/pkgs/clerie-update-nixfiles/clerie-cleanup-branches.nix new file mode 100644 index 0000000..4b3aa15 --- /dev/null +++ b/pkgs/clerie-update-nixfiles/clerie-cleanup-branches.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: + +pkgs.writeShellApplication { + name = "clerie-cleanup-branches"; + text = builtins.readFile ./clerie-cleanup-branches.sh; + runtimeInputs = with pkgs; [ + git + ]; +} + diff --git a/pkgs/clerie-update-nixfiles/clerie-cleanup-branches.sh b/pkgs/clerie-update-nixfiles/clerie-cleanup-branches.sh new file mode 100755 index 0000000..a3fa8a1 --- /dev/null +++ b/pkgs/clerie-update-nixfiles/clerie-cleanup-branches.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +# Removes all branches from origin starting with updated-inputs-* except the 8 newest ones + +git fetch origin --prune + +git branch -r | sed "s/^ *//g" | grep "^origin/updated-inputs-" | sort | head -n -8 | sed "s/^origin\///g" | xargs git push origin --delete diff --git a/pkgs/pkgs.nix b/pkgs/pkgs.nix index 2b70d54..5e8c91d 100644 --- a/pkgs/pkgs.nix +++ b/pkgs/pkgs.nix @@ -1,5 +1,6 @@ { clerie-backup = final: prev: final.callPackage ./clerie-backup {}; + clerie-cleanup-branches = final: prev: final.callPackage ./clerie-update-nixfiles/clerie-cleanup-branches.nix {}; clerie-keys = final: prev: final.callPackage ./clerie-keys {}; clerie-system-remote-install = final: prev: final.callPackage ./clerie-system-remote-install {}; clerie-system-upgrade = final: prev: final.callPackage ./clerie-system-upgrade/clerie-system-upgrade.nix {};