nixos-configuration/modules/desktop-environment.nix

116 lines
2.3 KiB
Nix
Raw Permalink Normal View History

2024-10-27 12:33:35 +01:00
{ config, pkgs, ... }:
{
config = {
2023-09-09 15:44:15 +02:00
services = {
2024-10-26 12:32:15 +02:00
xserver.enable = true;
2024-06-21 17:13:58 +02:00
libinput.enable = true;
2023-11-06 13:37:38 +01:00
flatpak.enable = true;
2024-02-09 18:51:59 +01:00
fstrim.enable = true;
2024-10-13 14:18:18 +02:00
earlyoom = {
enable = true;
freeMemThreshold = 5;
};
2023-09-09 15:44:15 +02:00
};
# Enable sound with pipewire.
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
2023-10-02 18:14:05 +02:00
#jack.enable = true;
2023-09-09 15:44:15 +02:00
};
programs = {
kdeconnect.enable = true;
2023-10-02 17:14:20 +02:00
firefox = {
enable = true;
2024-10-27 12:33:35 +01:00
languagePacks = [
"en-US"
"de"
];
2023-10-02 17:14:20 +02:00
};
2024-03-09 17:56:02 +01:00
nix-ld = {
enable = true;
libraries = with pkgs; [
stdenv.cc.cc
zlib
zstd
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
];
};
2024-08-03 17:35:55 +02:00
appimage = {
enable = true;
binfmt = true;
2024-06-21 17:14:14 +02:00
};
2023-09-09 15:44:15 +02:00
};
2023-09-11 19:16:26 +02:00
networking = {
firewall = {
allowedTCPPortRanges = [
{
2023-10-08 21:34:45 +02:00
# KDE Connect / gsconnect
2023-09-11 19:16:26 +02:00
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
2023-10-08 21:34:45 +02:00
# KDE Connect / gsconnect
2023-09-11 19:16:26 +02:00
from = 1714;
to = 1764;
}
];
};
};
2023-09-17 14:03:37 +02:00
systemd = {
# save some boot time because nothing actually requires network connectivity
services.NetworkManager-wait-online.enable = false;
2023-11-06 13:37:38 +01:00
# prevent stuck units from preventing shutdown (default is 120s)
2023-09-17 14:03:37 +02:00
extraConfig = ''
2024-12-21 14:43:08 +01:00
DefaultTimeoutStopSec=10s
2023-09-17 14:03:37 +02:00
'';
};
2023-09-11 19:16:26 +02:00
2024-03-09 17:56:02 +01:00
environment.systemPackages = with pkgs; [
lm_sensors
2023-10-22 14:14:39 +02:00
2024-03-09 17:56:02 +01:00
# office
libreoffice-qt
hunspell
hunspellDicts.de-de
hunspellDicts.en-us-large
];
2023-09-11 21:00:02 +02:00
2023-09-17 16:54:18 +02:00
fonts = {
enableDefaultPackages = true;
2024-10-27 12:33:35 +01:00
fontconfig.defaultFonts.monospace = [ "FiraCode Nerd Font" ];
packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" ]; }) ];
2023-09-17 16:54:18 +02:00
};
2024-08-03 17:35:55 +02:00
hardware.logitech.wireless = {
enable = true;
enableGraphical = true;
};
2024-12-21 14:43:08 +01:00
system.autoUpgrade = {
allowReboot = false;
operation = "boot";
};
2023-09-09 15:44:15 +02:00
};
}