Compare commits

..

View file

@ -45,7 +45,7 @@ let
} }
.control-center { .control-center {
background: shade(@theme_bg_color, 1.1); background: @theme_bg_color;
} }
.notification-row .notification-background .notification, .notification-row .notification-background .notification,
@ -86,38 +86,38 @@ let
} }
''; '';
session-programs = pkgs.writeShellApplication { session-programs = lib.getExe (
name = "session-programs"; pkgs.writeShellApplication {
runtimeInputs = with pkgs; [ name = "session-programs";
procps runtimeInputs = with pkgs; [
util-linux procps
]; util-linux
text = '' ];
restart() { text = ''
pattern=$1 restart() {
shift pattern=$1
pkill -f "$pattern" || true shift
for _ in $(seq 50); do pkill -f "$pattern" || true
pgrep -f "$pattern" >/dev/null || break for _ in $(seq 50); do
sleep 0.1 pgrep -f "$pattern" >/dev/null || break
done sleep 0.1
setsid "$@" >/dev/null 2>&1 </dev/null & done
} setsid "$@" >/dev/null 2>&1 </dev/null &
}
restart '/bin/elephant$' systemd-cat -t elephant ${lib.getExe pkgs.elephant} restart '/bin/elephant$' systemd-cat -t elephant ${lib.getExe pkgs.elephant}
restart 'walker.* --gapplication-service' walker --gapplication-service restart 'walker.* --gapplication-service' walker --gapplication-service
restart 'gaypanel-wrapped_' systemd-cat -t gaypanel gaypanel restart 'gaypanel-wrapped_' systemd-cat -t gaypanel gaypanel
restart 'bin/swaybg ' ${lib.getExe pkgs.swaybg} -i ${../../../background.jpg} -m fill restart 'bin/swaybg ' ${lib.getExe pkgs.swaybg} -i ${../../../background.jpg} -m fill
restart 'bin/swayosd-server ' ${lib.getExe' pkgs.swayosd "swayosd-server"} --style ${osd-style} restart 'bin/swayosd-server ' ${lib.getExe' pkgs.swayosd "swayosd-server"} --style ${osd-style}
restart 'bin/swaync ' ${lib.getExe' swaync "swaync"} --style ${swaync-style} --config ${swaync-config} restart 'bin/swaync ' ${lib.getExe' swaync "swaync"} --style ${swaync-style} --config ${swaync-config}
''; '';
}; }
);
in in
{ {
imports = [ inputs.fht-compositor.nixosModules.default ]; imports = [ inputs.fht-compositor.nixosModules.default ];
environment.systemPackages = [ session-programs ];
# Prefer the GNOME portal (e.g. Nautilus as the file picker), falling back to GTK. This replaces # Prefer the GNOME portal (e.g. Nautilus as the file picker), falling back to GTK. This replaces
# the portal config fht-compositor ships. # the portal config fht-compositor ships.
xdg.portal.config.fht-compositor = { xdg.portal.config.fht-compositor = {
@ -195,7 +195,7 @@ in
''; '';
environment.etc.${filename}.source = (pkgs.formats.toml { }).generate "config.toml" { environment.etc.${filename}.source = (pkgs.formats.toml { }).generate "config.toml" {
autostart = [ "session-programs" ]; autostart = [ session-programs ];
general = { general = {
focus-follows-mouse = true; focus-follows-mouse = true;
@ -217,7 +217,7 @@ in
Super-Ctrl-q = "quit"; Super-Ctrl-q = "quit";
Super-Ctrl-r = { Super-Ctrl-r = {
action = "run-command"; action = "run-command";
arg = "fht-compositor ipc action reload-config; session-programs"; arg = "fht-compositor ipc action reload-config; ${session-programs}";
}; };
# Runs when Super is tapped on its own (patched in, see lone-modifier.patch) # Runs when Super is tapped on its own (patched in, see lone-modifier.patch)