2021-12-21 00:51:20 +00:00
|
|
|
{ config, pkgs, lib, ... }: {
|
2021-12-21 01:28:00 +00:00
|
|
|
home.sessionVariables = {
|
|
|
|
XDG_CURRENT_DESKTOP = "sway";
|
|
|
|
XDG_SESSION_TYPE = "wayland";
|
|
|
|
WLR_DRM_DEVICES = "/dev/dri/card0";
|
|
|
|
};
|
|
|
|
|
|
|
|
home.packages = with pkgs; [ grim slurp wl-clipboard jq wofi wmctrl ];
|
|
|
|
|
|
|
|
programs.zsh.profileExtra = ''
|
|
|
|
# If running from tty1 start sway
|
|
|
|
if [ "$(tty)" = "/dev/tty1" ]; then
|
|
|
|
systemctl --user unset-environment \
|
|
|
|
SWAYSOCK \
|
|
|
|
I3SOCK \
|
|
|
|
WAYLAND_DISPLAY \
|
|
|
|
DISPLAY \
|
|
|
|
IN_NIX_SHELL \
|
|
|
|
__HM_SESS_VARS_SOURCED \
|
|
|
|
GPG_TTY \
|
|
|
|
NIX_PATH \
|
|
|
|
SHLVL
|
|
|
|
exec env --unset=SHLVL systemd-cat -t sway -- sway
|
|
|
|
fi
|
|
|
|
'';
|
|
|
|
|
2021-12-21 00:51:20 +00:00
|
|
|
programs.mako = {
|
|
|
|
enable = true;
|
|
|
|
defaultTimeout = 3000;
|
|
|
|
};
|
|
|
|
wayland.windowManager.sway = {
|
|
|
|
enable = true;
|
|
|
|
config = let
|
|
|
|
terminal = "${pkgs.kitty}/bin/kitty";
|
|
|
|
menu = "${pkgs.wofi}/bin/wofi -idbt ${pkgs.kitty}/bin/kitty -p '' -W 25%";
|
|
|
|
cfg = config.wayland.windowManager.sway.config;
|
|
|
|
in {
|
|
|
|
bars = [{ command = "${pkgs.waybar}/bin/waybar"; }];
|
|
|
|
|
|
|
|
input = {
|
|
|
|
"*" = {
|
|
|
|
xkb_layout = "gb";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
fonts = {
|
|
|
|
names = [ "Comic Code" ];
|
|
|
|
size = 18.0;
|
|
|
|
};
|
|
|
|
|
|
|
|
modifier = "Mod1";
|
|
|
|
terminal = "${pkgs.kitty}/bin/kitty";
|
|
|
|
|
|
|
|
startup = [
|
|
|
|
{ command = "systemctl --user restart mako"; always = true; }
|
|
|
|
];
|
|
|
|
|
|
|
|
window = {
|
|
|
|
border = 1;
|
|
|
|
titlebar = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
keybindings = {
|
|
|
|
"${cfg.modifier}+Return" = "${cfg.terminal}";
|
|
|
|
|
|
|
|
"${cfg.modifier}+Left" = "focus left";
|
|
|
|
"${cfg.modifier}+Down" = "focus down";
|
|
|
|
"${cfg.modifier}+Up" = "focus up";
|
|
|
|
"${cfg.modifier}+Right" = "focus right";
|
|
|
|
|
|
|
|
"${cfg.modifier}+Shift+Left" = "move left";
|
|
|
|
"${cfg.modifier}+Shift+Down" = "move down";
|
|
|
|
"${cfg.modifier}+Shift+Up" = "move up";
|
|
|
|
"${cfg.modifier}+Shift+Right" = "move right";
|
|
|
|
|
|
|
|
"${cfg.modifier}+Shift+space" = "floating toggle";
|
|
|
|
"${cfg.modifier}+space" = "focus mode_toggle";
|
|
|
|
|
|
|
|
"XF86AudioRaiseVolume" = "exec pactl set-sink-volume $(pacmd list-sinks |awk '/* index:/{print $3}') +5%";
|
|
|
|
"XF86AudioLowerVolume" = "exec pactl set-sink-volume $(pacmd list-sinks |awk '/* index:/{print $3}') -5%";
|
|
|
|
"XF86AudioMute" = "exec pactl set-sink-mute $(pacmd list-sinks |awk '/* index:/{print $3}') toggle";
|
|
|
|
"XF86AudioMicMute" = "exec pactl set-source-mute $(pacmd list-sources |awk '/* index:/{print $3}') toggle";
|
|
|
|
"XF86MonBrightnessDown" = "exec ${pkgs.light}/bin/light -U 5";
|
|
|
|
"XF86MonBrightnessUp" = "exec ${pkgs.light}/bin/light -A 5";
|
|
|
|
"${cfg.modifier}+Print" = "exec ${pkgs.bash}/bin/bash -c '~/.local/bin/elixiremanager.sh -w'";
|
|
|
|
|
|
|
|
"${cfg.modifier}+d" = "exec ${cfg.menu}";
|
|
|
|
"${cfg.modifier}+f" = "fullscreen";
|
|
|
|
|
|
|
|
"${cfg.modifier}+Shift+q" = "kill";
|
|
|
|
"${cfg.modifier}+Shift+c" = "reload";
|
|
|
|
|
|
|
|
"${cfg.modifier}+r" = "mode resize";
|
|
|
|
} // (lib.foldl lib.recursiveUpdate {} (map (workspace: {
|
|
|
|
"${cfg.modifier}+${workspace}" = "workspace ${workspace}";
|
|
|
|
"${cfg.modifier}+Shift+${workspace}" = "move container to workspace ${workspace}";
|
|
|
|
}) [ "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" ]));
|
|
|
|
|
|
|
|
keycodebindings = {
|
|
|
|
"--no-repeat 107" = "exec dbus-send --session --type=method_call --dest=net.sourceforge.mumble.mumble / net.sourceforge.mumble.Mumble.startTalking";
|
|
|
|
"--release 107" = "exec dbus-send --session --type=method_call --dest=net.sourceforge.mumble.mumble / net.sourceforge.mumble.Mumble.stopTalking";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
wrapperFeatures.gtk = true;
|
|
|
|
extraConfig = ''
|
|
|
|
seat seat0 xcursor_theme breeze_cursors 20
|
|
|
|
bindswitch --reload --locked lid:on output eDP-1 disable
|
|
|
|
bindswitch --reload --locked lid:off output eDP-1 enable
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
programs.waybar = {
|
|
|
|
enable = true;
|
|
|
|
# style = ''
|
|
|
|
# * {
|
|
|
|
# font-family: Iosevka;
|
|
|
|
# }
|
|
|
|
# '';
|
|
|
|
settings = [{
|
|
|
|
modules-left = [ "sway/workspaces" "sway/mode" ];
|
|
|
|
modules-center = [ "sway/window" ];
|
|
|
|
modules-right = [ "pulseaudio" "network" "cpu" "memory" "temperature" "battery" "clock" "tray" ];
|
|
|
|
|
|
|
|
modules = {
|
|
|
|
battery = {
|
|
|
|
states = {
|
|
|
|
good = 95;
|
|
|
|
warning = 30;
|
|
|
|
critical = 15;
|
|
|
|
};
|
|
|
|
format = "{capacity}% {icon}";
|
|
|
|
format-charging = "{capacity}% ";
|
|
|
|
format-plugged = "{capacity}% ";
|
|
|
|
format-alt = "{time} {icon}";
|
|
|
|
format-icons = ["" "" "" "" ""];
|
|
|
|
};
|
|
|
|
network = {
|
|
|
|
format-wifi = "{essid} ({signalStrength}%) ";
|
|
|
|
format-ethernet = "{ifname}: {ipaddr}/{cidr} ";
|
|
|
|
format-linked = "{ifname} (No IP) ";
|
|
|
|
format-disconnected = "Disconnected ⚠";
|
|
|
|
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}];
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|