43 lines
1.4 KiB
Nix
43 lines
1.4 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
screenshot_sway_config = pkgs.writeTextFile {
|
|
name = "screenshot.conf";
|
|
text =
|
|
builtins.replaceStrings
|
|
[ "@grim@" "@wl-screenrec@" "@pactl@" "@grep@" "@slurp@" ]
|
|
[
|
|
"${pkgs.grim}/bin/grim"
|
|
"${pkgs.wl-screenrec}/bin/wl-screenrec"
|
|
"${pkgs.pulseaudio}/bin/pactl"
|
|
"${pkgs.gnugrep}/bin/grep"
|
|
"${pkgs.slurp}/bin/slurp"
|
|
]
|
|
''
|
|
# Screenshots
|
|
#bindsym $mod+print exec @slurp@ | @grim@ -g - $(xdg-user-dir PICTURES)/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')
|
|
bindsym $mod+print exec @slurp@ | @grim@ -g - "$HOME/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')"
|
|
bindsym print exec @grim@ "$HOME/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')"
|
|
# Maybe add --audio flag? can optionally specify specific device name from `@pactl@ list sources | @grep@ Name`
|
|
bindsym $mod+Shift+print exec @wl-screenrec@ -g "$(@slurp@)" --codec av1 -f "$HOME/$(date +'screencast_%Y-%m-%d-%H%M%S.mkv')"
|
|
bindsym Shift+print exec @wl-screenrec@ --codec av1 -f "$HOME/$(date +'screencast_%Y-%m-%d-%H%M%S.mkv')"
|
|
bindsym $mod+ctrl+Shift+print exec pkill -SIGINT @wl-screenrec@
|
|
# Need to make a hotkey to end the recording
|
|
'';
|
|
};
|
|
in
|
|
{
|
|
imports = [ ];
|
|
|
|
config = lib.mkIf (config.me.graphical && config.me.sway.enable) {
|
|
me.swayIncludes = [
|
|
screenshot_sway_config
|
|
];
|
|
};
|
|
}
|