about summary refs log tree commit diff stats
path: root/pkgs/by-name/sc
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-23 13:26:22 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-23 13:26:22 +0200
commit204731c0a69136c9cebcb54f1afecf5145e26bbe (patch)
treefc9132e5dc74e4a8e1327cdd411839a90f9410aa /pkgs/by-name/sc
parentrefactor(sys): Modularize and move to `modules/system` or `pkgs` (diff)
downloadnixos-config-204731c0a69136c9cebcb54f1afecf5145e26bbe.tar.gz
nixos-config-204731c0a69136c9cebcb54f1afecf5145e26bbe.zip
refactor(pkgs): Categorize into `by-name` shards
This might not be the perfect way to organize a package set --
especially if the set is not nearly the size of nixpkgs -- but it is
_at_ least a way of organization.
Diffstat (limited to 'pkgs/by-name/sc')
-rw-r--r--pkgs/by-name/sc/screenshot_persistent/package.nix23
-rwxr-xr-xpkgs/by-name/sc/screenshot_persistent/screenshot_persistent.sh22
-rw-r--r--pkgs/by-name/sc/screenshot_temporary/package.nix17
-rwxr-xr-xpkgs/by-name/sc/screenshot_temporary/screenshot_temporary.sh8
4 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/by-name/sc/screenshot_persistent/package.nix b/pkgs/by-name/sc/screenshot_persistent/package.nix
new file mode 100644
index 00000000..f79315a1
--- /dev/null
+++ b/pkgs/by-name/sc/screenshot_persistent/package.nix
@@ -0,0 +1,23 @@
+{
+  sysLib,
+  grim,
+  slurp,
+  alacritty,
+  rofi,
+  libnotify,
+  lf, # TODO: add llp
+}:
+sysLib.writeShellScript {
+  name = "screenshot_persistent";
+  src = ./screenshot_persistent.sh;
+  generateCompletions = false;
+  keepPath = true;
+  dependencies = [
+    grim
+    slurp
+    alacritty
+    rofi
+    libnotify
+    lf # TODO: add llp
+  ];
+}
diff --git a/pkgs/by-name/sc/screenshot_persistent/screenshot_persistent.sh b/pkgs/by-name/sc/screenshot_persistent/screenshot_persistent.sh
new file mode 100755
index 00000000..4308b8d2
--- /dev/null
+++ b/pkgs/by-name/sc/screenshot_persistent/screenshot_persistent.sh
@@ -0,0 +1,22 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+# only generate a path (this could lead to a time-of-check/time-of-use bug)
+tmp="$(mktmp --dry-run)"
+
+if grim -g "$(slurp)" "$tmp"; then
+    name="$(rofi -dmenu -p "Name of screenshot: " -l 0)"
+    screen_shot_path="$HOME/media/pictures/screenshots/$name.png"
+    while [ -f "$screen_shot_path" ]; do
+        notify-send "Warning" 'Screenshot name already in use!'
+        name="$(rofi -dmenu -p "New name of screenshot: " -l 0)"
+        screen_shot_path="$HOME/media/pictures/screenshots/$name.png"
+    done
+
+    mv "$tmp" "$screen_shot_path"
+    alacritty -e lf -command ":{{ set sortby atime; set reverse!; }}"
+fi
+
+# vim: ft=sh
diff --git a/pkgs/by-name/sc/screenshot_temporary/package.nix b/pkgs/by-name/sc/screenshot_temporary/package.nix
new file mode 100644
index 00000000..f3739b01
--- /dev/null
+++ b/pkgs/by-name/sc/screenshot_temporary/package.nix
@@ -0,0 +1,17 @@
+{
+  sysLib,
+  grim,
+  slurp,
+  wl-clipboard,
+}:
+sysLib.writeShellScript {
+  name = "screenshot_temporary";
+  src = ./screenshot_temporary.sh;
+  generateCompletions = false;
+  keepPath = false;
+  dependencies = [
+    grim
+    slurp
+    wl-clipboard
+  ];
+}
diff --git a/pkgs/by-name/sc/screenshot_temporary/screenshot_temporary.sh b/pkgs/by-name/sc/screenshot_temporary/screenshot_temporary.sh
new file mode 100755
index 00000000..8968ca79
--- /dev/null
+++ b/pkgs/by-name/sc/screenshot_temporary/screenshot_temporary.sh
@@ -0,0 +1,8 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+grim -g "$(slurp)" | wl-copy
+
+# vim: ft=sh