nixos/home/desktop/sway.nix

119 lines
3.3 KiB
Nix
Raw Normal View History

2023-06-04 11:33:21 +01:00
{
pkgs,
lib,
config,
...
}: let
modifier = config.wayland.windowManager.sway.config.modifier;
term = config.wayland.windowManager.sway.config.terminal;
2023-06-04 11:33:21 +01:00
in {
imports = [
./swaylock.nix
./waybar.nix
./gtk.nix
./dunst.nix
./rofi.nix
];
home.packages = with pkgs; [
pipewire
wireplumber
wl-clipboard
swayimg
brightnessctl
];
programs.rofi.package = pkgs.rofi-wayland;
wayland.windowManager.sway = {
enable = true;
config = {
input."*".xkb_layout = "gb";
output."*".bg = "~/nixos/wallpaper.jpg fill";
fonts = {
names = ["FiraCode Nerd Font" "FiraCode Nerd Font Mono"];
size = 12.0;
};
gaps = {
inner = lib.mkDefault 5;
outer = lib.mkDefault 20;
};
bars = [{command = "${pkgs.waybar}/bin/waybar";}];
colors = {
focused = {
border = "#4c7899";
background = "#285577";
text = "#ffffff";
indicator = "#2e9ef4";
childBorder = "#285577";
};
focusedInactive = {
border = "#333333";
background = "#5f676a";
text = "#ffffff";
indicator = "#484e50";
childBorder = "#5f676a";
};
unfocused = {
border = "#333333";
background = "#222222";
text = "#888888";
indicator = "#292d2e";
childBorder = "#222222";
};
urgent = {
border = "#2f343a";
background = "#900000";
text = "#ffffff";
indicator = "#900000";
childBorder = "#900000";
};
placeholder = {
border = "#000000";
background = "#0c0c0c";
text = "#ffffff";
indicator = "#000000";
childBorder = "#0c0c0c";
};
background = "#ffffff";
};
assigns = {
"1" = [{app_id = "org.wezfurlong.wezterm";}];
"2" = [{app_id = "firefox";}];
"3" = [
{app_id = "Signal";}
{app_id = "fractal";}
{app_id = "discord";}
{class = "teams-for-linux";}
];
"4" = [{class = "Nxplayer.bin";}];
};
floating.criteria = [
{app_id = "foot";}
{app_id = "pavucontrol";}
{app_id = ".blueman-manager-wrapped";}
{app_id = "otpclient";}
{app_id = "thunar";}
{class = "Nxplayer.bin";}
];
startup = [{command = "dunst";}];
modifier = lib.mkDefault "Mod1";
terminal = lib.mkDefault "${pkgs.wezterm}/bin/wezterm";
window.titlebar = false;
workspaceAutoBackAndForth = true;
2023-06-04 11:33:21 +01:00
keybindings = lib.mkOptionDefault {
"${modifier}+Return" = "exec ${term}";
"${modifier}+Shift+Return" = "exec ${pkgs.foot}/bin/foot";
"${modifier}+q" = "kill";
"${modifier}+e" = "exec power-profiles";
2023-06-04 11:43:57 +01:00
"${modifier}+p" = "exec powermenu";
"${modifier}+v" = "floating toggle";
"${modifier}+space" = "exec ${pkgs.rofi}/bin/rofi -show drun";
"${modifier}+F1" = "exec ${pkgs.swaylock}/bin/swaylock";
2023-06-04 11:33:21 +01:00
"${modifier}+w" = "exec ${pkgs.firefox}/bin/firefox";
"${modifier}+f" = "exec ${pkgs.xfce.thunar}/bin/thunar";
"${modifier}+m" = "fullscreen toggle";
"${modifier}+c" = "scratchpad show";
"${modifier}+Shift+c" = "move scratchpad";
2023-06-04 11:33:21 +01:00
};
};
};
2023-05-16 09:11:39 +01:00
}