about summary refs log tree commit diff
path: root/modules/kde.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/kde.nix')
-rw-r--r--modules/kde.nix94
1 files changed, 74 insertions, 20 deletions
diff --git a/modules/kde.nix b/modules/kde.nix
index c227620..f20d5ea 100644
--- a/modules/kde.nix
+++ b/modules/kde.nix
@@ -1,17 +1,17 @@
 {
   config,
+  inputs,
   lib,
   pkgs,
   ...
 }:
-with lib;
 let
   cfg = config.nixfiles.modules.kde;
 in
 {
-  options.nixfiles.modules.kde.enable = mkEnableOption "KDE Plasma";
+  options.nixfiles.modules.kde.enable = lib.mkEnableOption "KDE Plasma";
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     nixfiles.modules = {
       common.xdg.defaultApplications."org.kde.dolphin" = [ "inode/directory" ];
 
@@ -19,29 +19,83 @@ in
       sound.enable = true;
     };
 
+    # stylix.targets.qt.platform = "kde";
+
     hm = {
-      stylix.targets.kde.enable = true;
+      imports = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
 
-      programs.firefox.profiles.default.settings = {
-        "widget.use-xdg-desktop-portal.file-picker" = 1;
-        "widget.use-xdg-desktop-portal.mime-handler" = 1;
-      };
+      home.sessionVariables.GTK_THEME = config.hm.gtk.theme.name;
 
-      gtk.theme = {
-        package = mkForce pkgs.breeze-gtk;
-        name = mkForce "Breeze";
+      gtk.theme = lib.mkForce {
+        package = pkgs.kdePackages.breeze-gtk;
+        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;
+      #       };
+      #     };
+      #   };
+      # };
+
       xdg.configFile = {
-        "fontconfig/conf.d/10-hm-fonts.conf".force = mkForce true;
-        "mimeapps.list".force = mkForce true;
-        "kcminputrc".text = generators.toINI { } {
-          Keyboard = with config.services.xserver; {
-            RepeatDelay = autoRepeatDelay;
-            RepeatRate = autoRepeatInterval;
-          };
-        };
-        "baloofilerc".text = generators.toINI { } { "Basic Settings"."Indexing-Enabled" = false; };
+        "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;
       };
     };
 

Consider giving Nix/NixOS a try! <3