nix/os-mods/desktop/default.nix

86 lines
1.9 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;
security.pam.services = {
# sddm.kwallet.enable = true; useless due to tty as dm
kdewallet.kwallet.enable = true;
kdewallet.kwallet.forceRun = true; # tty as dm support
};
services = {
desktopManager.plasma6.enable = true;
desktopManager.plasma6.enableQt5Integration = true;
displayManager.enable = false; # tty as dm ftw
displayManager.sddm.enable = false; # tty as dm ftw
xserver.displayManager.lightdm.enable = false; # tty as dm ftw
xserver = {
enable = true;
xkb = {
layout = "us";
variant = "alt-intl";
};
};
};
}