nix/home/wayland/sway.nix

84 lines
2.2 KiB
Nix

{
pkgs,
config,
...
}: let
term = config.wayland.windowManager.sway.config.terminal;
homeDir = config.home.homeDirectory;
in {
imports = [ ./keybindings.nix ];
wayland.windowManager.sway = {
enable = true;
systemdIntegration = true;
wrapperFeatures.base = true;
wrapperFeatures.gtk = true;
extraConfig = ''
include /home/thehedgehog/.cache/wal/colors-sway
include /home/thehedgehog/.config/sway/colors
include /home/thehedgehog/.config/sway/apps
default_border pixel
'';
config = {
terminal = "${pkgs.kitty}/bin/kitty";
menu = "exec ${term} --detach --class=launcher -o initial_window_height=50 -o initial_window_width=50 -o font_size=16 ${pkgs.sway-launcher-desktop}/bin/sway-launcher-desktop";
modifier = "Mod4";
bars = [
{command = "true";}
];
focus = {
followMouse = true;
mouseWarping = true;
newWindow = "smart";
};
fonts = {
names = ["Input Sans"];
style = "Regular";
size = 12.0;
};
gaps = {
inner = 4;
outer = 4;
smartBorders = "off";
smartGaps = false;
};
input = {
"type:keyboard" = {
xkb_options = "caps:escape";
};
"type:mouse" = {
accel_profile = "flat";
};
"type:touchpad" = {
accel_profile = "adaptive";
scroll_factor = "1.5";
tap = "enabled";
};
};
modes = {
resize = {
Escape = "mode default";
Return = "mode default";
Up = "resize shrink height 10 px";
Down = "resize grow height 10 px";
Left = "resize shrink width 10 px";
Right = "resize grow width 10 px";
h = "resize shrink width 10 px";
j = "resize grow height 10 px";
k = "resize shrink height 10 px";
l = "resize grow width 10 px";
};
};
output = {
eDP-1 = {
scale = "1.2";
};
"*" = {
bg = "${homeDir}/nix/bgs/nix-snowflake.png fill";
};
};
startup = [
{command = "${pkgs.dex}/bin/dex -a";}
];
};
};
}