aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'modules/scripts')
-rw-r--r--modules/scripts/deep-clean/default.nix3
-rw-r--r--modules/scripts/git-log-graph/completion.zsh4
-rw-r--r--modules/scripts/git-log-graph/default.nix2
-rw-r--r--modules/scripts/git-log-graph/script.sh1
-rw-r--r--modules/scripts/gopass-ssh-load/default.nix1
-rw-r--r--modules/scripts/gopass-ssh-load/script.sh1
-rw-r--r--modules/scripts/gpg-backup/completion.zsh23
-rw-r--r--modules/scripts/gpg-backup/default.nix2
-rw-r--r--modules/scripts/gpg-backup/script.sh1
-rw-r--r--modules/scripts/lib.nix1
-rw-r--r--modules/scripts/neomutt-sync/default.nix1
-rw-r--r--modules/scripts/neomutt-sync/script.sh1
-rw-r--r--modules/scripts/screen-recording/completion.zsh4
-rw-r--r--modules/scripts/screen-recording/default.nix2
-rw-r--r--modules/scripts/screen-recording/script.sh1
-rw-r--r--modules/scripts/system-monitor/script.sh1
-rw-r--r--modules/scripts/yazi-file-chooser/default.nix1
-rw-r--r--modules/scripts/yazi-file-chooser/script.sh1
18 files changed, 50 insertions, 1 deletions
diff --git a/modules/scripts/deep-clean/default.nix b/modules/scripts/deep-clean/default.nix
index dc93c2c..56f6aa0 100644
--- a/modules/scripts/deep-clean/default.nix
+++ b/modules/scripts/deep-clean/default.nix
@@ -10,6 +10,9 @@ let
name = "deep-clean";
path = ./script.sh;
description = "Deep clean script for Nix systems\nRemoves old generations, garbage, and optimizes store\nWARNING: Do NOT run with sudo - run as normal user";
+ deps = [
+ pkgs.bash
+ ];
inherit config;
};
in
diff --git a/modules/scripts/git-log-graph/completion.zsh b/modules/scripts/git-log-graph/completion.zsh
new file mode 100644
index 0000000..1ede549
--- /dev/null
+++ b/modules/scripts/git-log-graph/completion.zsh
@@ -0,0 +1,4 @@
+#compdef git-log-graph
+
+_arguments \
+ '--embed[Skip the pager (same as GIT_LOG_GRAPH_EMBED=1)]'
diff --git a/modules/scripts/git-log-graph/default.nix b/modules/scripts/git-log-graph/default.nix
index a7753ff..8aa79eb 100644
--- a/modules/scripts/git-log-graph/default.nix
+++ b/modules/scripts/git-log-graph/default.nix
@@ -11,11 +11,13 @@ let
path = ./script.sh;
description = "Git log graph with signature verification\nRun with GIT_LOG_GRAPH_EMBED=1 or --embed to skip the pager";
deps = [
+ pkgs.bash
pkgs.git
pkgs.git-graph
pkgs.gawk
pkgs.less
];
+ completion = builtins.readFile ./completion.zsh;
inherit config;
};
in
diff --git a/modules/scripts/git-log-graph/script.sh b/modules/scripts/git-log-graph/script.sh
index 0cc03bd..59fb2bd 100644
--- a/modules/scripts/git-log-graph/script.sh
+++ b/modules/scripts/git-log-graph/script.sh
@@ -1,3 +1,4 @@
+#!/usr/bin/env bash
set -euo pipefail
embed=0
diff --git a/modules/scripts/gopass-ssh-load/default.nix b/modules/scripts/gopass-ssh-load/default.nix
index e0a4615..7b39085 100644
--- a/modules/scripts/gopass-ssh-load/default.nix
+++ b/modules/scripts/gopass-ssh-load/default.nix
@@ -30,6 +30,7 @@ let
config.security.gopass.package
gnupg
openssh
+ bash
];
inherit config;
};
diff --git a/modules/scripts/gopass-ssh-load/script.sh b/modules/scripts/gopass-ssh-load/script.sh
index be7d9d1..c6b9a29 100644
--- a/modules/scripts/gopass-ssh-load/script.sh
+++ b/modules/scripts/gopass-ssh-load/script.sh
@@ -1,3 +1,4 @@
+#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
diff --git a/modules/scripts/gpg-backup/completion.zsh b/modules/scripts/gpg-backup/completion.zsh
new file mode 100644
index 0000000..f47bbe8
--- /dev/null
+++ b/modules/scripts/gpg-backup/completion.zsh
@@ -0,0 +1,23 @@
+#compdef gpg-backup
+
+_arguments \
+ '1: :->cmds' \
+ '*::arg:->args'
+
+case $state in
+ cmds)
+ local -a commands
+ commands=(
+ 'export:Export all GPG keys to a passphrase-protected file'
+ 'import:Import GPG keys from a backup file'
+ )
+ _describe 'command' commands
+ ;;
+ args)
+ case $words[1] in
+ export|import)
+ _files
+ ;;
+ esac
+ ;;
+esac
diff --git a/modules/scripts/gpg-backup/default.nix b/modules/scripts/gpg-backup/default.nix
index d91c839..1ab41b4 100644
--- a/modules/scripts/gpg-backup/default.nix
+++ b/modules/scripts/gpg-backup/default.nix
@@ -11,11 +11,13 @@ let
path = ./script.sh;
description = "Export/import all GPG keys as a single passphrase-protected file with maximum S2K iteration count\nUsage: gpg-backup export filename.gpg | gpg-backup import filename.gpg";
deps = [
+ pkgs.bash
pkgs.gnupg
pkgs.gnutar
pkgs.coreutils
pkgs.findutils
];
+ completion = builtins.readFile ./completion.zsh;
inherit config;
};
in
diff --git a/modules/scripts/gpg-backup/script.sh b/modules/scripts/gpg-backup/script.sh
index c8e7363..57c216b 100644
--- a/modules/scripts/gpg-backup/script.sh
+++ b/modules/scripts/gpg-backup/script.sh
@@ -1,3 +1,4 @@
+#!/usr/bin/env bash
set -euo pipefail
WORKDIR="$(mktemp -d)"
diff --git a/modules/scripts/lib.nix b/modules/scripts/lib.nix
index 77c0a20..76e453e 100644
--- a/modules/scripts/lib.nix
+++ b/modules/scripts/lib.nix
@@ -13,7 +13,6 @@ let
inherit name;
runtimeInputs = deps;
text = ''
- #!/usr/bin/env bash
${descComment}${envVars}
${builtins.readFile path}
'';
diff --git a/modules/scripts/neomutt-sync/default.nix b/modules/scripts/neomutt-sync/default.nix
index 816c9f7..d990210 100644
--- a/modules/scripts/neomutt-sync/default.nix
+++ b/modules/scripts/neomutt-sync/default.nix
@@ -11,6 +11,7 @@ let
path = ./script.sh;
description = "Neomutt-sync - Interactive mail sync with dialog progress bar";
deps = [
+ pkgs.bash
pkgs.dialog
pkgs.coreutils
pkgs.gawk
diff --git a/modules/scripts/neomutt-sync/script.sh b/modules/scripts/neomutt-sync/script.sh
index e7abbae..d0dac63 100644
--- a/modules/scripts/neomutt-sync/script.sh
+++ b/modules/scripts/neomutt-sync/script.sh
@@ -1,3 +1,4 @@
+#!/usr/bin/env bash
DIALOGRC=$(mktemp)
NOTMUCH_LOG=$(mktemp)
TITLE="[󰇮 SYNCING MAIL]"
diff --git a/modules/scripts/screen-recording/completion.zsh b/modules/scripts/screen-recording/completion.zsh
new file mode 100644
index 0000000..835ec43
--- /dev/null
+++ b/modules/scripts/screen-recording/completion.zsh
@@ -0,0 +1,4 @@
+#compdef screen-recording
+
+_arguments \
+ '(-s --select)'{-s,--select}'[Launch slurp to select recording region]'
diff --git a/modules/scripts/screen-recording/default.nix b/modules/scripts/screen-recording/default.nix
index 50d54ae..6023232 100644
--- a/modules/scripts/screen-recording/default.nix
+++ b/modules/scripts/screen-recording/default.nix
@@ -11,9 +11,11 @@ let
path = ./script.sh;
description = "Screen recording script using wf-recorder and slurp for region selection\nRecords Wayland screen to MP4\nUsage: screen-recording.sh [-s|--select]\n -s, --select Launch slurp to select recording region";
deps = [
+ pkgs.bash
config.media.slurp.package
config.media.wf-recorder.package
];
+ completion = builtins.readFile ./completion.zsh;
desktop = {
enable = true;
displayName = "Screen Recording";
diff --git a/modules/scripts/screen-recording/script.sh b/modules/scripts/screen-recording/script.sh
index dad0483..336c32e 100644
--- a/modules/scripts/screen-recording/script.sh
+++ b/modules/scripts/screen-recording/script.sh
@@ -1,3 +1,4 @@
+#!/usr/bin/env bash
OUT_DIR="$HOME/Videos/Recordings"
mkdir -p "$OUT_DIR"
diff --git a/modules/scripts/system-monitor/script.sh b/modules/scripts/system-monitor/script.sh
index 91cf560..7a9e7ea 100644
--- a/modules/scripts/system-monitor/script.sh
+++ b/modules/scripts/system-monitor/script.sh
@@ -1,3 +1,4 @@
+#!/usr/bin/env bash
SESSION="system-monitor"
kitty @ set-font-size -- -5
diff --git a/modules/scripts/yazi-file-chooser/default.nix b/modules/scripts/yazi-file-chooser/default.nix
index d06151a..3e99aad 100644
--- a/modules/scripts/yazi-file-chooser/default.nix
+++ b/modules/scripts/yazi-file-chooser/default.nix
@@ -11,6 +11,7 @@ let
path = ./script.sh;
description = "Yazi-based file chooser for XDG Desktop Portal";
deps = [
+ pkgs.bash
config.file-management.yazi.package
config.terminal.kitty.package
];
diff --git a/modules/scripts/yazi-file-chooser/script.sh b/modules/scripts/yazi-file-chooser/script.sh
index 5e4b229..7978222 100644
--- a/modules/scripts/yazi-file-chooser/script.sh
+++ b/modules/scripts/yazi-file-chooser/script.sh
@@ -1,3 +1,4 @@
+#!/usr/bin/env bash
# $1 toggles multiple selection
# $2 toggles directory select mode
# $3 toggles save file mode