summaryrefslogtreecommitdiff
path: root/hosts
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2024-12-29 19:17:35 +0000
committerLinnnus <[email protected]>2025-01-27 19:50:41 +0000
commit47e2c211d343a73260a65995514f46f2ccba103d (patch)
tree083d306c1f215932b04a375e3f70de1dea5e25bd /hosts
parent3eb0a3c2d694e65053227d6fd33eb44edfccdd50 (diff)
hosts/omar: Refactor desktop-environment, fix DWM status formatting
Diffstat (limited to 'hosts')
-rw-r--r--hosts/omar/desktop-environment/default.nix40
-rw-r--r--hosts/omar/desktop-environment/input.nix11
-rw-r--r--hosts/omar/desktop-environment/window-manager.nix25
3 files changed, 41 insertions, 35 deletions
diff --git a/hosts/omar/desktop-environment/default.nix b/hosts/omar/desktop-environment/default.nix
index f187404..48598eb 100644
--- a/hosts/omar/desktop-environment/default.nix
+++ b/hosts/omar/desktop-environment/default.nix
@@ -1,40 +1,13 @@
# This module configures a desktop environment specific to this host.
-{pkgs, ...}:
-
{
- # Enable the X11 windowing system.
- services.xserver.enable = true;
-
- services.xserver.windowManager.dwm.enable = true;
-
- systemd.services.dwm-battery = {
- description = "Battery status update";
- after = ["graphical-session.target"];
- wantedBy = ["graphical-session.target"];
-
- serviceConfig = {
- script = ''
- while true; do
- echo "$(date +%H:%M) - $(cat /sys/class/power_supply/BAT0/capacity)"
- sleep 5
- done | ${pkgs.dwm-setstatus}/bin/dwm-setstatus
- '';
- };
- };
-
- environment.systemPackages = with pkgs; [
- st
- dmenu
+ imports = [
+ ./window-manager.nix
+ ./input.nix
];
- # Configure keymap in X11
- services.xserver.xkb.layout = "dk";
- services.xserver.xkb.options = "caps:escape";
- console.useXkbConfig = true;
-
- # Enable CUPS to print documents.
- # services.printing.enable = true;
+ # Enable the X11 windowing system.
+ services.xserver.enable = true;
# Enable sound.
# hardware.pulseaudio.enable = true;
@@ -43,7 +16,4 @@
# enable = true;
# pulse.enable = true;
# };
-
- # Enable touchpad support (enabled default in most desktopManager).
- services.libinput.enable = true;
}
diff --git a/hosts/omar/desktop-environment/input.nix b/hosts/omar/desktop-environment/input.nix
new file mode 100644
index 0000000..bb138c7
--- /dev/null
+++ b/hosts/omar/desktop-environment/input.nix
@@ -0,0 +1,11 @@
+{
+
+ # Configure keymap in X11
+ services.xserver.xkb.layout = "dk";
+ services.xserver.xkb.options = "caps:escape";
+
+ console.useXkbConfig = true;
+
+ # Enable touchpad support (enabled default in most desktopManager).
+ services.libinput.enable = true;
+}
diff --git a/hosts/omar/desktop-environment/window-manager.nix b/hosts/omar/desktop-environment/window-manager.nix
new file mode 100644
index 0000000..1237148
--- /dev/null
+++ b/hosts/omar/desktop-environment/window-manager.nix
@@ -0,0 +1,25 @@
+{pkgs, ...}:
+
+{
+ services.xserver.windowManager.dwm.enable = true;
+
+ # Show battery and clock in status bar. This is a background daemon which
+ # updates the root window, which DWM uses for status.
+ systemd.user.services.dwm-battery = {
+ description = "Battery status update";
+ partOf = ["graphical-session.target"];
+ wantedBy = ["graphical-session.target"];
+
+ serviceConfig.ExecStart = pkgs.writeShellScript "dwm-battery" ''
+ while true; do
+ echo "$(date +%H:%M) - $(cat /sys/class/power_supply/BAT0/capacity)%"
+ sleep 5
+ done | ${pkgs.dwm-setstatus}/bin/dwm-setstatus
+ '';
+ };
+
+ environment.systemPackages = with pkgs; [
+ st
+ dmenu
+ ];
+}