chore(home): add elephant service and improve waybar configuration
- Add elephant backend service with systemd user service - Update walker service to depend on elephant service - Improve waybar configuration with new modules (tray, bluetooth, battery) - Add click handlers for network, pulseaudio, and bluetooth - Update colors and styling for better visibility - Include gaming-apps in laptop home configuration
This commit is contained in:
@@ -6,24 +6,37 @@
|
|||||||
elephant
|
elephant
|
||||||
];
|
];
|
||||||
|
|
||||||
|
systemd.user.services.elephant = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Elephant backend service";
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
After = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.elephant}/bin/elephant";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
systemd.user.services.walker = {
|
systemd.user.services.walker = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Walker application service";
|
Description = "Walker application service";
|
||||||
After = [ "graphical-session.target" ];
|
|
||||||
PartOf = [ "graphical-session.target" ];
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
After = [ "elephant.service" "graphical-session.target" ];
|
||||||
|
Requires = [ "elephant.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
ExecStart = "${pkgs.walker}/bin/walker --gapplication-service";
|
ExecStart = "${pkgs.walker}/bin/walker --gapplication-service";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
RestartSec = 5;
|
||||||
|
|
||||||
Install = {
|
|
||||||
WantedBy = [ "graphical-session.target" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings.exec-once = [
|
wayland.windowManager.hyprland.settings.exec-once = [
|
||||||
"sh -lc 'elephant service enable && systemctl --user start elephant.service'"
|
"dbus-update-activation-environment --systemd --all"
|
||||||
|
"systemctl --user start elephant.service walker.service"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
{ pkgs, config, ... }:
|
{ pkgs, config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
colors = config.lib.stylix.colors;
|
colors = config.lib.stylix.colors;
|
||||||
|
|
||||||
rgb = base:
|
rgb = base:
|
||||||
"${colors."${base}-rgb-r"}, ${colors."${base}-rgb-g"}, ${colors."${base}-rgb-b"}";
|
"${colors."${base}-rgb-r"}, ${colors."${base}-rgb-g"}, ${colors."${base}-rgb-b"}";
|
||||||
|
terminal = cmd: "uwsm app -- ${lib.getExe pkgs.ghostty} -e ${cmd}";
|
||||||
|
|
||||||
radius = toString config.theme.bar-rounding;
|
radius = toString config.theme.bar-rounding;
|
||||||
in
|
in
|
||||||
@@ -29,6 +29,7 @@ in
|
|||||||
|
|
||||||
"modules-left" = [
|
"modules-left" = [
|
||||||
"hyprland/workspaces"
|
"hyprland/workspaces"
|
||||||
|
"tray"
|
||||||
];
|
];
|
||||||
|
|
||||||
"modules-center" = [
|
"modules-center" = [
|
||||||
@@ -36,8 +37,9 @@ in
|
|||||||
];
|
];
|
||||||
|
|
||||||
"modules-right" = [
|
"modules-right" = [
|
||||||
"tray"
|
"custom/bluetooth"
|
||||||
"network"
|
"network"
|
||||||
|
"battery"
|
||||||
"pulseaudio"
|
"pulseaudio"
|
||||||
"clock"
|
"clock"
|
||||||
];
|
];
|
||||||
@@ -73,6 +75,28 @@ in
|
|||||||
"format-disconnected" = "";
|
"format-disconnected" = "";
|
||||||
|
|
||||||
"tooltip-format" = "{essid}\n{ipaddr}";
|
"tooltip-format" = "{essid}\n{ipaddr}";
|
||||||
|
"on-click" = terminal "wifitui";
|
||||||
|
};
|
||||||
|
|
||||||
|
battery = {
|
||||||
|
interval = 30;
|
||||||
|
states = {
|
||||||
|
warning = 30;
|
||||||
|
critical = 15;
|
||||||
|
};
|
||||||
|
|
||||||
|
format = " {capacity}%";
|
||||||
|
"format-charging" = " {capacity}%";
|
||||||
|
"format-plugged" = " {capacity}%";
|
||||||
|
"format-full" = " {capacity}%";
|
||||||
|
"tooltip-format" = "Battery {capacity}%\n{timeTo} remaining";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/bluetooth" = {
|
||||||
|
exec = "echo ";
|
||||||
|
interval = 3600;
|
||||||
|
tooltip = false;
|
||||||
|
"on-click" = "uwsm app -- blueman-manager";
|
||||||
};
|
};
|
||||||
|
|
||||||
pulseaudio = {
|
pulseaudio = {
|
||||||
@@ -82,6 +106,7 @@ in
|
|||||||
"format-muted" = "";
|
"format-muted" = "";
|
||||||
|
|
||||||
tooltip = true;
|
tooltip = true;
|
||||||
|
"on-click" = terminal "wiremix";
|
||||||
};
|
};
|
||||||
|
|
||||||
clock = {
|
clock = {
|
||||||
@@ -119,10 +144,12 @@ in
|
|||||||
#workspaces,
|
#workspaces,
|
||||||
#window,
|
#window,
|
||||||
#tray,
|
#tray,
|
||||||
|
#custom-bluetooth,
|
||||||
#network,
|
#network,
|
||||||
|
#battery,
|
||||||
#pulseaudio,
|
#pulseaudio,
|
||||||
#clock {
|
#clock {
|
||||||
background: rgba(${rgb "base01"}, 0.82);
|
background: rgba(${rgb "base01"}, 0.76);
|
||||||
|
|
||||||
border: 1px solid rgba(${rgb "base03"}, 0.45);
|
border: 1px solid rgba(${rgb "base03"}, 0.45);
|
||||||
|
|
||||||
@@ -187,6 +214,10 @@ in
|
|||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-bluetooth {
|
||||||
|
color: #${colors.base0E};
|
||||||
|
}
|
||||||
|
|
||||||
#network {
|
#network {
|
||||||
color: #${colors.base0C};
|
color: #${colors.base0C};
|
||||||
}
|
}
|
||||||
@@ -195,6 +226,23 @@ in
|
|||||||
color: #${colors.base08};
|
color: #${colors.base08};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: #${colors.base0A};
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging,
|
||||||
|
#battery.plugged {
|
||||||
|
color: #${colors.base0B};
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning {
|
||||||
|
color: #${colors.base0A};
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical {
|
||||||
|
color: #${colors.base08};
|
||||||
|
}
|
||||||
|
|
||||||
#pulseaudio {
|
#pulseaudio {
|
||||||
color: #${colors.base0B};
|
color: #${colors.base0B};
|
||||||
}
|
}
|
||||||
@@ -209,7 +257,7 @@ in
|
|||||||
}
|
}
|
||||||
|
|
||||||
tooltip {
|
tooltip {
|
||||||
background: rgba(${rgb "base00"}, 0.95);
|
background: rgba(${rgb "base00"}, 0.90);
|
||||||
|
|
||||||
border: 1px solid rgba(${rgb "base03"}, 0.70);
|
border: 1px solid rgba(${rgb "base03"}, 0.70);
|
||||||
|
|
||||||
@@ -226,4 +274,4 @@ in
|
|||||||
"waybar"
|
"waybar"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
../../home/programs/group/basic-apps.nix
|
../../home/programs/group/basic-apps.nix
|
||||||
../../home/programs/group/dev.nix
|
../../home/programs/group/dev.nix
|
||||||
../../home/programs/group/misc.nix
|
../../home/programs/group/misc.nix
|
||||||
|
../../home/programs/group/gaming-apps.nix
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ─────────────────────────────────────────────────────────────
|
||||||
# System
|
# System
|
||||||
|
|||||||
Reference in New Issue
Block a user