nixos-config/users/rouven/modules/sway/default.nix

82 lines
2.9 KiB
Nix
Raw Normal View History

2023-06-06 12:59:29 +02:00
{ config, pkgs, lib, ... }:
2023-06-05 19:57:19 +02:00
{
imports = [
# ./hyprpaper.nix
./session.nix
./waybar.nix
];
wayland.windowManager.sway = {
enable = true;
2023-06-06 12:59:29 +02:00
config = rec {
startup = [
{
command = "${pkgs.swaybg}/bin/swaybg -i ${../../../../images/wallpaper.png}";
}
{
command = "${pkgs.autotiling-rs}/bin/autotiling-rs";
}
2023-06-06 12:59:29 +02:00
];
2023-06-05 19:57:19 +02:00
modifier = "Mod4";
menu = "${pkgs.fuzzel}/bin/fuzzel";
terminal = "${pkgs.foot}/bin/footclient";
bars = [ ];
gaps = {
outer = 5;
inner = 12;
};
input = {
"*" = {
xkb_layout = "us";
xkb_variant = "dvorak-alt-intl";
};
};
2023-06-06 12:59:29 +02:00
keybindings =
lib.mkOptionDefault {
"Mod1+space" = "exec ${menu}";
"Print" = "exec ${pkgs.sway-contrib.grimshot}/bin/grimshot copy area";
"XF86Launch2" = "exec ${pkgs.sway-contrib.grimshot}/bin/grimshot save area - | ${pkgs.swappy}/bin/swappy -f -";
"XF86MonBrightnessUp" = "exec ${pkgs.light}/bin/light -A 10";
"XF86MonBrightnessDown" = "exec ${pkgs.light}/bin/light -U 10";
# audio controls
"XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
"Shift+XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ +5%";
"Shift+XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ -5%";
"XF86Favorites" = "exec ${pkgs.systemd}/bin/loginctl lock-session";
"XF86PowerOff" = "exec ${pkgs.wlogout}/bin/wlogout";
"XF86Messenger" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client --toggle-panel";
"Cancel" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client --hide-latest";
"Shift+Cancel" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client --cloes-all";
};
2023-06-05 19:57:19 +02:00
};
};
xdg.configFile = {
2023-06-06 12:59:29 +02:00
"swaync".source = ./swaync;
2023-06-05 19:57:19 +02:00
"fuzzel/fuzzel.ini".text = ''
[main]
icon-theme=${config.gtk.iconTheme.name}
show-actions=yes
width=80
terminal=${pkgs.foot}/bin/foot
[colors]
background=${config.colorScheme.colors.base00}ff
text=${config.colorScheme.colors.base05}ff
match=${config.colorScheme.colors.base08}ff
selection=${config.colorScheme.colors.base02}ff
selection-text=${config.colorScheme.colors.base04}ff
border=${config.colorScheme.colors.base01}ff
'';
2023-06-06 12:59:29 +02:00
"swappy/config".text = ''
[Default]
save_dir = ~/Pictures/Screenshots/
early_exit = true
'';
2023-06-05 19:57:19 +02:00
};
}