Kaynağa Gözat

configurations for dux shell

Johan Rong 1 hafta önce
ebeveyn
işleme
96e8f8f90e

+ 0 - 30
home/modules/apps/dux-files.nix

@@ -1,30 +0,0 @@
-{ pkgs, inputs, ... }:
-
-{
-  imports = [
-    inputs.dux-files.homeModules.default
-  ];
-
-  programs.dux-files = {
-    enable = true;
-
-    systemd = {
-      enable = true;
-      target = "graphical-session.target";
-      restartIfChanged = true;
-    };
-
-    settings = {
-      themeMode = "dark";
-      radiusStrength = 50;
-      defaultView = "list";
-      vimKeys = false;
-    };
-
-    portal = {
-      enable = true;
-      preferred = true;
-      desktop = "hyprland";
-    };
-  };
-}

+ 1 - 1
home/modules/desktop/hyprland/modules/config-builder.nix

@@ -58,7 +58,7 @@ in {
       type = types.str;
       default = "";
       example = "dms run";
-      description = "Command executed on hyprland start (e.g. dms-shell, waybar, etc.)";
+      description = "Command executed on hyprland start (e.g. dux-shell, waybar, etc.)";
     };
 
     mainMod = mkOption { type = types.str; default = "ALT"; };

+ 50 - 0
home/modules/shells/dux-shell/apps/dux-files/bookmarks.json

@@ -0,0 +1,50 @@
+{
+ "version": 2,
+ "bookmarks": [
+  {
+   "path": "recent:///",
+   "label": "recent",
+   "icon": ""
+  },
+  {
+   "path": "/home/johron",
+   "label": "johron",
+   "icon": ""
+  },
+  {
+   "path": "/home/johron/Projects",
+   "label": "Projects",
+   "icon": ""
+  },
+  {
+   "path": "/home/johron/Documents",
+   "label": "Documents",
+   "icon": ""
+  },
+  {
+   "path": "/home/johron/Downloads",
+   "label": "Downloads",
+   "icon": ""
+  },
+  {
+   "path": "/home/johron/Pictures",
+   "label": "Pictures",
+   "icon": ""
+  },
+  {
+   "path": "/home/johron/Videos",
+   "label": "Videos",
+   "icon": ""
+  },
+  {
+   "path": "/home/johron/Music",
+   "label": "Music",
+   "icon": ""
+  },
+  {
+   "path": "trash:///",
+   "label": "trash",
+   "icon": ""
+  }
+ ]
+}

+ 77 - 0
home/modules/shells/dux-shell/apps/dux-files/default.nix

@@ -0,0 +1,77 @@
+{ pkgs, inputs, ... }:
+
+{
+  imports = [
+    inputs.dux-files.homeModules.default
+  ];
+
+  home.file.".config/dfiles/bookmarks.json".source = ./bookmarks.json;
+  home.file.".config/dfiles/servers.json".source = ./servers.json;
+
+  programs.dux-files = {
+    enable = true;
+
+    systemd = {
+      enable = true;
+      target = "graphical-session.target";
+      restartIfChanged = true;
+    };
+
+    settings = {
+      animationDuration = 250;
+      clickToOpen = "double";
+      closeBehavior = "hide";
+      colorSource = "auto";
+      confirmTrash = false;
+      customThemeFile = "";
+      defaultSort = "name";
+      defaultSortDescending = false;
+      defaultView = "list";
+      displayFontFamily = "";
+      dragAction = "auto";
+      enableRippleEffects = true;
+      extractOnOpen = true;
+      focusRingColor = "primary";
+      focusRingEnabled = true;
+      focusRingWidth = 1.5;
+      folderCounts = true;
+      foldersFirst = true;
+      fontFamily = "";
+      fontScale = 1;
+      fontSource = "auto";
+      fontWeight = 400;
+      gtkBookmarksOffered = true;
+      language = "";
+      listTyping = "jump";
+      monoFontFamily = "";
+      mountOnClick = true;
+      networkThumbnails = false;
+      openLocationIn = "tab";
+      presetTheme = "purple";
+      radiusStrength = 50;
+      recentFiles = true;
+      reduceMotion = false;
+      registerFileManager = true;
+      rememberFolderViews = true;
+      searchExcludes = [];
+      searchHidden = false;
+      showExtensions = true;
+      showHidden = false;
+      showSystemPartitions = false;
+      sidebarCollapsed = false;
+      springBounce = 1;
+      terminal = "alacritty";
+      themeMode = "auto";
+      thumbnailSizeLimitMb = 64;
+      thumbnails = true;
+      vimKeys = false;
+      windowTitleBars = false;
+    };
+
+    portal = {
+      enable = true;
+      preferred = true;
+      desktop = "hyprland";
+    };
+  };
+}

+ 26 - 0
home/modules/shells/dux-shell/apps/dux-files/servers.json

