switch from flameshot to grim+satty

This commit is contained in:
notgne2 2025-10-26 20:30:19 -07:00
parent ab4c6db5dd
commit 3fea27a8ca
No known key found for this signature in database
3 changed files with 20 additions and 19 deletions

View file

@ -46,7 +46,6 @@ inputs: all: {
zip zip
unzip unzip
ncdu ncdu
nix-index
unrar unrar
lm_sensors lm_sensors
pciutils pciutils

View file

@ -98,7 +98,7 @@ in {
xdg.portal = { xdg.portal = {
enable = true; enable = true;
xdgOpenUsePortal = true; xdgOpenUsePortal = true;
extraPortals = [ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk ]; extraPortals = [pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk];
config = { config = {
common.default = ["gtk"]; common.default = ["gtk"];
hyprland.default = ["gtk" "hyprland"]; hyprland.default = ["gtk" "hyprland"];
@ -160,18 +160,11 @@ in {
resize_on_border = true; resize_on_border = true;
}; };
gestures = { gestures = {
}; };
bindm = [ bindm = [
"$mod, mouse:272, movewindow" "$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow" "$mod, mouse:273, resizewindow"
]; ];
windowrulev2 = [
"move 0 0,class:(flameshot),title:(flameshot)"
"pin,class:(flameshot),title:(flameshot)"
"fullscreenstate,class:(flameshot),title:(flameshot)"
"float,class:(flameshot),title:(flameshot)"
];
bind = bind =
[ [
"$mod, Return, exec, ${config.programs.foot.package}/bin/foot" "$mod, Return, exec, ${config.programs.foot.package}/bin/foot"
@ -182,7 +175,7 @@ in {
"$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next" "$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next"
"$mod, D, exec, ${config.programs.rofi.package}/bin/rofi -show drun -show-icons" "$mod, D, exec, ${config.programs.rofi.package}/bin/rofi -show drun -show-icons"
", Print, exec, ${config.services.flameshot.package}/bin/flameshot gui -p=\"${config.services.flameshot.settings.General.savePath}/$(date '+${config.services.flameshot.settings.General.filenamePattern}')\" --raw | wl-copy -t image/png" ", Print, exec, grim - | satty -f -"
"$mod, c, exec, ${config.services.cliphist.package}/bin/cliphist list | rofi -dmenu | cliphist decode | wl-copy" "$mod, c, exec, ${config.services.cliphist.package}/bin/cliphist list | rofi -dmenu | cliphist decode | wl-copy"
@ -260,8 +253,9 @@ in {
++ ( ++ (
# workspaces # workspaces
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9} # binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
builtins.concatLists (builtins.genList (i: builtins.concatLists (builtins.genList (
let ws = i + 1; i: let
ws = i + 1;
in [ in [
"$mod, code:1${toString i}, workspace, ${toString ws}" "$mod, code:1${toString i}, workspace, ${toString ws}"
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}" "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
@ -282,7 +276,7 @@ in {
"workspaces" "workspaces"
"windowtitle" "windowtitle"
]; ];
middle = [ "media" ]; middle = ["media"];
right = [ right = [
"systray" "systray"
"bluetooth" "bluetooth"
@ -379,6 +373,8 @@ in {
slop slop
xorg.xhost xorg.xhost
pamixer pamixer
sway-contrib.grimshot
grim
]; ];
programs.rofi = { programs.rofi = {
@ -386,13 +382,17 @@ in {
terminal = lib.mkDefault "${config.programs.foot.package}/bin/foot"; terminal = lib.mkDefault "${config.programs.foot.package}/bin/foot";
}; };
services.flameshot = { programs.satty = {
enable = true; enable = true;
settings.General = { settings.general = {
filenamePattern = "%F_%T"; fullscreen = true;
savePath = "${config.home.homeDirectory}/Media/Screenshots"; initial-tool = "crop";
saveAfterCopy = true; early-exit = true;
useGrimAdapter = true; copy-command = "wl-copy";
save-after-copy = true;
actions-on-enter = ["save-to-clipboard"];
actions-on-escape = ["exit"];
output-filename = "${config.home.homeDirectory}/Media/Screenshots/satty-%F_%T.png";
}; };
}; };

View file

@ -32,6 +32,8 @@ in {
services.gvfs.enable = lib.mkDefault true; services.gvfs.enable = lib.mkDefault true;
services.udisks2.enable = lib.mkDefault true; services.udisks2.enable = lib.mkDefault true;
programs.nix-index-database.comma.enable = true;
console = { console = {
earlySetup = lib.mkDefault false; earlySetup = lib.mkDefault false;
}; };