2025-04-07 16:27:11 +02:00
|
|
|
{ lib, config, pkgs, ... }:
|
|
|
|
{
|
|
|
|
programs = {
|
|
|
|
swaylock.enable = true;
|
|
|
|
};
|
|
|
|
services = {
|
|
|
|
swayidle = {
|
|
|
|
enable = true;
|
|
|
|
events = [
|
|
|
|
{ event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
|
|
|
|
];
|
|
|
|
timeouts = [
|
|
|
|
{
|
|
|
|
timeout = 300;
|
|
|
|
command = "${pkgs.swaylock}/bin/swaylock -fF";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
timeout = 330;
|
|
|
|
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
|
|
|
|
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
swaync = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
};
|
|
|
|
swayosd = {
|
|
|
|
enable = true;
|
|
|
|
display = "DP-1";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
wayland.windowManager = {
|
|
|
|
sway = {
|
|
|
|
enable = true;
|
|
|
|
extraConfig = ''
|
|
|
|
smart_gaps inverse_outer
|
|
|
|
'';
|
|
|
|
config = {
|
|
|
|
bars = [];
|
|
|
|
window = {
|
|
|
|
commands = [
|
|
|
|
{
|
|
|
|
command = "floating enable, sticky enable, resize set 20 ppt 40 ppt, border pixel 10";
|
|
|
|
criteria = {
|
|
|
|
app_id = "^launcher";
|
|
|
|
};
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
gaps = {
|
|
|
|
inner = 30;
|
|
|
|
vertical = 50;
|
|
|
|
horizontal = 400;
|
|
|
|
# smartGaps = true;
|
|
|
|
smartBorders = "on";
|
|
|
|
};
|
|
|
|
input = {
|
|
|
|
"type:keyboard" = {
|
|
|
|
xkb_layout = "eu";
|
|
|
|
xkb_options = "compose:rwin";
|
|
|
|
};
|
|
|
|
"type:touchpad" = {
|
|
|
|
tap = "enabled";
|
|
|
|
natural_scroll = "enabled";
|
|
|
|
dwt = "enabled";
|
|
|
|
accel_profile = "adaptive";
|
|
|
|
pointer_accel = "0.5";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
keybindings = let
|
|
|
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
|
|
|
in lib.mkOptionDefault {
|
|
|
|
"XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+";
|
|
|
|
"XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
|
|
|
|
"XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
|
|
|
"XF86MonBrightnessUp" = "exec brightnessctl set 10%+";
|
|
|
|
"XF86MonBrightnessDown" = "exec brightnessctl set 10%-";
|
|
|
|
"XF86AudioPlay" = "exec playerctl play-pause";
|
|
|
|
"XF86AudioNext" = "exec playerctl next";
|
|
|
|
"XF86AudioPrev" = "exec playerctl previous";
|
|
|
|
"${modifier}+o" = "for_window [class=obsidian] scratchpad show";
|
|
|
|
};
|
|
|
|
menu = "kitty --app-id launcher -e sway-launcher-desktop";
|
|
|
|
modifier = "Mod4";
|
|
|
|
output = {
|
|
|
|
DP-1 = {
|
|
|
|
resolution = "3840x2160@30Hz";
|
|
|
|
position = "1280 0";
|
|
|
|
# background = "/home/muhh/Sync/Backgrounds/wald.jpg fill";
|
|
|
|
scale = "1.5";
|
|
|
|
};
|
|
|
|
HDMI-A-1 = {
|
|
|
|
resolution = "1920x1080@60.000Hz";
|
|
|
|
transform = "180";
|
|
|
|
position = "0 0";
|
|
|
|
scale = "1.5";
|
|
|
|
# background = "/home/muhh/Sync/Backgrounds/pfuetze.jpg fill";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
seat = {
|
|
|
|
"*" = {
|
|
|
|
hide_cursor = "5000";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
terminal = "kitty";
|
|
|
|
window = {
|
|
|
|
titlebar = false;
|
|
|
|
};
|
|
|
|
workspaceOutputAssign =
|
|
|
|
map (x: {
|
|
|
|
workspace = x;
|
|
|
|
output = "DP-1";
|
|
|
|
}) ["1" "2" "3" "4" "5" "6" "7"]
|
|
|
|
++ map (x: {
|
|
|
|
workspace = x;
|
|
|
|
output = "HDMI-A-1";
|
|
|
|
}) ["8" "9" "10"];
|
|
|
|
};
|
|
|
|
wrapperFeatures.gtk = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|