Files
NixOS/plasma/default.nix
Cookiez c6862c78db - Formatted everything using Alejandra
- Added 'ncli format' as a quick command to format everything
2026-03-11 16:03:16 +01:00

101 lines
2.4 KiB
Nix

{
config,
pkgs,
username,
project,
...
}: 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;
};
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
source /home/${username}/${project}/other/pfp.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
];
};
}