Files
nix-config/nixos/desktop.nix
2025-06-09 01:39:08 -04:00

126 lines
2.5 KiB
Nix

{
config,
pkgs,
inputs,
...
}: {
imports = [
./base.nix
];
# Use latest stable kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# Enable Bluetooth
hardware.bluetooth.enable = true;
# Enable the KDE Plasma Desktop Environment.
services.xserver.enable = true;
services.displayManager.sddm = {
enable = true;
extraPackages = [pkgs.kdePackages.sddm-kcm];
wayland.enable = true;
enableHidpi = true;
};
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs.kdePackages; [
elisa
kate
];
# Catppuccin
catppuccin = {
sddm = {
enable = true;
background = "/home/chase/nix-config/home/wallpaper.jpg";
flavor = "mocha";
font = "IBM Plex Sans";
fontSize = "11";
};
};
# Enable graphics
hardware.graphics = {
enable = true;
enable32Bit = true;
};
i18n.inputMethod = {
type = "fcitx5";
enable = true;
fcitx5.addons = with pkgs; [
fcitx5-mozc
kdePackages.fcitx5-qt
];
fcitx5.waylandFrontend = true;
};
# Fonts
fonts = {
packages = with pkgs; [
ibm-plex
liberation_ttf
nerd-fonts.blex-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
];
fontconfig = {
defaultFonts = {
serif = ["IBM Plex Serif"];
sansSerif = ["IBM Plex Sans"];
monospace = ["BlexMono Nerd Font"];
};
};
};
# Enable sound with pipewire.
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Install firefox
programs.firefox = {
enable = true;
nativeMessagingHosts.packages = [pkgs.firefoxpwa];
policies = {
DisableTelemetry = true;
DisableFirefoxAccounts = true;
DisableFirefoxStudies = true;
DisablePocket = true;
};
};
# Install Steam
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
bitwarden-desktop
(catppuccin-kde.override {
flavour = ["mocha"];
accents = [
"blue"
"lavender"
"pink"
"sapphire"
];
winDecStyles = ["classic"];
})
firefoxpwa
yubioath-flutter
];
services.fprintd.enable = true;
}