From 36a6779fc0fa1430d944a7da99ec68859d9d5c02 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Wed, 19 Mar 2025 17:22:36 +0100 Subject: [PATCH] nixos-switch-to-specialization --- .../nixos-switch-to-specialization.sh | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 users/pbsds/home/profiles/bashrc.d/nixos-switch-to-specialization.sh diff --git a/users/pbsds/home/profiles/bashrc.d/nixos-switch-to-specialization.sh b/users/pbsds/home/profiles/bashrc.d/nixos-switch-to-specialization.sh new file mode 100644 index 0000000..afe85e1 --- /dev/null +++ b/users/pbsds/home/profiles/bashrc.d/nixos-switch-to-specialization.sh @@ -0,0 +1,23 @@ +nixos-switch-to-specialization() { + if [[ -z "$(ls /run/current-system/specialisation)" ]]; then + printf >&2 "%s\n" "No specializations found!" + return 1 + fi + + if ! command -v gum >/dev/null; then + printf >&2 "%s\n" "ERROR: 'gum' not found in PATH" + return 1 + fi + + specialization=$( + ls /run/current-system/specialisation | gum choose --height=15 + ) + if [[ -z "$specialization" ]]; then + return 1 + fi + + ( + set -x + sudo /run/current-system/specialisation/"$specialization"/bin/switch-to-configuration switch + ) +}