config/modules/desktop/default.nix

129 lines
2.7 KiB
Nix

{ pkgs, config, inputs, lib, ... }: let
portRanges = [
# GSConnect
{ from = 1716; to = 1764; }
];
in {
imports = [
./package-sets.nix
./nixpak-tricks.nix
./hidden-apps.nix
./helix-desktop.nix
./open-in-blackbox.nix
];
services.xserver = {
enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome = {
enable = true;
extraGSettingsOverrides = builtins.readFile ./gsettings.conf;
favoriteAppsOverride = builtins.readFile ./appbar.conf;
};
};
programs.adb.enable = true;
environment.gnome.excludePackages = with pkgs.gnome; [
cheese
gnome-logs
gnome-music
totem
yelp
pkgs.gnome-console
pkgs.gnome-photos
pkgs.gnome-tour
pkgs.orca
];
desktop.hiddenApps = [
"startcenter.desktop" # LibreOffice Start Center
"xsltfilter.desktop" # LibreOffice XSLT based filters
"xterm.desktop"
"cups.desktop"
"scrcpy-console.desktop"
# all the Krita mimetype stuff
"krita_brush.desktop"
"krita_csv.desktop"
"krita_exr.desktop"
"krita_gif.desktop"
"krita_heif.desktop"
"krita_heightmap.desktop"
"krita_jp2.desktop"
"krita_jpeg.desktop"
"krita_jxl.desktop"
"krita_kra.desktop"
"krita_krz.desktop"
"krita_ora.desktop"
"krita_pdf.desktop"
"krita_png.desktop"
"krita_psd.desktop"
"krita_qimageio.desktop"
"krita_raw.desktop"
"krita_spriter.desktop"
"krita_svg.desktop"
"krita_tga.desktop"
"krita_tiff.desktop"
"krita_webp.desktop"
"krita_xcf.desktop"
];
environment.variables = {
EDITOR = "hx";
SSH_ASKPASS = lib.mkForce "";
};
fonts.fonts = with pkgs; [
terminus_font_fancy
terminus_font_ttf
nerdfonts-terminus
noto-fonts
];
security = {
sudo.enable = false;
doas.enable = true;
doas.extraRules = lib.mkForce [ rec {
groups = [ "wheel" ];
noPass = !config.services.fprintd.enable;
persist = !noPass;
}];
};
services.printing.enable = true;
networking.firewall.allowedTCPPortRanges = portRanges;
networking.firewall.allowedUDPPortRanges = portRanges;
services.avahi.enable = false;
services.fwupd.enable = true;
boot = {
loader.timeout = 0;
initrd.verbose = false;
consoleLogLevel = 0;
kernelParams = [ "quiet" "udev.log_priority=3" ];
plymouth.enable = true;
};
zramSwap.enable = true;
zramSwap.algorithm = "zstd";
services.packagekit.enable = lib.mkForce false;
programs.gnome-terminal.enable = false;
qt = {
enable = true;
platformTheme = "gtk2";
style = "gtk2";
};
virtualisation.libvirtd = {
enable = true;
qemu.package = pkgs.qemu_kvm;
};
services.printing.drivers = with pkgs; [ hplip gutenprint ];
}