nixfleet/users/profiles/sway/default.nix

129 lines
3.1 KiB
Nix

{ pkgs, ... }:
{
home.packages = with pkgs; [ wl-clipboard ];
wayland = {
windowManager.sway =
let
modifier = "Mod4";
in
{
enable = true;
config = {
modifier = modifier;
menu = "${pkgs.bemenu}/bin/bemenu-run -b -m 1 -p 'λ'";
output = {
HDMI-A-2 = {
#bg = "~/dotfiles/dotfiles/xorg/wallpaper.jpg fill";
};
};
#fonts = [ "Font Awesome" "Fira Code" ];
terminal = "${pkgs.foot}/bin/footclient";
bars = [
{
command = "${pkgs.waybar}/bin/waybar";
}
];
startup = [
{
command = "foot --server";
always = true;
}
];
window.commands = [
{ criteria = { app_id = "mpv"; }; command = "sticky enable"; }
{ criteria = { app_id = "mpv"; }; command = "floating enable"; }
{ criteria = { title = "MetaMask Notification.*"; }; command = "floating enable"; }
];
input = {
"*" = {
xkb_layout = "us";
xkb_variant = "intl";
};
};
};
extraConfig = ''
bindsym ${modifier}+p move workspace to output right
'';
xwayland = true;
systemdIntegration = true;
};
};
programs.waybar = {
enable = true;
style = builtins.readFile ./style.css;
settings = [
{
layer = "top";
position = "top";
#output = [ "HDMI-A-2" ];
modules-left = [
"sway/mode"
"sway/workspaces"
];
modules-center = [ ];
modules-right = [
"idle_inhibitor"
"tray"
"network"
"cpu"
"memory"
"pulseaudio"
"clock"
"backlight"
"battery"
];
modules = {
"sway/workspaces" = {
all-outputs = true;
disable-scroll-wraparound = true;
};
"sway/mode" = { tooltip = false; };
idle_inhibitor = {
format = "{icon}";
format-icons = {
activated = "unlocked";
deactivated = "locking";
};
};
pulseaudio = {
format = "vol {volume}%";
on-click-middle = "${pkgs.sway}/bin/swaymsg exec \"${pkgs.pavucontrol}/bin/pavucontrol\"";
};
network = {
format-wifi = "{essid} {signalStrength}% {bandwidthUpBits} {bandwidthDownBits}";
format-ethernet = "{ifname} eth {bandwidthUpBits} {bandwidthDownBits}";
};
cpu = {
interval = 2;
format = "cpu {load}% {usage}%";
};
memory.format = "mem {}%";
backlight = {
format = "nit {percent}%";
on-scroll-up = "${pkgs.light}/bin/light -A 2";
on-scroll-down = "${pkgs.light}/bin/light -U 2";
};
tray.spacing = 10;
clock.format = "{:%a %b %d %H:%M}";
battery = {
format = "bat {}";
};
};
}
];
};
}