diff --git a/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/defaults b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/defaults new file mode 100644 index 0000000..764fa66 --- /dev/null +++ b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/defaults @@ -0,0 +1,29 @@ +[kdeglobals][KDE] +widgetStyle=Breeze + +[kdeglobals][General] +ColorScheme=BreezeDarkTint + +[kdeglobals][Icons] +Theme=breeze-dark + +[plasmarc][Theme] +name=default + +[Wallpaper] +Image=MilkyWay + +[kcminputrc][Mouse] +cursorTheme=breeze_cursors + +[kwinrc][WindowSwitcher] +LayoutName=org.kde.breeze.desktop + +[kwinrc][DesktopSwitcher] +LayoutName=org.kde.breeze.desktop + +[kwinrc][org.kde.kdecoration2] +library=org.kde.breeze + +[KSplash] +Theme=org.kde.Breeze diff --git a/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/layouts/org.kde.plasma.desktop-layout.js b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/layouts/org.kde.plasma.desktop-layout.js new file mode 100644 index 0000000..09fdfac --- /dev/null +++ b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/layouts/org.kde.plasma.desktop-layout.js @@ -0,0 +1,6 @@ +loadTemplate("org.kde.plasma.desktop.defaultPanel") + +var desktopsArray = desktopsForActivity(currentActivity()); +for( var j = 0; j < desktopsArray.length; j++) { + desktopsArray[j].wallpaperPlugin = 'org.kde.image'; +} diff --git a/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/plasmoidsetupscripts/org.kde.plasma.digitalclock.js b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/plasmoidsetupscripts/org.kde.plasma.digitalclock.js new file mode 100644 index 0000000..f2d9552 --- /dev/null +++ b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/plasmoidsetupscripts/org.kde.plasma.digitalclock.js @@ -0,0 +1,3 @@ +applet.currentConfigGroup = ["Appearance"] +applet.writeConfig("showSeconds", "true") +applet.reloadConfig() diff --git a/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/plasmoidsetupscripts/org.kde.plasma.kickoff.js b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/plasmoidsetupscripts/org.kde.plasma.kickoff.js new file mode 100644 index 0000000..5d17cfc --- /dev/null +++ b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/plasmoidsetupscripts/org.kde.plasma.kickoff.js @@ -0,0 +1,3 @@ +applet.currentConfigGroup = ["General"] +applet.writeConfig("icon", "nix-snowflake-white") +applet.reloadConfig() diff --git a/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/previews/fullscreenpreview.jpg b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/previews/fullscreenpreview.jpg new file mode 100644 index 0000000..44aba5d Binary files /dev/null and b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/previews/fullscreenpreview.jpg differ diff --git a/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/previews/preview.png b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/previews/preview.png new file mode 100644 index 0000000..ba7bbdd Binary files /dev/null and b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/contents/previews/preview.png differ diff --git a/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/metadata.json b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/metadata.json new file mode 100644 index 0000000..820e77a --- /dev/null +++ b/roles/kde/look-and-feel/xyz.toast003.customtheme.desktop/metadata.json @@ -0,0 +1,19 @@ +{ + "KPlugin": { + "Authors": [ + { + "Name": "Toast" + } + ], + "Category": "", + "Description": "Custom theme based on Breeze Dark", + "Id": "xyz.toast003.customtheme.desktop", + "License": "GPL", + "Name": "Toast's theme", + "ServiceTypes": [ + "Plasma/LookAndFeel" + ], + "Version": "1.0" + }, + "X-Plasma-MainScript": "defaults" +} diff --git a/roles/kde/plasma.nix b/roles/kde/plasma.nix index 1b35760..0140e0f 100644 --- a/roles/kde/plasma.nix +++ b/roles/kde/plasma.nix @@ -2,6 +2,14 @@ let # Set up the default kde options + kdeglobals = lib.generators.toINI {} { + KDE.LookAndFeelPackage = "org.kde.breezedarktint.desktop"; + KDE.SingleClick = false; + General = { + accentColorFromWallpaper = true; + AccentColor = "172,53,164" ; }; + }; + balooExcludedDirs = lib.strings.intersperse "," [ "$HOME/.cache/" "$HOME/.config/" @@ -29,6 +37,18 @@ let runHook postInstall ''; }; + lookAndFeel = pkgs.stdenv.mkDerivation { + name = "toast-look-and-feel"; + src = ./look-and-feel; + installPhase = '' + runHook preInstall + + mkdir -p $out/share/plasma/look-and-feel/ + cp -r xyz.toast003.customtheme.desktop $out/share/plasma/look-and-feel/ + + runHook postInstall + ''; + }; # /etc/xdg is not read by plasma, so to change the default settings you need to put them in a package plasmaDefaults = pkgs.stdenv.mkDerivation { @@ -39,6 +59,7 @@ let set -x mkdir -p $out/etc/xdg + echo "${kdeglobals}" > $out/etc/xdg/kdeglobals echo '${baloofilerc}' > $out/etc/xdg/baloofilerc runHook postInstall @@ -61,7 +82,7 @@ in Install the patched Breeze color schemes and look and feel packages, as well as the plasma default configs */ - environment.systemPackages = [ breezeTint plasmaDefaults ]; + environment.systemPackages = [ breezeTint lookAndFeel plasmaDefaults ]; # Plasma configs should be on all users home-manager.sharedModules = [ @@ -88,10 +109,7 @@ in }; programs.plasma = { enable = true; - workspace = { - clickItemTo = "select"; - cursorTheme = "Breeze_Snow"; - }; + workspace.clickItemTo = "select"; shortcuts = { "kwin" = { "Switch One Desktop to the Left" = [ "Meta+Ctrl+Left" ];