1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2025-01-08 17:23:53 +00:00
ultima/modules/home/wm/sway/sets.nix
2024-11-21 18:24:15 +09:00

101 lines
2.8 KiB
Nix

{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.module.wm.sway;
border = 2;
titlebar = false;
in {
config = mkMerge [
(mkIf cfg.bars.enable {
wayland.windowManager.sway.config.bars =
[{ command = "${waybar}/bin/waybar"; }];
})
(mkIf cfg.sets.enable {
wayland.windowManager.sway = with config.lib.stylix.colors; {
config = with pkgs; {
# INPUTS
input."*" = {
xkb_layout = "us,ru";
xkb_options = "grp:caps_toggle";
};
# AUTOSTART
startup = [
{ command = "${mako}/bin/mako"; }
{
command = "${autotiling-rs}/bin/autotiling-rs";
always = true;
}
];
bars = [ ];
fonts = { names = [ "JetBrainsMono Nerd Font" ]; };
# MOVEMENT & BINDS
modifier = "Mod4";
bindkeysToCode = true;
workspaceAutoBackAndForth = true;
# DECORATIONS
gaps = {
inner = 4;
outer = 4;
smartBorders = "on";
smartGaps = true;
};
window = {
inherit border titlebar;
hideEdgeBorders = "smart";
};
floating = with config.wayland.windowManager.sway.config; {
inherit border titlebar;
modifier = "${modifier}";
};
# COLORS
colors = lib.mkForce {
background = "#${base00}";
focused = {
background = "#${base00}";
border = "#${base00}";
childBorder = "#${base0B}";
indicator = "#${base08}";
text = "#${base06}";
};
focusedInactive = {
background = "#${base02}";
border = "#${base00}";
childBorder = "#${base0B}";
indicator = "#${base08}";
text = "#${base04}";
};
unfocused = {
background = "#${base00}";
border = "#${base00}";
childBorder = "#${base0B}";
indicator = "#${base08}";
text = "#${base06}";
};
urgent = {
background = "#${base00}";
border = "#${base08}";
childBorder = "#${base0B}";
indicator = "#${base08}";
text = "#${base06}";
};
};
};
extraConfig = ''
corner_radius 10
blur enable
blur_xray on
shadows enable
shadows_on_csd enable
shadow_color #${base00}
shadow_blur_radius 12
default_dim_inactive 0.4
layer_effects "waybar" shadows disable; corner_radius 0; blur disable
'';
};
})
];
}