69 lines
2.2 KiB
Nix
69 lines
2.2 KiB
Nix
{ config, pkgs, lib, ... }: {
|
||
wayland.windowManager.sway = {
|
||
enable = true;
|
||
config = {
|
||
modifier = "Mod4";
|
||
input = {
|
||
"*" = {
|
||
xkb_layout = "de,de";
|
||
xkb_variant = "neo_qwertz,neo";
|
||
xkb_options = "grp:ctrls_toggle";
|
||
};
|
||
};
|
||
output = {
|
||
"DP-1" = {
|
||
mode = "2560x1440@74.971Hz";
|
||
position = "0 0";
|
||
subpixel = "rgb";
|
||
adaptive_sync = "on";
|
||
};
|
||
"HDMI-A-1" = {
|
||
mode = "1920x1080@60Hz";
|
||
position = "2560 0";
|
||
subpixel = "rgb";
|
||
};
|
||
};
|
||
keybindings =
|
||
let
|
||
modifier = config.wayland.windowManager.sway.config.modifier;
|
||
in
|
||
lib.mkOptionDefault {
|
||
"${modifier}+Return" = "exec ${pkgs.alacritty}/bin/alacritty";
|
||
"${modifier}+d" = "exec ${pkgs.wofi}/bin/wofi --show drun";
|
||
"Print" = "mode screenshot";
|
||
};
|
||
bars = [
|
||
{
|
||
command = "${pkgs.waybar}/bin/waybar";
|
||
}
|
||
];
|
||
modes = {
|
||
screenshot = {
|
||
Print = ''exec ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp -d)" - | ${pkgs.wl-clipboard}/bin/wl-copy'';
|
||
w = ''exec ${pkgs.grim}/bin/grim -g "$(${pkgs.sway}/bin/swaymsg -t get_tree | ${pkgs.jq}/bin/jq -r '.. | select(.focused?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"')" - | ${pkgs.wl-clipboard}/bin/wl-copy'';
|
||
f = ''exec ${pkgs.grim}/bin/grim - | ${pkgs.wl-clipboard}/bin/wl-copy'';
|
||
Escape = ''mode "default"'';
|
||
Return = ''mode "default"'';
|
||
};
|
||
};
|
||
startup = [
|
||
{
|
||
command = "${pkgs.wl-clipboard}/bin/wl-paste --watch ${pkgs.clipman}/bin/clipman store --no-persist";
|
||
}
|
||
{
|
||
command = "${pkgs.mako}/bin/mako";
|
||
}
|
||
#{
|
||
# command = "${pkgs.swayidle}/bin/swayidle -w timeout 300 '${pkgs.swaylock}/bin/swaylock' timeout 305 '${pkgs.sway}/bin/swaymsg \"output * dpms off\"' resume '${pkgs.sway}/bin/swaymsg \"output * dpms on\"' lock '${pkgs.swaylock}/bin/swaylock' unlock '${pkgs.procps}/bin/pkill swayidle'";
|
||
#}
|
||
# TODO: doesn’t accept my password ???
|
||
];
|
||
};
|
||
wrapperFeatures.gtk = true;
|
||
};
|
||
|
||
home.file.".XCompose ".source = ../../extra/.XCompose;
|
||
}
|
||
|
||
|
||
|