about summary refs log tree commit diff
path: root/hosts/commons/desktop
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/commons/desktop')
-rw-r--r--hosts/commons/desktop/default.nix8
-rw-r--r--hosts/commons/desktop/fonts.nix18
-rw-r--r--hosts/commons/desktop/sound.nix20
-rw-r--r--hosts/commons/desktop/xserver.nix23
4 files changed, 69 insertions, 0 deletions
diff --git a/hosts/commons/desktop/default.nix b/hosts/commons/desktop/default.nix
new file mode 100644
index 0000000..f150066
--- /dev/null
+++ b/hosts/commons/desktop/default.nix
@@ -0,0 +1,8 @@
+{lib, config, pkgs, ...}:
+{
+  imports = [
+    ./fonts.nix
+    ./sound.nix
+    ./xserver.nix
+  ];
+}
diff --git a/hosts/commons/desktop/fonts.nix b/hosts/commons/desktop/fonts.nix
new file mode 100644
index 0000000..a840582
--- /dev/null
+++ b/hosts/commons/desktop/fonts.nix
@@ -0,0 +1,18 @@
+{ pkgs, config, lib, ... }:
+
+{
+  fonts = {
+    fontconfig.enable = true;
+    fonts = with pkgs; [
+      noto-fonts-emoji
+      dejavu_fonts
+      source-code-pro
+      source-sans-pro
+      source-serif-pro
+    ];
+
+    fontconfig.defaultFonts = {
+      monospace = [ "Source Code Pro" ];
+    };
+  };
+}
diff --git a/hosts/commons/desktop/sound.nix b/hosts/commons/desktop/sound.nix
new file mode 100644
index 0000000..95c7c75
--- /dev/null
+++ b/hosts/commons/desktop/sound.nix
@@ -0,0 +1,20 @@
+{pkgs, config, lib, ...}:
+
+{
+  sound.enable = true;
+
+  environment.systemPackages = with pkgs; [
+    # We install it to get access to pactl. It isn't enabled or run as a service.
+    pulseaudio
+  ];
+
+  services.pipewire = {
+    enable = true;
+    # Compatibility shims, adjust according to your needs
+    alsa.enable = true;
+    alsa.support32Bit = true;
+    pulse.enable = true;
+    jack.enable = true;
+  };
+  hardware.pulseaudio.enable = false;
+}
diff --git a/hosts/commons/desktop/xserver.nix b/hosts/commons/desktop/xserver.nix
new file mode 100644
index 0000000..7537863
--- /dev/null
+++ b/hosts/commons/desktop/xserver.nix
@@ -0,0 +1,23 @@
+{ config, pkgs, lib, ... }:
+
+{
+  services.xserver = {
+    enable = true;
+    layout = "us";
+    xkbOptions = "eurosign:e,ctrl:swapcaps";
+    libinput.enable = true;
+
+    desktopManager = {
+      xterm.enable = false;
+    };
+
+    displayManager = {
+      lightdm.enable = true;
+      defaultSession = "none+i3";
+    };
+
+    windowManager = {
+      i3.enable = true;
+    };
+  };
+}