# 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 ]; }