about summary refs log tree commit diff
path: root/modules/kde.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/kde.nix138
1 files changed, 76 insertions, 62 deletions
diff --git a/modules/kde.nix b/modules/kde.nix
index f20d5ea..a23eaa4 100644
--- a/modules/kde.nix
+++ b/modules/kde.nix
@@ -19,11 +19,13 @@ in
       sound.enable = true;
     };
 
-    # stylix.targets.qt.platform = "kde";
+    stylix.targets.qt.enable = false;
 
     hm = {
       imports = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
 
+      stylix.targets.qt.enable = false;
+
       home.sessionVariables.GTK_THEME = config.hm.gtk.theme.name;
 
       gtk.theme = lib.mkForce {
@@ -31,72 +33,83 @@ in
         name = "Breeze";
       };
 
-      # programs = {
-      #   plasma = {
-      #     enable = true;
-
-      #     fonts = {
-      #       windowTitle = with config.stylix.fonts; {
-      #         family = sansSerif.name;
-      #         pointSize = sizes.desktop;
-      #       };
-      #     };
-
-      #     desktop = {
-      #       icons = {
-      #         alignment = "left";
-      #         arrangement = "topToBottom";
-      #         sorting = {
-      #           mode = "name";
-      #           descending = true;
-      #           foldersFirst = true;
-      #         };
-      #       };
-      #     };
-
-      #     session = {
-      #       general.askForConfirmationOnLogout = true;
-      #       sessionRestore = {
-      #         excludeApplications = [ ];
-      #         restoreOpenApplicationsOnLogin = "whenSessionWasManuallySaved";
-      #       };
-      #     };
-
-      #     spectacle = {
-      #       shortcuts = {
-      #         launch = "Meta+S";
-      #         launchWithoutCapturing = "Meta+Alt+S";
-
-      #         captureActiveWindow = "Meta+Print";
-      #         captureCurrentMonitor = "Print";
-      #         captureEntireDesktop = "Shift+Print";
-      #         captureRectangularRegion = "Meta+Shift+S";
-      #         captureWindowUnderCursor = "Meta+Ctrl+Print";
-
-      #         recordRegion = "Meta+Shift+R";
-      #         recordScreen = "Meta+Alt+R";
-      #         recordWindow = "Meta+Ctrl+R";
-      #       };
-      #     };
-
-      #     configFile = {
-      #       kcminputrc.Keyboard = with config.services.xserver; {
-      #         RepeatDelay = autoRepeatDelay;
-      #         RepeatRate = autoRepeatInterval;
-      #       };
-      #     };
-      #   };
-      # };
+      programs = {
+        plasma = {
+          enable = true;
+
+          immutableByDefault = false;
+
+          fonts = {
+            windowTitle = with config.stylix.fonts; {
+              family = sansSerif.name;
+              pointSize = sizes.desktop;
+            };
+          };
+
+          desktop = {
+            icons = {
+              alignment = "left";
+              arrangement = "topToBottom";
+              sorting = {
+                mode = "name";
+                descending = true;
+                foldersFirst = true;
+              };
+            };
+          };
+
+          session = {
+            general.askForConfirmationOnLogout = true;
+            sessionRestore = {
+              excludeApplications = [ ];
+              restoreOpenApplicationsOnLogin = "whenSessionWasManuallySaved";
+            };
+          };
+
+          spectacle = {
+            shortcuts = {
+              launch = "Meta+S";
+              launchWithoutCapturing = "Meta+Alt+S";
+
+              captureActiveWindow = "Meta+Print";
+              captureCurrentMonitor = "Print";
+              captureEntireDesktop = "Shift+Print";
+              captureRectangularRegion = "Meta+Shift+S";
+              captureWindowUnderCursor = "Meta+Ctrl+Print";
+
+              recordRegion = "Meta+Shift+R";
+              recordScreen = "Meta+Alt+R";
+              recordWindow = "Meta+Ctrl+R";
+            };
+          };
+
+          input.keyboard = with config.services.xserver; {
+            repeatDelay = autoRepeatDelay;
+            repeatRate = autoRepeatInterval;
+            numlockOnStartup = "off";
+          };
+
+          configFile = {
+            baloofilerc."Basic Settings"."Indexing-Enabled" = false;
+            kwalletrc."Wallet"."Enabled" = false;
+            kwinrc."Xwayland"."XwaylandEavesdrop" = "None";
+            spectaclerc = {
+              "ImageSave"."imageSaveLocation" = "file://${config.userDirs.pictures}";
+              "VideoSave"."videoSaveLocation" = "file://${config.userDirs.videos}";
+            };
+          };
+        };
+
+        firefox.profiles.default.settings = {
+          "widget.use-xdg-desktop-portal.file-picker" = 1;
+          "widget.use-xdg-desktop-portal.mime-handler" = 1;
+        };
+      };
 
       xdg.configFile = {
         "fontconfig/conf.d/10-hm-fonts.conf".force = lib.mkForce true;
         "mimeapps.list".force = lib.mkForce true;
       };
-
-      programs.firefox.profiles.default.settings = {
-        "widget.use-xdg-desktop-portal.file-picker" = 1;
-        "widget.use-xdg-desktop-portal.mime-handler" = 1;
-      };
     };
 
     services = {
@@ -121,6 +134,7 @@ in
         print-manager
       ];
       systemPackages = with pkgs.kdePackages; [
+        krdc
         plasma-disks
       ];
     };

Consider giving Nix/NixOS a try! <3