{ 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 ]; # Cachix for Hyprland nix.settings = { substituters = ["https://hyprland.cachix.org"]; trusted-substituters = ["https://hyprland.cachix.org"]; trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; }; # Hyprland programs.hyprland = { enable = true; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; }; # Catppuccin catppuccin = { sddm = { enable = true; background = "/home/chase/nixos-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 ]; services.fprintd.enable = true; }