@@ -0,0 +1,26 @@
+[
+  {
+    "uri": "sftp://moholt/",
+    "name": "moholt",
+    "scheme": "sftp",
+    "lastUsedMs": 1792667054783
+  },
+  {
+    "uri": "sftp://moholt-pub/",
+    "name": "moholt-pub",
+    "scheme": "sftp",
+    "lastUsedMs": 1792667054783
+  },
+  {
+    "uri": "smb://johanhr@sambaad.stud.ntnu.no/johanhr",
+    "name": "sambaad.stud.ntnu.no/johanhr",
+    "scheme": "smb",
+    "lastUsedMs": 1792667001251
+  },
+  {
+    "uri": "smb://johanhr@webedit.ntnu.no/johanhr",
+    "name": "webedit.ntnu.no/johanhr",
+    "scheme": "smb",
+    "lastUsedMs": 1792666964418
+  }
+]

+ 0 - 0
home/modules/shells/dms-shell/clipboard-settings.nix → home/modules/shells/dux-shell/clipboard-settings.nix


+ 2 - 0
home/modules/shells/dms-shell/default.nix → home/modules/shells/dux-shell/default.nix

@@ -10,6 +10,8 @@ in
     ./settings.nix
     ./clipboard-settings.nix
 
+    ./apps/dux-files
+
     ../../appearance/images
     ../../appearance/theme/breeze-dark.nix
     ../../appearance/theme/notwaita.nix

+ 0 - 0
home/modules/shells/dms-shell/plugin_settings.json → home/modules/shells/dux-shell/plugin_settings.json


+ 98 - 57
home/modules/shells/dms-shell/settings.nix → home/modules/shells/dux-shell/settings.nix

@@ -89,19 +89,19 @@ in
           order = [];
           widgets = [
             {
+              enabled = true;
               id = "dock_launcher";
               widgetId = "dockLauncher";
-              enabled = true;
             }
             {
+              enabled = true;
               id = "dock_apps";
               widgetId = "appsDock";
-              enabled = true;
             }
             {
+              enabled = true;
               id = "dock_trash";
               widgetId = "dockTrash";
-              enabled = true;
             }
           ];
         }
@@ -114,133 +114,167 @@ in
       barElevationEnabled = false;
       controlCenterWidgets = [
         {
-          id = "user";
+          col = 0;
           enabled = true;
-          w = 5;
           h = 1;
-          col = 0;
+          id = "user";
           row = 0;
+          w = 5;
         }
         {
-          id = "settings";
+          col = 5;
           enabled = true;
-          w = 1;
           h = 1;
-          small = true;
-          col = 5;
+          id = "settings";
           row = 0;
+          small = true;
+          w = 1;
         }
         {
-          id = "lock";
+          col = 6;
           enabled = true;
-          w = 1;
           h = 1;
-          small = true;
-          col = 6;
+          id = "lock";
           row = 0;
+          small = true;
+          w = 1;
         }
         {
-          id = "power";
+          col = 7;
           enabled = true;
-          w = 1;
           h = 1;
-          small = true;
-          col = 7;
+          id = "power";
           row = 0;
+          small = true;
+          w = 1;
         }
         {
+          col = 0;
           enabled = true;
-          id = "volumeSlider";
-          w = 4;
           h = 1;
-          col = 0;
+          id = "volumeSlider";
           row = 1;
+          w = 4;
         }
         {
+          col = 4;
           enabled = true;
-          id = "brightnessSlider";
-          w = 4;
           h = 1;
-          col = 4;
+          id = "brightnessSlider";
           row = 1;
+          w = 4;
         }
         {
+          col = 0;
           enabled = true;
-          id = "wifi";
-          w = 4;
           h = 1;
-          col = 0;
+          id = "wifi";
           row = 2;
+          w = 4;
         }
         {
+          col = 4;
           enabled = true;
-          id = "bluetooth";
-          w = 4;
           h = 1;
-          col = 4;
+          id = "bluetooth";
           row = 2;
+          w = 4;
         }
         {
+          col = 0;
           enabled = true;
-          id = "audioOutput";
-          w = 4;
           h = 1;
-          col = 0;
+          id = "audioOutput";
           row = 3;
+          w = 4;
         }
         {
+          col = 4;
           enabled = true;
-          id = "audioInput";
-          w = 4;
           h = 1;
-          col = 4;
+          id = "audioInput";
           row = 3;
+          w = 4;
         }
         {
+          col = 0;
           enabled = true;
-          id = "nightMode";
-          w = 4;
           h = 1;
-          col = 0;
+          id = "nightMode";
           row = 4;
+          w = 4;
         }
         {
+          col = 4;
           enabled = true;
-          id = "idleInhibitor";
-          w = 4;
           h = 1;
-          col = 4;
+          id = "idleInhibitor";
           row = 4;
+          w = 4;
         }
         {
-          id = "edit";
+          col = 0;
           enabled = true;
-          w = 1;
           h = 1;
-          small = true;
-          col = 0;
+          id = "edit";
           row = 5;
+          small = true;
+          w = 1;
         }
         {
-          id = "runningApps";
+          col = 1;
           enabled = true;
-          w = 3;
           h = 1;
-          small = true;
-          col = 1;
+          id = "runningApps";
           row = 5;
+          small = true;
+          w = 3;
         }
         {
-          id = "builtin_vpn";
+          col = 4;
           enabled = true;
-          w = 4;
           h = 1;
-          col = 4;
+          id = "builtin_vpn";
           row = 5;
+          w = 4;
         }
       ];
       appIdSubstitutions = [];
       clockDateFormat = "dddd, d. MMM";
