Nixfiles/personal-gui/wm/default.nix

193 lines
4.9 KiB
Nix
Raw Normal View History

2022-02-06 21:10:48 +01:00
{
2022-05-01 10:32:31 +02:00
config,
lib,
pkgs,
...
}: {
imports = [./terminal ./i3like.nix];
2022-02-06 21:10:48 +01:00
gtk = {
enable = true;
font = {
name = "DejaVu Sans";
};
theme = {
package = pkgs.gnome.gnome-themes-extra;
2022-04-11 21:55:29 +02:00
name = "Adwaita-dark";
2022-02-06 21:10:48 +01:00
};
};
2022-02-13 14:36:37 +01:00
terminal = {
enable = true;
2022-04-10 18:48:52 +02:00
kind = "foot";
2022-02-13 14:36:37 +01:00
colors = {
2022-10-19 16:28:06 +02:00
background = "1a1b26";
foreground = "c0caf5";
2022-02-13 14:36:37 +01:00
black = {
2022-10-19 16:28:06 +02:00
normal = "15161e";
bright = "414868";
2022-02-13 14:36:37 +01:00
};
2022-10-19 16:28:06 +02:00
red = {normal = "f7768e";};
green = {normal = "9ece6a";};
yellow = {normal = "e0af68";};
blue = {normal = "7aa2f7";};
magenta = {normal = "bb9af7";};
cyan = {normal = "7dcfff";};
2022-02-13 14:36:37 +01:00
white = {
2022-10-19 16:28:06 +02:00
normal = "a9b1d6";
bright = "c0caf5";
2022-02-13 14:36:37 +01:00
};
2022-10-19 16:28:06 +02:00
urls = "73daca";
selection = {
foreground = "c0caf5";
background = "33467c";
};
2022-02-13 14:36:37 +01:00
};
font = {
family = "Hack Nerd Font Mono";
size = lib.mkDefault 10;
2022-02-13 14:36:37 +01:00
};
};
2023-09-11 17:15:53 +02:00
programs.foot.settings.colors."16" = "ff9e64";
programs.foot.settings.colors."17" = "db4b4b";
home.sessionVariables = {
EXA_COLORS = "xx=38;5;8";
};
2022-05-01 10:32:31 +02:00
wm = let
mod = config.wm.modifier;
in {
enable = true;
kind = "sway";
modifier = "Mod4";
2022-02-06 21:10:48 +01:00
2022-05-01 10:32:31 +02:00
font = {
name = "Hack Nerd Font";
style = "Regular";
2022-10-04 21:17:54 +02:00
size = 14.0;
2022-05-01 10:32:31 +02:00
};
bar = {
font = {
2022-05-01 10:32:31 +02:00
name = "Hack Nerd Font Mono";
2022-02-06 21:10:48 +01:00
style = "Regular";
2022-05-01 10:32:31 +02:00
size = 11.0;
};
2022-05-01 10:32:31 +02:00
};
2022-05-01 10:32:31 +02:00
wallpaper = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/backgrounds/nixos/nix-wallpaper-simple-dark-gray.png";
2022-04-11 22:02:32 +02:00
2022-05-01 10:32:31 +02:00
printScreen = {
enable = true;
keybind = "Print";
};
2022-02-06 21:10:48 +01:00
2022-05-01 10:32:31 +02:00
menu = {
enable = true;
keybind = "${mod}+e";
};
2022-02-06 21:10:48 +01:00
2022-05-01 10:32:31 +02:00
exit = {
enable = true;
keybind = "${mod}+Shift+e";
};
2022-02-06 21:10:48 +01:00
2022-05-01 10:32:31 +02:00
notifications = {
enable = true;
font = "hack nerd font 10";
defaultTimeout = 7000;
};
2022-02-06 21:10:48 +01:00
2022-05-01 10:32:31 +02:00
startup = [
{command = "signal-desktop";}
{command = "discord";}
{command = "firefox";}
{command = "element-desktop";}
{command = "thunderbird";}
{command = "systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK";}
{command = "hash dbus-update-activation-environment 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK";}
2022-05-09 21:15:09 +02:00
{
2022-10-04 21:17:54 +02:00
command = "${pkgs.plasma5Packages.kdeconnect-kde}/libexec/kdeconnectd";
2022-05-09 21:15:09 +02:00
always = true;
}
2022-05-01 10:32:31 +02:00
];
workspaces = {
moveModifier = "Shift";
definitions = {
"1:" = {key = "ampersand";};
"2:" = {key = "bracketleft";};
2022-05-01 10:32:31 +02:00
"3:" = {key = "braceleft";};
"4" = {key = "braceright";};
"5" = {key = "parenleft";};
"6" = {key = "equal";};
"7" = {key = "asterisk";};
"" = {
key = "parenright";
assign = ["Spotify"];
};
"" = {
key = "w";
assign = [
"Element"
"Signal"
"Discord"
];
};
"" = {
key = "m";
assign = ["Thunderbird"];
};
};
2022-05-01 10:32:31 +02:00
};
2022-02-06 21:10:48 +01:00
2022-05-01 10:32:31 +02:00
keybindings = {
"${mod}+Shift+l" = "exec ${pkgs.swaylock-fancy}/bin/swaylock-fancy";
# Media Keys
"XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ '+10%'";
"XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ '-10%'";
"XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl -p spotify play-pause";
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl -p spotify next";
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl -p spotify previous";
# Gromit
"Ctrl+Shift+I" = "exec ${pkgs.gromit-mpx}/bin/gromit-mpx -a";
"Ctrl+Shift+D" = "exec ${pkgs.gromit-mpx}/bin/gromit-mpx -q";
"Ctrl+Shift+H" = "exec ${pkgs.gromit-mpx}/bin/gromit-mpx -c";
# Change keyboard layout
"${mod}+dollar" = "input type:keyboard xkb_switch_layout next"; # Dvorak
"${mod}+grave" = "input type:keyboard xkb_switch_layout next"; # Qwerty
2022-09-13 10:33:43 +02:00
2022-05-01 10:32:31 +02:00
# Focus
"${mod}+Left" = "focus left";
"${mod}+Right" = "focus right";
"${mod}+Down" = "focus down";
"${mod}+Up" = "focus up";
"${mod}+Shift+Left" = "move left";
"${mod}+Shift+Right" = "move right";
"${mod}+Shift+Down" = "move down";
"${mod}+Shift+Up" = "move up";
# Layout
"${mod}+u" = "fullscreen toggle";
"${mod}+comma" = "layout tabbed";
# Misc
"${mod}+Shift+semicolon" = "kill";
2022-05-01 10:32:31 +02:00
"${mod}+Shift+J" = "reload";
"${mod}+Return" = "exec ${config.terminal.command}";
"${mod}+p" = "mode resize";
"${mod}+Shift+P" = "restart";
2023-04-22 17:10:25 +02:00
"${mod}+Shift+S" = "exec ${config.programs.rofi.package}/bin/rofi -show ssh";
2022-02-06 21:10:48 +01:00
};
2022-05-01 10:32:31 +02:00
};
2022-02-06 21:10:48 +01:00
}