Commit 197df00

HPCesia <me@hpcesia.com>
2026-07-23 14:49:20
Update Helix config
1 parent e96d035
Changed files (4)
modules
develop
modules/develop/editor/helix/default.nix
@@ -2,6 +2,7 @@
   den.aspects.develop.editor.helix = {
     cacheHome = {config, ...}: {
       directories = [
+        "${config.xdg.configHome}/helix"
         "${config.xdg.dataHome}/helix" # Workspace trust data
         "${config.xdg.dataHome}/steel" # Steel plugin system data
       ];
@@ -11,9 +12,30 @@
       config,
       pkgs,
       ...
-    }: {
+    }: let
+      steel-wrapped = pkgs.symlinkJoin {
+        pname = "steel-wrapped";
+        inherit (pkgs.steel) version;
+        paths = [pkgs.steel];
+        nativeBuildInputs = [pkgs.makeBinaryWrapper];
+        postBuild = ''
+          wrapProgram $out/bin/forge \
+            --prefix PATH : ${pkgs.lib.makeBinPath (with pkgs; [gcc cargo])}
+        '';
+        meta = {
+          inherit
+            (pkgs.steel.meta)
+            description
+            homepage
+            changelog
+            license
+            mainProgram
+            ;
+        };
+      };
+    in {
       home.packages = with pkgs; [
-        steel # All the Steel tools
+        steel-wrapped # All the Steel tools
         schemat # Scheme formatter
       ];
 
@@ -66,19 +88,17 @@
       xdg.dataFile."steel" = {
         source = pkgs.symlinkJoin {
           name = "steel-plugins";
-          paths = with pkgs.nur.repos.hpcesia.helixPlugins; [
-            fcitx-focus
-            forest
-            glyph
-            notify
-            wakatime
-          ];
+          paths = with pkgs.nur.repos.hpcesia.helixPlugins; [smith];
         };
         recursive = true;
       };
 
-      xdg.configFile."helix/init.scm".source = ./init.scm;
-      xdg.configFile."helix/helix.scm".source = ./helix.scm;
+      systemd.user.tmpfiles.rules = [
+        "r ${config.xdg.configHome}/helix/init.scm"
+        "C ${config.xdg.configHome}/helix/init.scm 0644 - - - ${./init.scm}"
+        "r ${config.xdg.configHome}/helix/helix.scm"
+        "C ${config.xdg.configHome}/helix/helix.scm 0644 - - - ${./helix.scm}"
+      ];
     };
   };
 }
modules/develop/editor/helix/init.scm
@@ -1,20 +1,24 @@
 (require "helix/configuration.scm")
-(require "helix/keymaps.scm")
 
 (define-lsp "steel-language-server" (command "steel-language-server") (args '()))
 (define-language "scheme"
   (language-servers '("steel-language-server"))
   (formatter (command "schemat")))
 
-(require "helix-fcitx-focus/cogs/fcitx-focus.scm")
-(require "wakatime/wakatime.scm")
+(require (only-in "smith.hx/smith.scm"
+          smith-plugin
+          smith-prune
+          smith-init))
 
-(require "forest/forest.scm")
-;; (forest-configure! side)
-(forest-configure! 'left)
-;; (forest-set-style! style)
-(forest-set-style! 'mini)
-(keymap (global)
-  (normal
-    (space
-      (e ":forest-open"))))
+(smith-plugin "https://github.com/mtul0729/helix-fcitx-focus.git")
+(smith-plugin "https://github.com/Xerxes-2/wakatime.hx.git")
+(smith-plugin "https://github.com/Ra77a3l3-jar/who.hx.git")
+
+(smith-plugin "https://github.com/Ra77a3l3-jar/forest.hx.git"
+  (config
+    (forest-configure! 'left #:ignore (list ".git" ".jj" "result" "target" "__pycache__"))
+    (forest-set-style! 'mini))
+  (bind
+    ("normal" ("space" "e") ":forest-open")))
+
+(smith-init)
modules/develop/utils.nix
@@ -25,7 +25,7 @@
         ty # Python LSP
         ruff # Python fomatter
 
-        # Utils
+        # Documents
         rumdl # Markdown linter / formatter
       ];
     };
flake.lock
@@ -398,11 +398,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1784627084,
-        "narHash": "sha256-mv+x6gEw7O/cMa1oygdLOobXkfRNpP4PV0V+HMenzsA=",
-        "rev": "1e4c09ea3d82226daac18a00a49232646a2a31c3",
+        "lastModified": 1784828104,
+        "narHash": "sha256-xZLAF827mOIbhlKcsqvthrTexxikw+krNMSQq6hCJ/M=",
+        "rev": "f850a9815d78bbc8be130490be5e59626b031f8a",
         "type": "tarball",
-        "url": "https://codeberg.org/api/v1/repos/HPCesia/nur-packages/archive/1e4c09ea3d82226daac18a00a49232646a2a31c3.tar.gz?rev=1e4c09ea3d82226daac18a00a49232646a2a31c3"
+        "url": "https://codeberg.org/api/v1/repos/HPCesia/nur-packages/archive/f850a9815d78bbc8be130490be5e59626b031f8a.tar.gz?rev=f850a9815d78bbc8be130490be5e59626b031f8a"
       },
       "original": {
         "type": "tarball",