+      dashCards = [
+        {
+          id = "clock";
+          w = 2;
+          h = 1;
+          col = 3;
+          row = 0;
+        }
+        {
+          id = "weather";
+          w = 1;
+          h = 1;
+        }
+        {
+          id = "calendar";
+          w = 5;
+          h = 3;
+          col = 0;
+          row = 1;
+        }
+        {
+          id = "media";
+          w = 3;
+          h = 1;
+          col = 0;
+          row = 0;
+        }
+      ];
+      dashOptions = {
+        overview = {
+          panelColumns = 5;
+          panelRows = 4;
+        };
+      };
       networkPreference = "wifi";
       cursorSettings = {
         dwl = {
@@ -296,10 +330,12 @@ in
               clockCompactMode = false;
               enabled = true;
               id = "clock";
+              clockNotificationBadge = false;
             }
           ];
           clickThrough = false;
           enabled = true;
+          followInterfaceStyle = true;
           fontScale = 1;
           gothCornerRadiusOverride = false;
           gothCornerRadiusValue = 12;
@@ -309,10 +345,10 @@ in
           innerPadding = -4;
           leftWidgets = [
             {
-              id = "workspaceSwitcher";
               enabled = true;
-              showWorkspaceIndex = true;
+              id = "workspaceSwitcher";
               showWorkspaceApps = true;
+              showWorkspaceIndex = true;
             }
             {
               enabled = true;
@@ -374,14 +410,13 @@ in
           squareCorners = true;
           transparency = 1;
           visible = true;
+          widgetFollowInterfaceStyle = true;
           widgetOutlineColor = "primary";
           widgetOutlineEnabled = false;
           widgetOutlineOpacity = 1;
           widgetOutlineThickness = 1;
           widgetPadding = 8;
           widgetTransparency = 1;
-          followInterfaceStyle = true;
-          widgetFollowInterfaceStyle = true;
         }
       ];
       builtInPluginSettings = {
@@ -394,6 +429,12 @@ in
         dms_settings_search = {
           trigger = "?";
         };
+        dms_qr_generator = {
+          trigger = "qrg";
+        };
+        dms_power = {
+          trigger = "pw";
+        };
       };
       configVersion = 42;
     };

+ 0 - 0
home/modules/shells/dms-shell/wm/hyprland/default.nix → home/modules/shells/dux-shell/wm/hyprland/default.nix


+ 2 - 2
hosts/ideapad/home/hyprland.nix

@@ -1,8 +1,8 @@
 { config, pkgs, ... }: {
   imports = [
     ../../../home/modules/desktop/hyprland/modules/config-builder.nix
-    ../../../home/modules/shells/dms-shell
-    ../../../home/modules/shells/dms-shell/wm/hyprland
+    ../../../home/modules/shells/dux-shell
+    ../../../home/modules/shells/dux-shell/wm/hyprland
   ];
 
   programs.hyprlandLua = {

+ 0 - 1
hosts/nixstation/home/default.nix

@@ -8,7 +8,6 @@
     ./hyprland.nix
 
     ../../../home/modules/apps/alacritty.nix
-    ../../../home/modules/apps/dux-files.nix
     ../../../home/modules/apps/firefox.nix
     ../../../home/modules/apps/fish
     ../../../home/modules/apps/emacs

+ 2 - 2
hosts/nixstation/home/hyprland.nix

@@ -1,8 +1,8 @@
 { config, pkgs, ... }: {
   imports = [
     ../../../home/modules/desktop/hyprland/modules/config-builder.nix
-    ../../../home/modules/shells/dms-shell
-    ../../../home/modules/shells/dms-shell/wm/hyprland
+    ../../../home/modules/shells/dux-shell
+    ../../../home/modules/shells/dux-shell/wm/hyprland
   ];
 
   programs.hyprlandLua = {

+ 2 - 2
hosts/ono/home/hyprland.nix

@@ -1,8 +1,8 @@
 { config, pkgs, ... }: {
   imports = [
     ../../../home/modules/desktop/hyprland/modules/config-builder.nix
-    ../../../home/modules/shells/dms-shell
-    ../../../home/modules/shells/dms-shell/wm/hyprland
+    ../../../home/modules/shells/dux-shell
+    ../../../home/modules/shells/dux-shell/wm/hyprland
   ];
 
   programs.hyprlandLua = {