Commit 6e004fd

HPCesia <me@hpcesia.com>
2026-08-01 13:47:49
Migrate Helix config to Hjem
1 parent 6fe222a
Changed files (2)
modules
develop
editor
modules/develop/editor/helix/lang/nix.nix
@@ -1,34 +1,32 @@
 {
   den.aspects.develop.editor.helix.lang.nix = {
-    homeManager = {
-      programs.helix = {
-        languages = {
-          language = [
-            {
-              name = "nix";
-              auto-format = true;
-              indent = {
-                tab-width = 2;
-                unit = "  ";
-              };
-              language-servers = ["nixd"];
-            }
-          ];
-          language-server = {
-            nil.config.nil = {
-              formatting.command = ["alejandra"];
-              nix = {
-                maxMemoryMB = 4096;
-                flake = {
-                  autoArchive = false;
-                  autoEvalInputs = true;
-                };
-              };
+    hjem = {
+      xdg.config.files."helix/languages.toml".value = {
+        language = [
+          {
+            name = "nix";
+            auto-format = true;
+            indent = {
+              tab-width = 2;
+              unit = "  ";
             };
-            nixd.config.nixd = {
-              formatting.command = ["alejandra"];
+            language-servers = ["nixd"];
+          }
+        ];
+        language-server = {
+          nil.config.nil = {
+            formatting.command = ["alejandra"];
+            nix = {
+              maxMemoryMB = 4096;
+              flake = {
+                autoArchive = false;
+                autoEvalInputs = true;
+              };
             };
           };
+          nixd.config.nixd = {
+            formatting.command = ["alejandra"];
+          };
         };
       };
     };
modules/develop/editor/helix/default.nix
@@ -8,7 +8,7 @@
       ];
     };
 
-    homeManager = {
+    hjem = {
       config,
       pkgs,
       ...
@@ -34,15 +34,22 @@
         };
       };
     in {
-      home.packages = with pkgs; [
-        steel-wrapped # All the Steel tools
-        schemat # Scheme formatter
+      packages = [
+        pkgs.nur.repos.hpcesia.steelix
+
+        steel-wrapped
+        pkgs.schemat
       ];
 
-      programs.helix = {
-        enable = true;
-        package = pkgs.nur.repos.hpcesia.steelix;
-        settings = {
+      environment.sessionVariables = {
+        EDITOR = "hx";
+        VISUAL = "hx";
+        STEEL_HOME = "${config.xdg.data.directory}/steel";
+      };
+
+      xdg.config.files."helix/config.toml" = {
+        generator = (pkgs.formats.toml {}).generate "helix-config.toml";
+        value = {
           editor = {
             line-number = "relative";
             cursorline = true;
@@ -83,26 +90,29 @@
         };
       };
 
-      home.sessionVariables.STEEL_HOME = "${config.xdg.dataHome}/steel";
+      xdg.config.files."helix/languages.toml" = {
+        generator = (pkgs.formats.toml {}).generate "helix-languages.toml";
+        value = {};
+      };
 
-      xdg.dataFile."steel" = {
-        source = pkgs.symlinkJoin {
-          name = "steel-plugins";
-          paths = with pkgs.nur.repos.hpcesia.helixPlugins; [smith];
-        };
-        recursive = true;
+      xdg.config.files."helix/helix.scm" = {
+        source = ./helix.scm;
+        type = "copy";
+      };
+      xdg.config.files."helix/init.scm" = {
+        source = ./init.scm;
+        type = "copy";
       };
 
-      systemd.user.tmpfiles.rules = [
-        "C+ ${config.xdg.configHome}/helix/init.scm 0644 - - - ${./init.scm}"
-        "C+ ${config.xdg.configHome}/helix/helix.scm 0644 - - - ${./helix.scm}"
-      ];
+      xdg.data.files."steel/cogs/smith.hx" = {
+        source = "${pkgs.nur.repos.hpcesia.helixPlugins.smith}/cogs/smith.hx";
+      };
     };
   };
 
   den.aspects.develop.editor.helix.themes = {
     catppuccin = {
-      homeManager.programs.helix.settings.theme = "catppuccin_mocha";
+      hjem.xdg.config.files."helix/config.toml".value.theme = "catppuccin_mocha";
     };
   };
 }