nixos-config/home/modules/wm.nix
2024-09-12 12:15:22 +02:00

125 lines
3.5 KiB
Nix

{
config,
pkgs,
lib,
inputs,
...
}: {
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.hyprland;
#xwayland.enable = true;
#enableNvidiaPatches = true;
extraConfig = builtins.readFile ../config-files/hyprland.conf;
};
programs.waybar =
/*
lib.mkIf (pkgs.system == "x86_64-linux")
*/
{
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
modules-left = ["hyprland/workspaces" "keyboard-state"];
modules-center = ["cpu" "memory" "disk" "disk#HDD1" "disk#HDD2" "network" ];
modules-right = ["tray" "battery" "battery#bat2" "battery#bat3" "clock"];
"tray" = {"icon-size" = 21;};
"network" = {
"interval" = 3;
"format-wifi" = "NET: {essid} {ipaddr}/{cidr} ({signalStrength}%) {bandwidthUpBits} {bandwidthDownBits} ";
"format-ethernet" = "NET: {ipaddr}/{cidr} {bandwidthUpBits} {bandwidthDownBits} ";
"format-disconnected" = "";
"max-length" = 100;
};
"keyboard-state" = {
"numlock" = true;
"capslock" = true;
"format" = {
"numlock" = "N {icon}";
"capslock" = "C {icon}";
};
"format-icons" = {
"locked" = "";
"unlocked" = "";
};
};
"cpu" = {
"interval" = 1;
"format" = "{}% ";
"max-length" = 10;
};
"disk" = {
"interval" = 10;
"format" = "󰋊 {percentage_free}% {path}";
"path" = "/";
};
"disk#HDD1" = {
"interval" = 10;
"format" = "󰋊 {percentage_free}% {path}";
"path" = "/mnt/HDD1/";
};
"disk#HDD2" = {
"interval" = 10;
"format" = "󰋊 {percentage_free}% {path}";
"path" = "/mnt/HDD2/";
};
"memory" = {
"interval" = 2;
"format" = "{used:0.1f}G/{total:0.1f}G ";
};
"battery" = {
"bat" = "BAT0";
"interval" = 10;
"states" = {
"warning" = 30;
"critical" = 15;
};
"format" = " BAT IN: {capacity}%";
#"format-icons" = ''["", "", "", "", ""]'';
"max-length" = 25;
};
"battery#bat2" = {
"bat" = "BAT1";
"interval" = 10;
"states" = {
"warning" = 30;
"critical" = 15;
};
"format" = " BAT EX: {capacity}%";
#"format-icons" = ''["", "", "", "", ""]'';
"max-length" = 25;
};
"battery#bat3" = {
"bat" = "macsmc-battery";
"interval" = 10;
"states" = {
"warning" = 30;
"critical" = 15;
};
"format" = " BAT: {capacity}%";
#"format-icons" = ''["", "", "", "", ""]'';
"max-length" = 25;
};
};
};
style = builtins.readFile ../config-files/waybar-mocha.css;
};
services.mako = {
enable = true;
font = "ComicShannsMono Nerd Font Mono 15";
backgroundColor = "#1e1e2e";
textColor = "#cdd6f4";
icons = true;
actions = true;
defaultTimeout = 5000;
};
}