mirror of
https://github.com/lightly-toasted/nix-config.git
synced 2025-10-04 03:15:41 +00:00
feat: add hyprshot-save script
- Added hyprshot-save shell script with --no-upload option - Updated keybindings to use the new hyprshot-save script - Refactored the zipline secret in secrets.yaml into zipline/env and zipline/token - Updated zipline.nix on host vps to use the new zipline/env secret path
This commit is contained in:
parent
55a021961c
commit
3318d2d14b
4 changed files with 65 additions and 20 deletions
|
@ -1,10 +1,6 @@
|
|||
{ pkgs, ... }: {
|
||||
home.packages = [
|
||||
pkgs.playerctl
|
||||
pkgs.hyprshot
|
||||
pkgs.tofi
|
||||
];
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.mouse-actions.enable = true;
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
@ -15,7 +11,7 @@
|
|||
|
||||
"$terminal" = "uwsm app -- kitty";
|
||||
"$fileManager" = "uwsm app -- thunar";
|
||||
"$menu" = "uwsm app -- $(tofi-drun)";
|
||||
"$menu" = "uwsm app -- $(${pkgs.tofi}/bin/tofi-drun)";
|
||||
"$mod" = "SUPER";
|
||||
|
||||
env = [
|
||||
|
@ -73,9 +69,10 @@
|
|||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
"$mod SHIFT, S, exec, env HYPRSHOT_DIR=/data/Backup/Screenshots hyprshot -m region"
|
||||
"$mod, S, exec, hyprshot-save --no-upload"
|
||||
"$mod SHIFT, S, exec, hyprshot-save"
|
||||
"$mod SHIFT, E, exec, powermenu"
|
||||
"$mod, V, exec, cliphist list | tofi | cliphist decode | wl-copy"
|
||||
"$mod, V, exec, cliphist list | ${pkgs.tofi}/bin/tofi | cliphist decode | wl-copy"
|
||||
|
||||
"$mod, mouse:277, exec, cycle-mouse-action"
|
||||
", mouse:277, exec, run-mouse-action"
|
||||
|
@ -89,11 +86,11 @@
|
|||
];
|
||||
|
||||
bindl = [
|
||||
", XF86AudioNext, exec, playerctl next"
|
||||
", XF86AudioPause, exec, playerctl play-pause"
|
||||
", XF86AudioPlay, exec, playerctl play-pause"
|
||||
", XF86AudioPrev, exec, playerctl previous"
|
||||
", XF86Tools, exec, playerctl play-pause"
|
||||
", XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next"
|
||||
", XF86AudioPause, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
|
||||
", XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
|
||||
", XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous"
|
||||
", XF86Tools, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
|
|
46
home/modules/graphical/hyprshot-save.nix
Executable file
46
home/modules/graphical/hyprshot-save.nix
Executable file
|
@ -0,0 +1,46 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
sops.secrets."zipline/token" = { };
|
||||
home.packages = [
|
||||
(pkgs.writeShellScriptBin "hyprshot-save" ''
|
||||
export HYPRSHOT_DIR=/data/Backup/Screenshots/
|
||||
|
||||
NO_UPLOAD=false
|
||||
DELETE=false
|
||||
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
--no-upload) NO_UPLOAD=true ;;
|
||||
--delete) DELETE=true ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$NO_UPLOAD" = true ]; then
|
||||
${pkgs.hyprshot}/bin/hyprshot -m region
|
||||
exit 0
|
||||
fi
|
||||
|
||||
tmpfile=$(mktemp --suffix=".png")
|
||||
${pkgs.hyprshot}/bin/hyprshot -m region -o "$(dirname "$tmpfile")" -f "$(basename "$tmpfile")"
|
||||
|
||||
token=$(cat ${config.sops.secrets."zipline/token".path})
|
||||
|
||||
url=$(curl -s \
|
||||
-H "authorization: $token" \
|
||||
-H "content-type: multipart/form-data" \
|
||||
-F "file=@$tmpfile;type=image/png" \
|
||||
https://i.toast.name/api/upload \
|
||||
| ${pkgs.jq}/bin/jq -r '.files[0].url')
|
||||
|
||||
wl-copy <<< "$url"
|
||||
notify-send "hyprshot-save" "URL copied to clipboard:\n$url"
|
||||
|
||||
if [ "$DELETE" = true ]; then
|
||||
rm -f "$tmpfile"
|
||||
echo "Deleted temporary screenshot: $tmpfile"
|
||||
fi
|
||||
'')
|
||||
];
|
||||
}
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
{ config, ... }:
|
||||
|
||||
{
|
||||
sops.secrets."zipline" = { };
|
||||
sops.secrets."zipline/env" = { };
|
||||
services.zipline = {
|
||||
enable = true;
|
||||
settings = {
|
||||
CORE_HOSTNAME = "127.0.0.1";
|
||||
CORE_PORT = 3000;
|
||||
};
|
||||
environmentFiles = [ config.sops.secrets."zipline".path ];
|
||||
environmentFiles = [ config.sops.secrets."zipline/env".path ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,7 +4,9 @@ github_token: ENC[AES256_GCM,data:3LoIlgJTmCfMwPcTz1Q+exe8QV8XaYuYu6pAQp6yKq0aSs
|
|||
restic:
|
||||
password: ENC[AES256_GCM,data:CaWwS1Pm2LoeLHWtZv7fahpyJu4vgGgNo5E88tDXK767UH39naxcJuejq1l2Bb2OM5x8+zsIUPz8mPYAJD/Yaw==,iv:zJSZKliRzGdTlBMXk6wG9aVeR3xFQP2chcHm3LrNfjk=,tag:z90vqLU29EPgczL4X/XG4g==,type:str]
|
||||
rclone-config: ENC[AES256_GCM,data:HAuuawWALDQzsn6wJxQIbh57OaJnqwfm4tfhVJJ61wUgC3Kg3a/butjTCX6Q9DVQ7ygK2KH/29p4/lzSeQTGpMx7evOYi8qHQmvW+XMepx0+DEN6+y8iMRw3HG2/cctWoLDcf1RPw+eQdhDPSd/TnU26gNNdxEfTkEKPxQ5ctlLMmyGmUy2UCMarG5I6F88M2y608syTMDfbF22YHpLCBcofKbpvN9rOvqmrM8KxZ8m4JVDcbA23/X36dVkWYKrBuTW8Y2Wuo1o7dAesHIXsxW0KstnJomn/2bDNVjbsiaAlT7Vt4WVm0Gmg8ost2IrAqOeQdevw3V2SYhfCtCEJSmtpvR7KFO0e/Jsj0kF1xFdVQR7QyYO2IsyAyAozpD9pILVNOrfZ6LT8TYI+p1RnR504lumo1VPXKoRE6nnyaZWb1ABuSqXhiOVQcHN2Kg9WWEk6d3XhoIcVob1MFLvgoFttMn5dMUFqtpmpKm+E7/jxGP7wg19pmWanfr2lsbt/vnobkqKFLWFevfuK9u6atRXYo4PyONPo2KDwpI7+7WBBD49pbiklxyNUGYgYpIsLrvaG1fVnCxgdGKI7vdtBK9uLVIEP2t0cZqGs2SjEfBhJrGgU76vSTQrRm0RqA8B1WKXHOrqwaujhVzeaCf4tqRGR1StTtqTeMQ7rKi14oPFXOPTXElSVXvWlFi3yForFpUSptcGJEj5HyHwuzxOww6K2bvOltznOWO0OvI6yVMS0VfagcQBWkV7Gy6qPR98o5v18ZBfDIh8OpcnDwZ2SotTzQfkIUXWzzNTs71cWNCuQexufOzKYk/Afb8kZk1msa3q2jKZj9I3/B0siyE0X6pKgoKuV7t27PSXuDyaFSkd8+E2SLM/GPEBOXy22UwOMvcGbB+s=,iv:MXTKIls+iKS9zAm09acTBmh2imzrjIo5ojLiFW3nGuY=,tag:Z0sDuGYaz/3ZdvVqCY1m/g==,type:str]
|
||||
zipline: ENC[AES256_GCM,data:YP9vpniqBDvIj3rBA25BXXtZBSjee7JMSoz2UF+yUs99Id0jYw6vcElhQGGsbjyONLqyfcFFmJJrzR0E6QBvH7LIeYVyswHP97o7F1kgIt4f8EBfJk09uQrtS9JLCNL97A==,iv:CLBjAnM68CXNmXtX79VhiyhZlOsIf2geQAfTRjwTd3I=,tag:00XyKw0H4vnp92V4bGvnoA==,type:str]
|
||||
zipline:
|
||||
env: ENC[AES256_GCM,data:HOcqrzXnu+BcpZYgv1yzPOTV4ydJiVa0oIXQWMUNt/X6q2TUGPOTwWg/dOgzoi6jGzFxm+wJzugO4lLQurUV0DiWIWLDSm/PK+zW34yLYwMrwK1bRaF9yl7usAN6BEmpLw==,iv:9IZDQRT2JoXNTuyPZrwRSr2m3SnXaLmJcafpkraCFWA=,tag:+7EoCTiY9f0/C5jgvPQknA==,type:str]
|
||||
token: ENC[AES256_GCM,data:Ke+cJQ6Up5RUGqe/3tG7Nk40PoOQ1Vq1jN5QN4N5LXOFgclXpzN7sjx0bumFVEcgg4B7UkHmjHzjRAPtWheFu+1PaN02aQVLMGzYXgujqmccC+6roxYt4vdN0CLzf0Ii7k5KUwX3QdOV+lrVwyoBjgQyTD839YnODI7zavf+aDMlrE4+BlFjjV8MUQHsJ5G017xN0XLKOBIQsGpMl40YsvVXFrNwkZ+DkN7bXCZBiHI41W44snB1C3wkYOO+a0g4JzVjIhcHXalYgOW4Unuyyah8yDoXRxuSq7aZpQ+/AHRiuIuaHSrE5BUJu/9bJdjojNuk6VTsaLFtngViSjtyztcqMAIHFFq/KXAog8tg16dJH/V6PomrWXY=,iv:H/EcD/oNSw1mIwxsqyMeSRPsY7lnzEzTNJs6OPNfPw4=,tag:FgH9Nwxnq62uhCd/Av2kAA==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1mggj0wsszz92kfpvq7pjlf0mthkljl9usu7u98jrmyxh85q4pecs6zz4ll
|
||||
|
@ -16,7 +18,7 @@ sops:
|
|||
Z0crWElZcVFMVUd0VytoTHFqbkRDck0KY8nsRThk1hCA/yDNy5JJ0T6pTUwRZhYW
|
||||
j8grD6JYvauuYa+3tSIwqy2RPiKltx696n9nXy9iPnFUO0QY/rQGVg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-09-24T09:39:53Z"
|
||||
mac: ENC[AES256_GCM,data:wFAJKPFAL/WWlx+3jQRs/VV5vP5SbYOQ79pu8jPt4MzQhxVgccZwlZXcBPewZL5sUlBryCmOjf1CeUZ6wO7RaGS8Jo6XCeUXpa92sGaQubSDcEMJqv/kq13pq93EdQW7TZ8g6+jXPr10ew56torYmtadBrbKhPR5lhiW6EvNjTs=,iv:Mpyt5EHZ6cf1GQ5dPxteuL9wwQiGLZu7xt5vmhA35Fc=,tag:MuEiVi63UVxSuae/2puY2Q==,type:str]
|
||||
lastmodified: "2025-09-25T08:59:38Z"
|
||||
mac: ENC[AES256_GCM,data:BjdbNsicAIUBzztvYLFtyWpQKfAwAL6iYygr7RZsqeszRiNb2fjVC1m4LBgp9f+NWkb2QFXcHouFzeUq84ZMO1QZHGAXgbbV5mR2oHqPl32/Hi387T3lvVjQjSlwh8eMAj4/6e51jmaCuNevOTtZ8Lf7T0FRMNXUSMFL+EbffQo=,iv:A7dl71Zx81QtxiSK0ujYrtlUNhel/NmxfpFVRNsk6Aw=,tag:Y19XPnTaJ0wVa+avpDaUeQ==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.10.2
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue