2024-08-28 18:21:04 +02:00
|
|
|
{ pkgs, ... }:
|
|
|
|
|
2024-08-28 22:41:29 +02:00
|
|
|
let
|
|
|
|
sddm-background-drv = pkgs.stdenvNoCC.mkDerivation {
|
|
|
|
name = "sddm-background-drv";
|
|
|
|
src = ../../../assets/wallpapers;
|
|
|
|
dontUnpack = true;
|
|
|
|
installPhase = ''
|
|
|
|
cp $src/kde.png $out
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
in {
|
2024-08-28 18:21:04 +02:00
|
|
|
imports = [
|
|
|
|
../../system/fonts.nix
|
|
|
|
];
|
|
|
|
|
2024-08-28 22:41:29 +02:00
|
|
|
environment.persistence."/nix/persist".directories = [
|
|
|
|
"/var/lib/AccountsService/"
|
|
|
|
];
|
|
|
|
|
2024-08-28 20:12:00 +02:00
|
|
|
environment.persistence."/nix/persist".users.hu.directories = [
|
|
|
|
# https://github.com/nix-community/plasma-manager/issues/172
|
2024-08-28 20:37:55 +02:00
|
|
|
".local/share/konsole"
|
2024-08-28 21:21:28 +02:00
|
|
|
".local/share/kwalletd"
|
2024-08-28 22:41:29 +02:00
|
|
|
".local/share/baloo"
|
|
|
|
".local/share/dolphin"
|
2024-08-28 20:12:00 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
environment.persistence."/nix/persist".users.hu.files = [
|
2024-08-28 20:37:55 +02:00
|
|
|
".config/konsolerc"
|
2024-08-28 21:21:28 +02:00
|
|
|
".config/kwinoutputconfig.json"
|
2024-08-28 22:41:29 +02:00
|
|
|
".local/state/konsolestaterc"
|
2024-08-28 20:12:00 +02:00
|
|
|
];
|
|
|
|
|
2024-08-28 18:21:04 +02:00
|
|
|
environment.sessionVariables = {
|
|
|
|
LIBVA_DRIVER_NAME = "nvidia";
|
|
|
|
XDG_SESSION_TYPE = "wayland";
|
|
|
|
GBM_BACKEND = "nvidia-drm";
|
|
|
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
|
|
|
NVD_BACKEND = "direct";
|
|
|
|
MOZ_DISABLE_RDD_SANDBOX = 1;
|
|
|
|
NIXOS_OZONE_WL = 1;
|
|
|
|
};
|
|
|
|
|
|
|
|
services.desktopManager.plasma6.enable = true;
|
|
|
|
services.displayManager.sddm = {
|
|
|
|
enable = true;
|
|
|
|
wayland.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
|
|
|
plasma-browser-integration
|
|
|
|
khelpcenter
|
|
|
|
krdp
|
|
|
|
];
|
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
nvidia-vaapi-driver
|
2024-08-28 20:12:00 +02:00
|
|
|
kdePackages.sddm-kcm
|
2024-08-28 22:41:29 +02:00
|
|
|
(pkgs.writeTextDir "share/sddm/themes/breeze/theme.conf.user" ''
|
|
|
|
[General]
|
|
|
|
background=${sddm-background-drv}
|
|
|
|
'')
|
2024-08-28 18:21:04 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
home-manager.users.hu = {
|
|
|
|
dconf.settings = {
|
|
|
|
"org/gnome/desktop/interface" = {
|
|
|
|
color-scheme = "prefer-dark";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-08-28 20:12:00 +02:00
|
|
|
gtk = { enable = true;
|
2024-08-28 18:21:04 +02:00
|
|
|
theme = {
|
2024-08-28 20:12:00 +02:00
|
|
|
name = "Breeze";
|
2024-08-28 18:21:04 +02:00
|
|
|
package = pkgs.kdePackages.breeze-gtk;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.plasma = {
|
|
|
|
enable = true;
|
|
|
|
workspace = {
|
|
|
|
lookAndFeel = "org.kde.breezedark.desktop";
|
|
|
|
wallpaper = "/nix/config/assets/wallpapers/kde.png";
|
|
|
|
};
|
|
|
|
|
|
|
|
panels = [
|
|
|
|
{
|
|
|
|
location = "bottom";
|
2024-08-28 20:12:00 +02:00
|
|
|
floating = true;
|
2024-08-28 18:21:04 +02:00
|
|
|
widgets = [
|
|
|
|
{
|
|
|
|
kickoff = {
|
|
|
|
icon = "nix-snowflake-white";
|
|
|
|
};
|
|
|
|
}
|
2024-08-28 20:12:00 +02:00
|
|
|
"org.kde.plasma.pager"
|
2024-08-28 18:21:04 +02:00
|
|
|
{
|
|
|
|
iconTasks = {
|
|
|
|
launchers = [
|
|
|
|
"applications:org.kde.dolphin.desktop"
|
|
|
|
"applications:org.kde.konsole.desktop"
|
2024-08-28 20:48:13 +02:00
|
|
|
"applications:firefox-esr.desktop"
|
2024-08-28 18:21:04 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|
2024-08-28 20:12:00 +02:00
|
|
|
"org.kde.plasma.marginsseparator"
|
|
|
|
"org.kde.plasma.systemtray"
|
2024-08-28 18:21:04 +02:00
|
|
|
{
|
2024-08-28 18:32:23 +02:00
|
|
|
digitalClock = {
|
2024-08-28 18:21:04 +02:00
|
|
|
calendar.firstDayOfWeek = "monday";
|
|
|
|
time.format = "24h";
|
|
|
|
};
|
|
|
|
}
|
2024-08-28 20:12:00 +02:00
|
|
|
"org.kde.plasma.showdesktop"
|
2024-08-28 18:21:04 +02:00
|
|
|
];
|
|
|
|
}
|
|
|
|
];
|
2024-08-28 20:12:00 +02:00
|
|
|
|
|
|
|
shortcuts = {
|
|
|
|
kwin = {
|
|
|
|
"Switch to Desktop 1" = "Meta+1";
|
|
|
|
"Switch to Desktop 2" = "Meta+2";
|
|
|
|
"Switch to Desktop 3" = "Meta+3";
|
|
|
|
"Switch to Desktop 4" = "Meta+4";
|
|
|
|
"Switch to Desktop 5" = "Meta+5";
|
|
|
|
"Switch to Desktop 6" = "Meta+6";
|
|
|
|
"Switch to Desktop 7" = "Meta+7";
|
|
|
|
"Switch to Desktop 8" = "Meta+8";
|
|
|
|
"Switch to Desktop 9" = "Meta+9";
|
|
|
|
"Window to Desktop 1" = "Meta+Shift+1";
|
|
|
|
"Window to Desktop 2" = "Meta+Shift+2";
|
|
|
|
"Window to Desktop 3" = "Meta+Shift+3";
|
|
|
|
"Window to Desktop 4" = "Meta+Shift+4";
|
|
|
|
"Window to Desktop 5" = "Meta+Shift+5";
|
|
|
|
"Window to Desktop 6" = "Meta+Shift+6";
|
|
|
|
"Window to Desktop 7" = "Meta+Shift+7";
|
|
|
|
"Window to Desktop 8" = "Meta+Shift+8";
|
|
|
|
"Window to Desktop 9" = "Meta+Shift+9";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
configFile = {
|
|
|
|
kwinrc = {
|
2024-08-28 20:16:39 +02:00
|
|
|
Desktops = {
|
|
|
|
Number = {
|
|
|
|
value = 9;
|
|
|
|
};
|
|
|
|
Rows = {
|
|
|
|
value = 3;
|
|
|
|
};
|
2024-08-28 20:12:00 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
plasmaashellrc = {
|
2024-08-28 20:16:39 +02:00
|
|
|
PlasmaViews = {
|
2024-08-28 20:12:00 +02:00
|
|
|
panelOpacity = 2;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
kxkbrc = {
|
|
|
|
Layout = {
|
|
|
|
LayoutList = "gb";
|
|
|
|
Use = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-08-28 18:21:04 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|