Files
NixOS/plasma/default.nix

100 lines
2.4 KiB
Nix

{
config,
pkgs,
username,
project,
cookiez-assets,
...
}: let
# Define the custom background package with the correct relative path
# background-package = pkgs.stdenvNoCC.mkDerivation {
# name = "background-image";
# src = ../other/wallpaper4.png; # Place wallpaper.jpg in the same directory as this config file
# dontUnpack = true;
# installPhase = ''
# cp $src $out
# '';
# };
plasmaTheme = "desktop"; #Possible values are "laptop" or "desktop"
powerProfile = "laptop"; #Possible values are "laptop" or "desktop"
in {
imports = [
./autostart.nix
../modules/stylix
];
# Pass the variable to home-manager
home-manager.extraSpecialArgs = {
inherit plasmaTheme powerProfile cookiez-assets;
};
home-manager.sharedModules = [
./home.nix
];
systemd.services = {
"plasma-workspace".serviceConfig.KillMode = "mixed";
"plasma-workspace".serviceConfig.TimeoutStopSec = "5s";
"sddm".serviceConfig.KillMode = "mixed";
};
programs.gamemode.enable = true;
services = {
xserver = {
enable = true;
videoDrivers = ["amdgpu"];
xkb = {
layout = "de";
variant = "";
};
desktopManager = {
#gnome.enable = true;
xterm.enable = false;
};
excludePackages = [pkgs.xterm];
## Enable sound with pipewire.
#services.pulseaudio.enable = false;
};
displayManager = {
sddm = {
enable = true;
theme = "breeze";
wayland.enable = true;
};
};
# Enable the KDE Plasma Desktop Environment.
desktopManager.plasma6.enable = true;
};
system.activationScripts.script.text = ''
source /home/${username}/${project}/other/colors.sh
'';
environment = {
plasma6.excludePackages = with pkgs; [
kdePackages.elisa
];
systemPackages = with pkgs; [
#(pkgs.writeTextDir "share/sddm/themes/breeze/theme.conf.user" ''
# [General]
# background = "${background-package}"
#'') #Custom SDDM theme with background image
kdePackages.plymouth-kcm
xdg-desktop-portal
kdePackages.xdg-desktop-portal-kde
kdePackages.plasma-workspace
kdePackages.kdialog
kdePackages.yakuake #Drop down Terminal
kdePackages.bluez-qt #Bluetooth management for KDE Plasma
kdePackages.kconfig #To Get infos about the current config, such as themes
];
};
}