nix/os-mods/desktop/default.nix
2024-02-27 17:56:55 +01:00

94 lines
2 KiB
Nix

{ config
, lib
, pkgs
, ...
}: {
programs.dconf.enable = true;
programs.partition-manager.enable = true;
fonts = {
enableDefaultPackages = true;
fontDir.enable = true;
fontconfig = {
antialias = true;
defaultFonts = {
serif = [ "Iosevka Nerd Font Propo" ];
sansSerif = [ "Iosevka Nerd Font Propo" ];
monospace = [ "Iosevka Nerd Font Mono" ];
emoji = [ "Noto Color Emoji" ];
};
hinting.enable = true;
hinting.style = "slight";
subpixel.rgba = lib.mkDefault "rgb";
subpixel.lcdfilter = "default";
};
packages = with pkgs; [
emacs-all-the-icons-fonts
corefonts
vistafonts
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
liberation_ttf
fira
fira-code
fira-code-symbols
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
(nerdfonts.override {
fonts = [ "Iosevka" "IosevkaTerm" "FiraCode" "DroidSansMono" "NerdFontsSymbolsOnly" ];
})
];
};
networking.firewall = {
enable = true;
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
} # KDE Connect
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
} # KDE Connect
];
};
programs.kdeconnect.enable = true;
# TODO enable when plasma 6 nixpkgs branch is merged
# security.pam.services.sddm.kwallet.enable = true;
# security.pam.services.kdewallet.kwallet.enable = true;
services = {
xserver = {
enable = true;
xkb = {
layout = "us";
variant = "alt-intl";
};
# desktopManager.plasma5.enable = true;
# desktopManager.plasma5.useQtScaling = true;
desktopManager.plasma6.enable = true;
desktopManager.plasma6.enableQt5Integration = true;
displayManager = {
# defaultSession = "plasmawayland";
sddm.enable = true;
# autoLogin = {
# enable = true;
# user = "tristand";
# };
};
};
};
}