spectre_nixcfg/sway/sway.nix
2025-06-23 02:28:32 -04:00

69 lines
1.5 KiB
Nix

{ lib, pkgs, config, ... }:
let
mod = "Mod4";
chvol = pkgs.writeShellScript "chvol"
(builtins.readFile ./chvol.sh);
chbright = pkgs.writeShellScript "chbrights"
(builtins.readFile ./chbright.sh);
in {
wayland.windowManager.sway = {
enable = true;
config = {
modifier = mod;
terminal = "alacritty";
# Waybar
bars = [{
command = "${pkgs.lib.getExe config.programs.waybar.package}";
position = "top";
fonts = config.wayland.windowManager.sway.config.fonts;
}];
menu = "${pkgs.lib.getExe config.programs.rofi.package} -modes \"drun,run\" -show-icons -show drun";
keybindings = lib.mkOptionDefault ({
# volume
XF86AudioRaiseVolume = "exec bash ${chvol} sink 5";
XF86AudioLowerVolume = "exec bash ${chvol} sink -5";
XF86AudioMute = "exec bash ${chvol} sink mute";
XF86AudioMicMute = "exec bash ${chvol} source mute";
# brightness
XF86MonBrightnessUp = "exec bash ${chbright} 1";
XF86MonBrightnessDown = "exec bash ${chbright} -1";
# media
XF86AudioPlay = "exec playerctl play-pause";
XF86AudioPrev = "exec playerctl previous";
XF86AudioNext = "exec playerctl next";
});
};
};
# Waybar
programs.waybar = {
enable = true;
};
programs.rofi = {
enable = true;
};
qt = {
enable = true;
# style = {};
};
gtk = {
enable = true;
# theme = {};
};
}