Add current hummelberg-new state
This commit is contained in:
parent
dd204c8ba6
commit
51f5e7eab9
30 changed files with 1486 additions and 0 deletions
382
defaults/user-configuration/fhauser/applications/waybar.nix
Normal file
382
defaults/user-configuration/fhauser/applications/waybar.nix
Normal file
|
@ -0,0 +1,382 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
home-manager.users.fhauser = {
|
||||
xsession.preferStatusNotifierItems = true;
|
||||
wayland.windowManager.sway.config.bars = [ ];
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = [{
|
||||
position = "top";
|
||||
#height =
|
||||
modules-left = [ "sway/mode" "sway/workspaces" ];
|
||||
modules-center = [ "sway/window" ];
|
||||
modules-right = [
|
||||
"backlight"
|
||||
"idle_inhibitor"
|
||||
"bluetooth"
|
||||
"cpu"
|
||||
"temperature"
|
||||
"memory"
|
||||
"disk"
|
||||
"network"
|
||||
"pulseaudio"
|
||||
#"custom/keyboard-layout"
|
||||
"battery"
|
||||
"tray"
|
||||
"clock"
|
||||
];
|
||||
modules = {
|
||||
backlight.format = " {percent}%";
|
||||
disk.format = " {percentage_used}%";
|
||||
clock.format = "{:%Y-%2m-%2d %H:%M}";
|
||||
"sway/workspaces" = {
|
||||
disable-scroll-wraparound = true;
|
||||
enable-bar-scroll = true;
|
||||
numeric-first = true;
|
||||
};
|
||||
|
||||
battery = {
|
||||
interval = 10;
|
||||
states = {
|
||||
warning = 15;
|
||||
critical = 10;
|
||||
};
|
||||
format = " {capacity}% {time}"; # Icon: bolt
|
||||
format-discharging = "{icon} {capacity}% {time}";
|
||||
format-time = "{H}:{M}";
|
||||
format-icons = [
|
||||
"" # Icon: battery-full
|
||||
"" # Icon: battery-three-quarters
|
||||
"" # Icon: battery-half
|
||||
"" # Icon: battery-quarter
|
||||
"" # Icon: battery-empty
|
||||
];
|
||||
tooltip = "true";
|
||||
};
|
||||
|
||||
cpu = {
|
||||
interval = "5";
|
||||
format = " {usage}% ({load})"; # Icon: microchip
|
||||
states = {
|
||||
warning = "70";
|
||||
critical = "90";
|
||||
};
|
||||
};
|
||||
|
||||
#"custom/keyboard-layout" = {
|
||||
# exec = pkgs.writeShellScript "keyboard-layout" "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4";
|
||||
# # Interval set only as a fallback, as the value is updated by signal
|
||||
# interval = "30";
|
||||
# format = " {}"; # Icon: keyboard
|
||||
# # Signal sent by Sway key binding (~/.config/sway/key-bindings)
|
||||
# signal = "1"; # SIGHUP
|
||||
# tooltip = "false";
|
||||
#};
|
||||
|
||||
memory = {
|
||||
interval = "5";
|
||||
format = " {}%"; # Icon: microchip
|
||||
states = {
|
||||
warning = "70";
|
||||
critical = "90";
|
||||
};
|
||||
};
|
||||
|
||||
network = {
|
||||
interval = "5";
|
||||
format-wifi = " {essid} ({signalStrength}%)"; # Icon: wifi
|
||||
format-ethernet = "🔗 {ifname}: {ipaddr}/{cidr}"; # Icon: ethernet
|
||||
format-disconnected = "🔗";
|
||||
tooltip-format = "{ifname}: {ipaddr}";
|
||||
};
|
||||
|
||||
"sway/mode" = {
|
||||
format =
|
||||
''<span style="italic"> {}</span>''; # Icon: expand-arrows-alt
|
||||
tooltip = "false";
|
||||
};
|
||||
|
||||
"sway/window" = {
|
||||
format = "{}";
|
||||
max-length = "120";
|
||||
};
|
||||
|
||||
"sway/workspaces" = {
|
||||
all-outputs = false;
|
||||
disable-scroll = true;
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
"10" = " 10";
|
||||
"11" = " 11";
|
||||
"12" = " 12";
|
||||
"13" = " 13";
|
||||
};
|
||||
};
|
||||
|
||||
pulseaudio = {
|
||||
scroll-step = 3;
|
||||
format = "{icon} {volume}%";
|
||||
format-bluetooth = "{icon} {volume}%";
|
||||
format-muted = "🔇";
|
||||
format-icons = {
|
||||
headphones = "";
|
||||
handsfree = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [ "" "" "" ];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
|
||||
temperature = {
|
||||
critical-threshold = 80;
|
||||
interval = 5;
|
||||
format = "{icon} {temperatureC}°C";
|
||||
format-icons = [
|
||||
"" # Icon: temperature-empty
|
||||
"" # Icon: temperature-quarter
|
||||
"" # Icon: temperature-half
|
||||
"" # Icon: temperature-three-quarters
|
||||
"" # Icon: temperature-full
|
||||
];
|
||||
tooltip = "true";
|
||||
hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
|
||||
};
|
||||
|
||||
idle_inhibitor = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
};
|
||||
|
||||
tray = {
|
||||
icon-size = "21";
|
||||
spacing = "10";
|
||||
};
|
||||
};
|
||||
}];
|
||||
|
||||
systemd.enable = true;
|
||||
|
||||
style = ''
|
||||
/* =============================================================================
|
||||
*
|
||||
* Waybar configuration
|
||||
*
|
||||
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
|
||||
*
|
||||
* =========================================================================== */
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Keyframes
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
@keyframes blink-warning {
|
||||
70% {
|
||||
color: white;
|
||||
}
|
||||
|
||||
to {
|
||||
color: white;
|
||||
background-color: orange;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink-critical {
|
||||
70% {
|
||||
color: white;
|
||||
}
|
||||
|
||||
to {
|
||||
color: white;
|
||||
background-color: red;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Base styles
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
/* Reset all styles */
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* The whole bar */
|
||||
#waybar {
|
||||
background: #323232;
|
||||
color: white;
|
||||
/*font-family: Cantarell, Noto Sans, sans-serif;*/
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* Each module */
|
||||
#battery,
|
||||
#clock,
|
||||
#cpu,
|
||||
#custom-keyboard-layout,
|
||||
#memory,
|
||||
#mode,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#idle_inhibitor,
|
||||
#tray {
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
/*border-right: solid 1px black;*/
|
||||
}
|
||||
|
||||
#backlight {
|
||||
margin-right: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
#idle_inhibiter {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Module styles
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
#battery {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#battery.warning.discharging {
|
||||
animation-name: blink-warning;
|
||||
animation-duration: 4s;
|
||||
}
|
||||
|
||||
#battery.critical.discharging {
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 3s;
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
/* No styles */
|
||||
}
|
||||
|
||||
#cpu.warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#cpu.critical {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#memory {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#memory.warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#memory.critical {
|
||||
color: red;
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 2s;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background: #64727D;
|
||||
border-top: 2px solid white;
|
||||
/* To compensate for the top border and still have vertical centering */
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
|
||||
#network {
|
||||
/* No styles */
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
/* No styles */
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
/* No styles */
|
||||
}
|
||||
|
||||
#custom-spotify {
|
||||
color: rgb(102, 220, 105);
|
||||
}
|
||||
|
||||
#temperature {
|
||||
/* No styles */
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#tray {
|
||||
/* No styles */
|
||||
}
|
||||
|
||||
#window {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border-top: 2px solid transparent;
|
||||
/* To compensate for the top border and still have vertical centering */
|
||||
padding-bottom: 2px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
color: #888888;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
border-color: #4c7899;
|
||||
color: white;
|
||||
background-color: #285577;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
border-color: #c9545d;
|
||||
color: #c9545d;
|
||||
}
|
||||
'';
|
||||
};
|
||||
systemd.user.services.waybar.Unit = {
|
||||
Requisite = lib.mkForce [ ];
|
||||
After = lib.mkForce [ ];
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue