1
0
Fork 0

Convert screenshot.sh to nix's writeShellApplication

This commit is contained in:
Avery 2024-03-19 14:00:29 +01:00
parent c6651a7eb6
commit 88c6138463
Signed by: Avery
GPG key ID: B684FD451B692E04
5 changed files with 41 additions and 40 deletions

View file

@ -1,19 +1,9 @@
{
pkgs,
config,
inputs,
...
}: {
{ pkgs, config, inputs, ... }: {
home = {
username = "avery";
homeDirectory = "/home/avery";
stateVersion = "24.05";
packages = with pkgs; [
python3
rclone
xdg-user-dirs
xdg-utils
];
packages = with pkgs; [ python3 rclone xdg-utils ];
};
programs.home-manager.enable = true;
}

View file

@ -19,7 +19,6 @@
obs-studio
picard
protonup-qt
grim
libsForQt5.ark
libsForQt5.dolphin
libsForQt5.dolphin-plugins
@ -34,12 +33,12 @@
playerctl
qbittorrent
r2modman
slurp
swww
wl-clipboard
(import ./scripts/colorpicker.nix { inherit pkgs; })
(import ./scripts/currently-playing.nix { inherit pkgs; })
(import ./scripts/change-wallpaper.nix { inherit pkgs; })
(import ./scripts/screenshot.nix { inherit pkgs; })
(pkgs.buildEnv {
name = "desktop-scripts";
paths = [ ./scripts_legacy ];

View file

@ -82,8 +82,8 @@
"SUPER SHIFT, 9, movetoworkspace, 9"
"SUPER SHIFT, 0, movetoworkspace, 10"
"SUPER, S, exec, screenshot.sh full"
"SUPER + SHIFT, S, exec, screenshot.sh section"
"SUPER, S, exec, screenshot full"
"SUPER + SHIFT, S, exec, screenshot section"
"MOD3, C, exec, colorpicker"

View file

@ -0,0 +1,36 @@
{ pkgs }:
pkgs.writeShellApplication {
name = "screenshot";
runtimeInputs = with pkgs; [
dunst
grim
libjxl
slurp
wl-clipboard
xdg-user-dirs
];
text = ''
usage() {
echo "Usage: screenshot { full | section }"
exit 1
}
test -n 1 || usage
FILE_NAME=$(date +'Screenshot_%Y%m%d_%H%M%S')
TEMPORARY_PATH="/tmp/$FILE_NAME.png"
SCREENSHOT_PATH="$(xdg-user-dir PICTURES)/$FILE_NAME.jxl"
if [ "$1" == "full" ]; then
grim "$TEMPORARY_PATH"
elif [ "$1" == "section" ]; then
grim -g "$(slurp -b '#000000aa' -w 0)" "$TEMPORARY_PATH"
else
usage
fi
wl-copy < "$TEMPORARY_PATH"
cjxl "$TEMPORARY_PATH" "$SCREENSHOT_PATH"
dunstify --raw_icon="$TEMPORARY_PATH" "Captura de pantalla realizada" "Guardada como $FILE_NAME.jxl"
rm "$TEMPORARY_PATH"
'';
}

View file

@ -1,24 +0,0 @@
#!/bin/sh
missing_params() {
echo "Missing parameters, usage: screenshot.sh <type>"
exit 1
}
test -n 1 || missing_params
FILE_NAME=$(date +'Screenshot_%Y%m%d_%H%M%S')
TEMPORARY_PATH="/tmp/$FILE_NAME.png"
SCREENSHOT_PATH=$(xdg-user-dir PICTURES)/$FILE_NAME.jxl
if [ $1 == "full" ]; then
grim $TEMPORARY_PATH
elif [ $1 == "section" ]; then
grim -g "$(slurp -b '#000000aa' -w 0)" $TEMPORARY_PATH
fi
if [ $? == 0 ]; then
wl-copy < $TEMPORARY_PATH
cjxl $TEMPORARY_PATH $SCREENSHOT_PATH
dunstify --raw_icon=$TEMPORARY_PATH "Captura de pantalla realizada" "Guardada como $FILE_NAME.jxl"
rm $TEMPORARY_PATH
fi