2024-10-26 00:04:27 +02:00
|
|
|
{
|
2023-09-09 15:44:15 +02:00
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
2024-10-26 00:04:27 +02:00
|
|
|
}: {
|
|
|
|
config = {
|
2023-09-09 15:44:15 +02:00
|
|
|
services = {
|
2023-11-06 13:37:38 +01:00
|
|
|
# Enable the X11 windowing system / wayland depending on DE
|
2023-10-08 17:17:14 +02:00
|
|
|
xserver = {
|
|
|
|
enable = true;
|
2024-08-03 17:35:55 +02:00
|
|
|
};
|
2024-06-21 17:13:58 +02:00
|
|
|
|
|
|
|
libinput.enable = true;
|
2023-11-06 13:37:38 +01:00
|
|
|
|
|
|
|
# flatpak xdg-portal-kde crashes, otherwise this would be global
|
|
|
|
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.
|
|
|
|
sound.enable = true;
|
|
|
|
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 = {
|
2023-09-24 15:27:13 +02:00
|
|
|
kdeconnect.enable = true;
|
2023-10-02 17:14:20 +02:00
|
|
|
firefox = {
|
|
|
|
enable = true;
|
|
|
|
languagePacks = ["en-US" "de"];
|
|
|
|
};
|
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 = {
|
|
|
|
networkmanager.enable = true;
|
|
|
|
|
|
|
|
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 = ''
|
|
|
|
DefaultTimeoutStopSec=12s
|
|
|
|
'';
|
|
|
|
};
|
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
|
2024-04-19 12:27:51 +02:00
|
|
|
|
|
|
|
gnumake
|
2024-03-09 17:56:02 +01:00
|
|
|
];
|
2023-09-11 21:00:02 +02:00
|
|
|
|
2023-12-25 12:06:50 +01:00
|
|
|
nixpkgs.config.permittedInsecurePackages = [];
|
2023-09-17 16:54:18 +02:00
|
|
|
|
2023-10-02 18:14:05 +02:00
|
|
|
my.allowUnfreePackages = [
|
|
|
|
"insync"
|
|
|
|
"insync-pkg"
|
|
|
|
|
|
|
|
"rider"
|
|
|
|
"pycharm-professional"
|
2023-11-30 16:54:06 +01:00
|
|
|
"jetbrains-toolbox"
|
2024-02-09 18:51:59 +01:00
|
|
|
|
|
|
|
"anydesk"
|
2023-10-02 18:14:05 +02:00
|
|
|
];
|
|
|
|
|
2023-09-17 16:54:18 +02:00
|
|
|
fonts = {
|
2023-12-03 13:12:48 +01:00
|
|
|
enableDefaultPackages = true;
|
2023-09-17 16:56:11 +02:00
|
|
|
fontconfig.defaultFonts.monospace = ["FiraCode Nerd Font"];
|
2023-12-03 13:12:48 +01:00
|
|
|
packages = with pkgs; [
|
2023-09-17 16:54:18 +02:00
|
|
|
(nerdfonts.override {fonts = ["FiraCode"];})
|
|
|
|
];
|
|
|
|
};
|
2024-08-03 17:35:55 +02:00
|
|
|
|
|
|
|
hardware.logitech.wireless = {
|
|
|
|
enable = true;
|
|
|
|
enableGraphical = true;
|
|
|
|
};
|
2023-09-09 15:44:15 +02:00
|
|
|
};
|
|
|
|
}
|