summaryrefslogtreecommitdiff
path: root/hosts/omar/desktop-environment/default.nix
blob: f18740428d7851c56d9f46245c4e69a9c2141ee8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# 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
  ];

  # 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 sound.
  # hardware.pulseaudio.enable = true;
  # OR
  # services.pipewire = {
  #   enable = true;
  #   pulse.enable = true;
  # };

  # Enable touchpad support (enabled default in most desktopManager).
  services.libinput.enable = true;
}