202 lines
6.9 KiB
Nix
202 lines
6.9 KiB
Nix
{ inputs, outputs, ... }:
|
|
{
|
|
# xdg.configFile."sway/config".source = files/sway/${inputs.networking.hostName};
|
|
xdg.configFile."sway/config".source = files/sway/default;
|
|
programs.swaylock = {
|
|
enable = true;
|
|
settings = {
|
|
ignore-empty-password = true;
|
|
daemonize = true;
|
|
indicator-radius = "100";
|
|
scaling = "fill";
|
|
#fade-in = "3";
|
|
#effect-blur = "3x10";
|
|
};
|
|
};
|
|
# services.wayland-pipewire-idle-inhibit = {
|
|
# enable = true;
|
|
# systemdTarget = "sway-session.target";
|
|
# settings = {
|
|
# verbosity = "INFO";
|
|
# media_minimum_duration = 10;
|
|
# sink_whitelist = [
|
|
# ];
|
|
# node_blacklist = [
|
|
# { media_class = "[Ss]onixd"; }
|
|
# ];
|
|
# };
|
|
# };
|
|
programs.waybar = {
|
|
enable = true;
|
|
settings = {
|
|
mainBar = {
|
|
ipc = true;
|
|
position = "bottom";
|
|
height = 10;
|
|
spacing = 0;
|
|
modules-left = ["sway/workspaces" "sway/mode" "wlr/workspaces" "custom/mycal"];
|
|
modules-center = [];
|
|
modules-right = ["idle_inhibitor" "custom/mytimew" "pulseaudio" "custom/mymusic" "bluetooth" "network" "backlight" "battery" "battery#bat2" "tray" "custom/mycal" "clock"];
|
|
bluetooth = {
|
|
format-alt = "bt: {status}";
|
|
format-on = "bt";
|
|
format-connected = "^bt";
|
|
format-off = "!bt";
|
|
format-disabled = "xbt";
|
|
on-click = "bluetoogle";
|
|
tooltip-format = "{status}";
|
|
};
|
|
backlight = {
|
|
device = "intel_backlight";
|
|
format = "{icon} {percent}%";
|
|
format-alt-click = "click-right";
|
|
on-scroll-down = "light -A 1";
|
|
on-scroll-up = "light -U 1";
|
|
};
|
|
"custom/mytimew" = {
|
|
exec = "~/bin/timebar";
|
|
interval = 30;
|
|
on-click = "alacritty -e ~/bin/ttmenu";
|
|
};
|
|
"custom/mycal" = {
|
|
exec = "~/bin/show-next-event";
|
|
interval = 300;
|
|
on-click = "~/bin/mynewterm -e ikhal";
|
|
};
|
|
"custom/mymusic" = {
|
|
exec = "~/bin/show-playing";
|
|
on-click = "~/bin/control-music --pause";
|
|
interval = 5;
|
|
};
|
|
"sway/window" = {
|
|
icon-size = 10;
|
|
};
|
|
"sway/mode" = {
|
|
format = "<span style=\"italic\">{}</span>";
|
|
};
|
|
"idle_inhibitor" = {
|
|
format = "{icon}";
|
|
format-icons = {
|
|
activated = "";
|
|
deactivated = "";
|
|
};
|
|
};
|
|
tray = {
|
|
icon-size = 16;
|
|
spacing = 10;
|
|
};
|
|
clock = {
|
|
tooltip-format = "<big>{:%Y %B %d}</big>\n<tt><small>{calendar}</small></tt>";
|
|
format = "{:%I:%M %p}";
|
|
format-alt = "{:%Y-%m-%d}";
|
|
on-click = "~/bin/mynewterm -e ikhal";
|
|
};
|
|
cpu = {
|
|
format = "cpu: {usage}%";
|
|
tooltip = false;
|
|
};
|
|
memory = {
|
|
format = "mem: {}%";
|
|
};
|
|
temperature = {
|
|
critical-threshold = 80;
|
|
format = "{temperatureC}°C {icon}";
|
|
};
|
|
battery = {
|
|
states = {
|
|
good = 75;
|
|
warning = 20;
|
|
critical = 10;
|
|
};
|
|
format = "{capacity}% {time}";
|
|
format-charging = "c:{capacity}% {time}";
|
|
format-plugged = "p:{capacity}% {time}";
|
|
format-discharging = "d:{capacity}% {time}";
|
|
format-alt = "{time} {icon}";
|
|
};
|
|
"battery#bat2" = {
|
|
bat = "BAT2";
|
|
};
|
|
network = {
|
|
format-wifi = "{essid} ({signalStrength}%)";
|
|
format-ethernet = "{ipaddr}/{cidr}";
|
|
tooltip-format = "{ifname} via {gwaddr}";
|
|
format-linked = "{ifname} (No IP)";
|
|
format-disconnected = "Disconnected";
|
|
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
|
};
|
|
pulseaudio = {
|
|
format = "v:{volume}%";
|
|
format-bluetooth = "{volume}% {icon} {format_source}";
|
|
format-bluetooth-muted = " {icon} {format_source}";
|
|
format-muted = "muted";
|
|
format-source = "v:{volume}% ";
|
|
format-source-muted = "";
|
|
format-icons = {
|
|
headphone = "hp";
|
|
hands-free = "hf";
|
|
headset = "hs";
|
|
phone = "p";
|
|
};
|
|
on-click = "pavucontrol";
|
|
};
|
|
};
|
|
};
|
|
style =
|
|
''
|
|
* {
|
|
border: none; border-radius: 0;
|
|
font-family: "JetBrains Mono", FontAwesome6Free, SymbolsNerdFont, Roboto, Helvetica, Arial, sans-serif;
|
|
font-size: 10px; min-height: 0;
|
|
}
|
|
window#waybar {
|
|
background: rgba(43, 48, 59, 0.5);
|
|
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
|
color: #ffffff;
|
|
}
|
|
window#waybar.hidden { opacity: 0.0; }
|
|
#workspaces button {
|
|
padding: 0 5px;
|
|
background: transparent;
|
|
color: #ffffff;
|
|
border-bottom: 3px solid transparent;
|
|
}
|
|
#workspaces button.focused { background: #64727D; border-bottom: 3px solid #ffffff; }
|
|
#workspaces button.urgent { background-color: #eb4d4b; }
|
|
#mode { background: #64727D; border-bottom: 3px solid #ffffff; }
|
|
#clock, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-mymusic, #tray, #mode, #idle_inhibitor, #bluetooth {
|
|
padding: 0 5px;
|
|
margin: 0 0px;
|
|
}
|
|
#clock { background-color: #64727D; color: #f1fa8c; }
|
|
#battery { color: #000000; background-color: #50fa7b; }
|
|
#battery.warning { color: #000000; background-color: #ff79c6; }
|
|
#battery.critical { color: #ffffff; background-color: #ff5555; }
|
|
#battery.charging { color: #44475a; background-color: #50fa7b; }
|
|
@keyframes blink { to { background-color: #ffffff; color: #000000; } }
|
|
#battery.critical:not(.charging) {
|
|
background: #f53c3c; color: #ffffff;
|
|
animation-name: blink; animation-duration: 0.5s;
|
|
animation-timing-function: linear;
|
|
animation-iteration-count: infinite;
|
|
animation-direction: alternate;
|
|
}
|
|
#cpu { background: #2ecc71; color: #000000; }
|
|
#memory { background: #9b59b6; }
|
|
#backlight { color: #000000; background: #90b1b1; }
|
|
#bluetooth { background: #ffb86c; color: #000000; }
|
|
#network { background: #bd93f9; color: #000000; }
|
|
#network.disconnected { background: #ff5555; }
|
|
#pulseaudio { background: #ffb86c; color: #000000; }
|
|
#pulseaudio.muted { background: #90b1b1; color: #2a5c45; }
|
|
#custom-mytimew { background: #bd93f9; color: #000000; }
|
|
#custom-mymusic { background: #8be9fd; color: #000000; }
|
|
#custom-mycal { background: #cccc99; color: #2a5c45; }
|
|
#temperature { background: #f0932b; }
|
|
#temperature.critical { background: #eb4d4b; }
|
|
#tray { background-color: #64727D; }
|
|
#idle_inhibitor { background-color: #2d3436; }
|
|
#idle_inhibitor.activated { background-color: #ecf0f1; color: #2d3436; }
|
|
'';
|
|
};
|
|
}
|