{ config, lib, pkgs, ... }: with lib; let hostname = config.instance.hostname; enable-gui = config.fudo.hosts.${hostname}.enable-gui; in { imports = [ ./common.nix ]; boot = { plymouth.enable = false; tmpOnTmpfs = true; }; environment.systemPackages = with pkgs; [ adoptopenjdk-jre-openj9-bin-16 ]; services = { xserver = mkIf enable-gui { enable = true; desktopManager.gnome.enable = true; displayManager.gdm = { enable = true; wayland = false; autoSuspend = false; }; # windowManager.stumpwm.enable = true; # windowManager.session = pkgs.lib.singleton { # name = "stumpwm"; # start = '' # ${pkgs.lispPackages.stumpwm}/bin/stumpwm & # waidPID=$! # ''; # }; }; trezord.enable = true; gnome = mkIf enable-gui { evolution-data-server.enable = mkForce false; gnome-user-share.enable = mkForce false; }; pipewire = { enable = true; alsa = { enable = true; support32Bit = true; }; pulse.enable = true; jack.enable = true; wireplumber.enable = true; # media-session = { # enable = true; # config.alsa-monitor = { api.alsa.headroom = 1024; }; # }; }; udev.packages = with pkgs; [ via ]; }; security = { rtkit.enable = true; sudo.extraConfig = "Defaults lecture = never"; }; hardware = { bluetooth.enable = true; opengl = mkIf enable-gui { enable = true; driSupport = true; driSupport32Bit = true; }; pulseaudio.enable = false; }; sound.enable = true; # console.font = # lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-g18n.psf.gz"; services.flatpak.enable = enable-gui; fonts.fontDir.enable = enable-gui; # Stupid hack home-manager.users = { jasper.home.packages = let factorio = pkgs.factorio.override { username = "Exceeding9987"; token = lib.removeSuffix "\n" (readFile config.fudo.secrets.files.blobs."factorio-token-exceeding9987.txt"); }; in [ factorio ]; niten.home.packages = let factorio = pkgs.factorio.override { username = "fudoniten"; token = lib.removeSuffix "\n" (readFile config.fudo.secrets.files.blobs."factorio-token-fudoniten.txt"); }; in [ factorio ]; }; }