refactor: use systemd
services instead of start script
This is probably what I should've done from the beginning, but I didn't really know how `systemd` worked when I started writing this config.
This commit is contained in:
parent
5f95f0ffba
commit
af0e27630f
|
@ -2,8 +2,8 @@
|
|||
|
||||
workspaces() {
|
||||
hyprctl workspaces -j | jaq -c 'map({key: .id | tostring, value: .windows}) | from_entries
|
||||
| . as $windows | [range(1;11) | {id: tostring, windows: $windows[tostring] // 0,
|
||||
previous: $windows[.-1|tostring] // 0, next: $windows[.+1|tostring] // 0 }]'
|
||||
| . as $windows | [range(1;11) | {id: tostring, windows: $windows[tostring] // 0,
|
||||
previous: $windows[.-1|tostring] // 0, next: $windows[.+1|tostring] // 0}]'
|
||||
}
|
||||
|
||||
workspaces
|
||||
|
|
|
@ -4,11 +4,6 @@ let
|
|||
modifier = "SUPER";
|
||||
terminal = "alacritty";
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
swaybg
|
||||
swayidle
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
|
@ -28,10 +23,6 @@ in {
|
|||
"$terminal" = terminal;
|
||||
"$menu" = "rofi -show drun";
|
||||
|
||||
exec-once = [
|
||||
"background=${../../assets/background.png} platform=${config.platform} ${scripts}/autostart"
|
||||
];
|
||||
|
||||
general = {
|
||||
layout = "hy3";
|
||||
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Background
|
||||
swaybg -o '*' -i "$background" -m fill &
|
||||
|
||||
# Status Bar
|
||||
eww open "$platform"_bar --screen 0
|
|
@ -60,6 +60,25 @@
|
|||
];
|
||||
};
|
||||
|
||||
# Swaybg
|
||||
|
||||
systemd.user.services.swaybg = {
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
|
||||
Unit = {
|
||||
Description = "Sway background manager";
|
||||
After = [ "graphical-session-pre.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
ConditionEnvironment = "WAYLAND_DISPLAY";
|
||||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${lib.getExe pkgs.swaybg} -o '*' -i ${../../assets/background.png} -m fill";
|
||||
Restart = "always";
|
||||
RestartSec = "5";
|
||||
};
|
||||
};
|
||||
|
||||
# Rofi
|
||||
|
||||
programs.rofi.enable = true;
|
||||
|
@ -72,6 +91,27 @@
|
|||
programs.eww.enable = true;
|
||||
programs.eww.configDir = ./eww;
|
||||
|
||||
systemd.user.services.eww =
|
||||
let eww = lib.getExe config.programs.eww.package;
|
||||
in {
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
|
||||
Unit = {
|
||||
Description = "GTK-based custom widgets";
|
||||
Documentation = "https://github.com/elkowar/eww";
|
||||
After = [ "graphical-session-pre.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
ConditionEnvironment = "WAYLAND_DISPLAY";
|
||||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${eww} daemon --no-daemonize";
|
||||
ExecStartPost = "${eww} open ${config.machine}_bar --screen 0";
|
||||
Restart = "always";
|
||||
RestartSec = "5";
|
||||
};
|
||||
};
|
||||
|
||||
# Mako
|
||||
|
||||
services.mako = {
|
||||
|
|
Loading…
Reference in a new issue