nixos-config/config/profile-config/common-ui.nix

112 lines
2.5 KiB
Nix

{ 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;
tmp.useTmpfs = 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-experimental.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-experimental.override {
username = "fudoniten";
token = lib.removeSuffix "\n" (readFile
config.fudo.secrets.files.blobs."factorio-token-fudoniten.txt");
};
in [ factorio ];
};
fudo.services.tattler.enable-notifications = enable-gui;
}