aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-07-06 22:23:32 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-07-06 22:26:36 +0200
commite18da60fbedb61240b4dcead1769415f3704f4b4 (patch)
tree9feb452a60af808b509669a6d0d06fe843ee8270 /pkgs/by-name
parentmodules/backup: Explicitly enable fuse (diff)
downloadnixos-config-e18da60fbedb61240b4dcead1769415f3704f4b4.zip
modules/river/keymap: Toggle the systemd service for i3bar-river for restarts
Using the built-in version via signals kinda just fails to show i3bar-river again, if it has been hidden for a longer time.
Diffstat (limited to 'pkgs/by-name')
-rw-r--r--pkgs/by-name/sy/systemd-toggle/package.nix23
-rwxr-xr-xpkgs/by-name/sy/systemd-toggle/systemd-toggle.sh46
2 files changed, 69 insertions, 0 deletions
diff --git a/pkgs/by-name/sy/systemd-toggle/package.nix b/pkgs/by-name/sy/systemd-toggle/package.nix
new file mode 100644
index 00000000..04ed576f
--- /dev/null
+++ b/pkgs/by-name/sy/systemd-toggle/package.nix
@@ -0,0 +1,23 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+{
+ writeShellApplication,
+ systemd,
+}:
+writeShellApplication {
+ name = "systemd-toggle";
+ text = builtins.readFile ./systemd-toggle.sh;
+ runtimeInputs = [
+ systemd
+ ];
+ meta = {
+ mainProgram = "systemd-toggle";
+ };
+}
diff --git a/pkgs/by-name/sy/systemd-toggle/systemd-toggle.sh b/pkgs/by-name/sy/systemd-toggle/systemd-toggle.sh
new file mode 100755
index 00000000..a8290238
--- /dev/null
+++ b/pkgs/by-name/sy/systemd-toggle/systemd-toggle.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env sh
+
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
+use_user=false
+service=""
+while [ "$#" -ne 0 ]; do
+ case "$1" in
+ "--user")
+ use_user=true
+ ;;
+ *)
+ if [ -n "$service" ]; then
+ echo "Service was already specified as: '$service'"
+ exit 2
+ else
+ service="$1"
+ fi
+ ;;
+ esac
+
+ shift 1
+done
+
+user_str=""
+if [ "$use_user" = "true" ]; then
+ user_str="--user"
+fi
+
+service_status="$(systemctl $user_str show "$service" | grep ActiveState | sed 's/ActiveState=//')"
+
+if [ "$service_status" = "inactive" ]; then
+ systemctl $user_str start "$service"
+else
+ systemctl $user_str stop "$service"
+fi
+
+# vim: ft=sh