summaryrefslogtreecommitdiff
path: root/machines/enzo/desktop.nix
diff options
context:
space:
mode:
Diffstat (limited to 'machines/enzo/desktop.nix')
-rw-r--r--machines/enzo/desktop.nix68
1 files changed, 68 insertions, 0 deletions
diff --git a/machines/enzo/desktop.nix b/machines/enzo/desktop.nix
new file mode 100644
index 0000000..8fb68ef
--- /dev/null
+++ b/machines/enzo/desktop.nix
@@ -0,0 +1,68 @@
+# Minimal niri desktop for enzo — deliberately separate from ../../profiles/desktop.nix
+# so the laptop can grow on its own terms. Add to it (or switch to the shared
+# profile) whenever you want more.
+{ pkgs, ... }:
+
+{
+ # --- Session / login ---
+ programs.niri.enable = true;
+ programs.dconf.enable = true;
+
+ services.greetd = {
+ enable = true;
+ settings.default_session = {
+ command = "${pkgs.tuigreet}/bin/tuigreet --time --remember --cmd niri-session";
+ user = "greeter";
+ };
+ };
+ # Let tuigreet write its cache (for --remember).
+ systemd.services.greetd.serviceConfig = {
+ Type = "idle";
+ StandardInput = "tty";
+ StandardOutput = "tty";
+ StandardError = "journal";
+ TTYReset = true;
+ TTYVHangup = true;
+ TTYVTDisallocate = true;
+ };
+
+ # --- Graphics ---
+ hardware.graphics.enable = true;
+
+ # --- Audio (playback only; no rtkit/jack — enzo isn't for recording).
+ # If you ever hear dropouts under load, add: security.rtkit.enable = true;
+ services.pulseaudio.enable = false;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ pulse.enable = true;
+ };
+
+ # --- Fonts (minimal) ---
+ fonts.enableDefaultPackages = true;
+ fonts.packages = with pkgs; [
+ noto-fonts
+ nerd-fonts.symbols-only
+ ];
+
+ environment.sessionVariables = {
+ XCURSOR_THEME = "Adwaita";
+ XCURSOR_SIZE = "24";
+ };
+
+ # --- User: groups + niri essentials ---
+ users.users.hwebs.extraGroups = [
+ "audio"
+ "input"
+ ];
+
+ users.users.hwebs.packages = with pkgs; [
+ ghostty # terminal
+ fuzzel # launcher
+ swaybg # wallpaper
+ xwayland-satellite # run X11 apps under niri
+ networkmanagerapplet # wifi tray
+ mako # notifications
+ libnotify # notify-send
+ ];
+}