117 lines
3.3 KiB
Nix
117 lines
3.3 KiB
Nix
{ pkgs, ... }: {
|
|
home.sessionVariables = {
|
|
XDG_SESSION_TYPE = "wayland";
|
|
XDG_CURRENT_DESKTOP = "niri";
|
|
XDG_SESSION_DESKTOP = "niri";
|
|
QT_QPA_PLATFORM = "wayland;xcb";
|
|
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
|
QT_ENABLE_HIGHDPI_SCALING = "1";
|
|
QT_SCALE_FACTOR_ROUNDING_POLICY = "RoundPreferFloor";
|
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
|
XDG_MENU_PREFIX = "plasma-";
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
grim
|
|
slurp
|
|
satty
|
|
wl-clipboard
|
|
];
|
|
|
|
home.file.".local/bin/screenshot" = {
|
|
executable = true;
|
|
text = ''
|
|
#!/usr/bin/env bash
|
|
MODE="''${1:-region}"
|
|
SAVE_DIR="$HOME/Images/screenshots"
|
|
mkdir -p "$SAVE_DIR"
|
|
FILENAME="$SAVE_DIR/$(date '+%Y%m%d-%H%M%S').png"
|
|
|
|
case "$MODE" in
|
|
region)
|
|
grim -g "$(slurp)" -t ppm - | satty --filename - --output-filename "$FILENAME" --copy-command wl-copy --early-exit
|
|
;;
|
|
screen)
|
|
grim -t ppm - | satty --filename - --output-filename "$FILENAME" --copy-command wl-copy --early-exit
|
|
;;
|
|
monitor)
|
|
grim -o "$(niri msg focused-output | grep 'Output' | awk '{print $2}')" -t ppm - \
|
|
| satty --filename - --output-filename "$FILENAME" --copy-command wl-copy --early-exit
|
|
;;
|
|
esac
|
|
'';
|
|
};
|
|
|
|
xdg.configFile."niri/config.kdl".text = ''
|
|
// Modificadores: Mod = Super (tecla Windows)
|
|
input {
|
|
keyboard {
|
|
xkb {
|
|
layout "en"
|
|
}
|
|
}
|
|
touchpad {
|
|
tap
|
|
natural-scroll
|
|
}
|
|
}
|
|
|
|
layout {
|
|
gaps 8
|
|
border {
|
|
width 2
|
|
active-color "#7aa2f7"
|
|
inactive-color "#3b4261"
|
|
}
|
|
}
|
|
|
|
prefer-no-csd
|
|
|
|
screenshot-path "~/Imagens/screenshots/%Y-%m-%d %H-%M-%S.png"
|
|
|
|
binds {
|
|
// Aplicativos
|
|
Mod+Return { spawn "kitty"; }
|
|
Mod+D { spawn "fuzzel"; }
|
|
Mod+Q { close-window; }
|
|
|
|
// Foco
|
|
Mod+Left { focus-column-left; }
|
|
Mod+Right { focus-column-right; }
|
|
Mod+Up { focus-window-up; }
|
|
Mod+Down { focus-window-down; }
|
|
|
|
// Mover janelas
|
|
Mod+Shift+Left { move-column-left; }
|
|
Mod+Shift+Right { move-column-right; }
|
|
Mod+Shift+Up { move-window-up; }
|
|
Mod+Shift+Down { move-window-down; }
|
|
|
|
// Workspaces
|
|
Mod+1 { focus-workspace 1; }
|
|
Mod+2 { focus-workspace 2; }
|
|
Mod+3 { focus-workspace 3; }
|
|
Mod+4 { focus-workspace 4; }
|
|
Mod+5 { focus-workspace 5; }
|
|
Mod+Shift+1 { move-window-to-workspace 1; }
|
|
Mod+Shift+2 { move-window-to-workspace 2; }
|
|
Mod+Shift+3 { move-window-to-workspace 3; }
|
|
Mod+Shift+4 { move-window-to-workspace 4; }
|
|
Mod+Shift+5 { move-window-to-workspace 5; }
|
|
|
|
// Sistema
|
|
Mod+Shift+E { quit; }
|
|
Mod+L { spawn "swaylock"; }
|
|
|
|
// Volume
|
|
XF86AudioRaiseVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"; }
|
|
XF86AudioLowerVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"; }
|
|
XF86AudioMute { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
|
|
|
// Screenshot
|
|
Mod+Shift+S { spawn "bash" "-c" "$HOME/.local/bin/screenshot region"; }
|
|
Mod+Shift+Alt+S { spawn "bash" "-c" "$HOME/.local/bin/screenshot screen"; }
|
|
Mod+Shift+Ctrl+S { spawn "bash" "-c" "$HOME/.local/bin/screenshot monitor"; }
|
|
}
|
|
'';
|
|
}
|