refactor sway config
This commit is contained in:
parent
4d0b092f9b
commit
76b768777a
3 changed files with 221 additions and 210 deletions
|
@ -33,6 +33,7 @@
|
||||||
pavucontrol
|
pavucontrol
|
||||||
ripgrep
|
ripgrep
|
||||||
spotify-tui
|
spotify-tui
|
||||||
|
wl-clipboard
|
||||||
xdg-utils
|
xdg-utils
|
||||||
yubioath-flutter
|
yubioath-flutter
|
||||||
yubikey-manager
|
yubikey-manager
|
||||||
|
|
|
@ -8,7 +8,7 @@ let
|
||||||
rofi = "${config.programs.rofi.package}/bin/rofi";
|
rofi = "${config.programs.rofi.package}/bin/rofi";
|
||||||
slurp = "${pkgs.slurp}/bin/slurp";
|
slurp = "${pkgs.slurp}/bin/slurp";
|
||||||
swaylock = "${pkgs.swaylock}/bin/swaylock";
|
swaylock = "${pkgs.swaylock}/bin/swaylock";
|
||||||
tmux = "${pkgs.tmux}/bin/tmux";
|
tmux = "${config.programs.tmux.package}/bin/tmux";
|
||||||
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
||||||
xdg-user-dir = "${pkgs.xdg-user-dirs}/bin/xdg-user-dir";
|
xdg-user-dir = "${pkgs.xdg-user-dirs}/bin/xdg-user-dir";
|
||||||
change-wallpaper = "${pkgs.scripts}/bin/chpaper ${pkgs.catppuccin-wallpapers}/share/wallpapers";
|
change-wallpaper = "${pkgs.scripts}/bin/chpaper ${pkgs.catppuccin-wallpapers}/share/wallpapers";
|
||||||
|
|
|
@ -1,215 +1,225 @@
|
||||||
{ config, lib, pkgs, ... }: {
|
{ config, lib, pkgs, ... }: {
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
wayland.windowManager.sway = {
|
||||||
wl-clipboard
|
enable = true;
|
||||||
];
|
systemdIntegration = true;
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
xwayland = true;
|
||||||
|
config = {
|
||||||
|
modifier = "Mod4";
|
||||||
|
fonts = {
|
||||||
|
names = [ "FiraCode Nerd Font" ];
|
||||||
|
size = 11.0;
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
"type:touchpad" = {
|
||||||
|
dwt = "enabled";
|
||||||
|
tap = "enabled";
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
middle_emulation = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
bars = [ ];
|
||||||
|
gaps = {
|
||||||
|
outer = 2;
|
||||||
|
inner = 2;
|
||||||
|
};
|
||||||
|
window.titlebar = false;
|
||||||
|
floating.titlebar = false;
|
||||||
|
colors = {
|
||||||
|
background = "#F8F8F2";
|
||||||
|
focused = {
|
||||||
|
background = "#6272A4";
|
||||||
|
border = "#6272A4";
|
||||||
|
childBorder = "#6272A4";
|
||||||
|
indicator = "#6272A4";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
};
|
||||||
|
focusedInactive = {
|
||||||
|
background = "#44475A";
|
||||||
|
border = "#44475A";
|
||||||
|
childBorder = "#44475A";
|
||||||
|
indicator = "#44475A";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
};
|
||||||
|
placeholder = {
|
||||||
|
background = "#282A36";
|
||||||
|
border = "#282A36";
|
||||||
|
childBorder = "#282A36";
|
||||||
|
indicator = "#282A36";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
};
|
||||||
|
unfocused = {
|
||||||
|
background = "#282A36";
|
||||||
|
border = "#282A36";
|
||||||
|
childBorder = "#282A36";
|
||||||
|
indicator = "#282A36";
|
||||||
|
text = "#BFBFBF";
|
||||||
|
};
|
||||||
|
urgent = {
|
||||||
|
background = "#FF5555";
|
||||||
|
border = "#44475A";
|
||||||
|
childBorder = "#FF5555";
|
||||||
|
indicator = "#FF5555";
|
||||||
|
text = "#F8F8F2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway.enable = true;
|
seat = {
|
||||||
wayland.windowManager.sway.package = pkgs.sway;
|
"*" = {
|
||||||
wayland.windowManager.sway.config.modifier = "Mod4";
|
xcursor_theme = "Bibata-Modern-Classic 24";
|
||||||
wayland.windowManager.sway.config.bars = [ ];
|
};
|
||||||
wayland.windowManager.sway.xwayland = true;
|
};
|
||||||
wayland.windowManager.sway.config.fonts = {
|
|
||||||
names = [ "FiraCode Nerd Font" ];
|
keybindings =
|
||||||
size = 11.0;
|
let
|
||||||
};
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
wayland.windowManager.sway.config.input = {
|
|
||||||
"type:touchpad" = {
|
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||||
dwt = "enabled";
|
grim = "${pkgs.grim}/bin/grim";
|
||||||
tap = "enabled";
|
kitty = "${config.programs.kitty.package}/bin/kitty";
|
||||||
natural_scroll = "enabled";
|
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
||||||
middle_emulation = "enabled";
|
rofi = "${config.programs.rofi.package}/bin/rofi";
|
||||||
|
tmux = "${config.programs.tmux.package}/bin/tmux";
|
||||||
|
slurp = "${pkgs.slurp}/bin/slurp";
|
||||||
|
swaylock = "${pkgs.swaylock}/bin/swaylock";
|
||||||
|
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
||||||
|
xdg-user-dir = "${pkgs.xdg-user-dirs}/bin/xdg-user-dir";
|
||||||
|
change-wallpaper = "${pkgs.scripts}/bin/chpaper ${pkgs.catppuccin-wallpapers}/share/wallpapers";
|
||||||
|
in
|
||||||
|
lib.mkOptionDefault {
|
||||||
|
"${modifier}+Return" = "exec ${kitty} ${tmux} new";
|
||||||
|
"${modifier}+Shift+Return" = "exec ${kitty}";
|
||||||
|
"${modifier}+d" = "exec ${rofi} -show drun";
|
||||||
|
"${modifier}+Shift+c" = "reload";
|
||||||
|
"${modifier}+l" = "exec ${swaylock} -f -i /tmp/lockpaper.jpg";
|
||||||
|
"${modifier}+Shift+w" = "exec ${change-wallpaper}";
|
||||||
|
"${modifier}+Shift+escape" = "exec ${pkgs.scripts}/bin/power-menu";
|
||||||
|
"${modifier}+f11" = "exec ${pkgs.scripts}/bin/tmux-sessions";
|
||||||
|
|
||||||
|
"XF86MonBrightnessUp" = "exec ${brightnessctl} set +5%";
|
||||||
|
"XF86MonBrightnessDown" = "exec ${brightnessctl} set 5%-";
|
||||||
|
|
||||||
|
"XF86AudioMute" = "exec ${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||||
|
"XF86AudioRaiseVolume" = "exec ${wpctl} set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+";
|
||||||
|
"XF86AudioLowerVolume" = "exec ${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%-";
|
||||||
|
|
||||||
|
"XF86AudioPlay" = "exec ${playerctl} play-pause";
|
||||||
|
"XF86AudioNext" = "exec ${playerctl} next";
|
||||||
|
"XF86AudioPrev" = "exec ${playerctl} previous";
|
||||||
|
|
||||||
|
"print" = ''exec ${grim} "''$(${xdg-user-dir} PICTURES)/Screenshots/screenshot-''$(date +%Y-%m-%d-%H-%M-%S).png"'';
|
||||||
|
"Shift+print" = ''exec ${grim} -g "''$(${slurp})" "''$(${xdg-user-dir} PICTURES)/Screenshots/screenshot-''$(date +%Y-%m-%d-%H-%M-%S).png"'';
|
||||||
|
};
|
||||||
|
|
||||||
|
startup = [
|
||||||
|
{ command = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; }
|
||||||
|
{
|
||||||
|
command = "${pkgs.scripts}/bin/chpaper ${pkgs.catppuccin-wallpapers}/share/wallpapers";
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "systemctl --user restart waybar.service";
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "systemctl --user restart kanshi.service";
|
||||||
|
always = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
window.commands = [
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "pavucontrol";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "blueman-manager";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "solaar";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus, resize set width 95ppt";
|
||||||
|
criteria = {
|
||||||
|
app_id = "mpv";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "eog";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "io.elementary.files";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "gnome-system-monitor";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "virt-manager";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
class = "1Password";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "io.github.celluloid_player.Celluloid";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "gnome-disks";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "yubico.org.";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "floating enable, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = ".yubioath-flutter-wrapped";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "move container to workspace 2, focus";
|
||||||
|
criteria = {
|
||||||
|
app_id = "firefox";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
command = "move container to workspace 9, focus";
|
||||||
|
criteria = {
|
||||||
|
class = "Spotify";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
wayland.windowManager.sway.systemdIntegration = true;
|
|
||||||
wayland.windowManager.sway.wrapperFeatures = {
|
|
||||||
gtk = true;
|
|
||||||
};
|
|
||||||
wayland.windowManager.sway.config.colors = {
|
|
||||||
background = "#F8F8F2";
|
|
||||||
focused = {
|
|
||||||
background = "#6272A4";
|
|
||||||
border = "#6272A4";
|
|
||||||
childBorder = "#6272A4";
|
|
||||||
indicator = "#6272A4";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
};
|
|
||||||
focusedInactive = {
|
|
||||||
background = "#44475A";
|
|
||||||
border = "#44475A";
|
|
||||||
childBorder = "#44475A";
|
|
||||||
indicator = "#44475A";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
};
|
|
||||||
placeholder = {
|
|
||||||
background = "#282A36";
|
|
||||||
border = "#282A36";
|
|
||||||
childBorder = "#282A36";
|
|
||||||
indicator = "#282A36";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
};
|
|
||||||
unfocused = {
|
|
||||||
background = "#282A36";
|
|
||||||
border = "#282A36";
|
|
||||||
childBorder = "#282A36";
|
|
||||||
indicator = "#282A36";
|
|
||||||
text = "#BFBFBF";
|
|
||||||
};
|
|
||||||
urgent = {
|
|
||||||
background = "#FF5555";
|
|
||||||
border = "#44475A";
|
|
||||||
childBorder = "#FF5555";
|
|
||||||
indicator = "#FF5555";
|
|
||||||
text = "#F8F8F2";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.sway.config.seat = {
|
|
||||||
"*" = {
|
|
||||||
xcursor_theme = "Bibata-Modern-Classic 24";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.sway.config.keybindings =
|
|
||||||
let
|
|
||||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
|
||||||
in
|
|
||||||
lib.mkOptionDefault {
|
|
||||||
"${modifier}+Return" = "exec $config.programs.kitty.package}/bin/kitty ${pkgs.tmux}/bin/tmux new";
|
|
||||||
"${modifier}+Shift+Return" = "exec ${config.programs.kitty.package}/bin/kitty";
|
|
||||||
"${modifier}+d" = "exec ${config.programs.rofi.package}/bin/rofi -show drun";
|
|
||||||
"${modifier}+Shift+c" = "reload";
|
|
||||||
"${modifier}+l" = "exec ${pkgs.swaylock}/bin/swaylock -f -i /tmp/lockpaper.jpg";
|
|
||||||
"${modifier}+Shift+w" = "exec ~/.config/scripts/chpaper.sh";
|
|
||||||
"${modifier}+Shift+escape" = "exec ~/.config/scripts/power_menu.sh";
|
|
||||||
"${modifier}+f11" = "exec ~/.config/scripts/tmux_sessions.sh";
|
|
||||||
|
|
||||||
"XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +5%";
|
|
||||||
"XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
|
|
||||||
|
|
||||||
"XF86AudioMute" = "exec ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
|
||||||
"XF86AudioRaiseVolume" = "exec ~/.config/scripts/volume_up.sh";
|
|
||||||
"XF86AudioLowerVolume" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
|
|
||||||
|
|
||||||
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
|
||||||
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
|
|
||||||
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
|
|
||||||
|
|
||||||
"print" = ''exec ${pkgs.grim}/bin/grim "''$(${pkgs.xdg-user-dirs}/bin/xdg-user-dir PICTURES)/Screenshots/screenshot-''$(date +%Y-%m-%d-%H-%M-%S).png"'';
|
|
||||||
"Shift+print" = ''exec ${pkgs.grim}/bin/grim -g "''$(${pkgs.slurp}/bin/slurp)" "''$(${pkgs.xdg-user-dirs}/bin/xdg-user-dir PICTURES)/Screenshots/screenshot-''$(date +%Y-%m-%d-%H-%M-%S).png"'';
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.sway.config.startup = [
|
|
||||||
{ command = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; }
|
|
||||||
{
|
|
||||||
command = "~/.config/scripts/chpaper.sh";
|
|
||||||
always = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "systemctl --user restart waybar.service";
|
|
||||||
always = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "systemctl --user restart kanshi.service";
|
|
||||||
always = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.sway.config.window.commands = [
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "pavucontrol";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "blueman-manager";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "solaar";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus, resize set width 95ppt";
|
|
||||||
criteria = {
|
|
||||||
app_id = "mpv";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "eog";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "io.elementary.files";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "gnome-system-monitor";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "virt-manager";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
class = "1Password";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "io.github.celluloid_player.Celluloid";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "gnome-disks";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "yubico.org.";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "floating enable, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = ".yubioath-flutter-wrapped";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "move container to workspace 2, focus";
|
|
||||||
criteria = {
|
|
||||||
app_id = "firefox";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
command = "move container to workspace 9, focus";
|
|
||||||
criteria = {
|
|
||||||
class = "Spotify";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.sway.config.gaps.outer = 2;
|
|
||||||
wayland.windowManager.sway.config.gaps.inner = 2;
|
|
||||||
wayland.windowManager.sway.config.window.titlebar = false;
|
|
||||||
wayland.windowManager.sway.config.floating.titlebar = false;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue