From 15d5121f0ead64982e6cb3f11b351b33b7b8ac94 Mon Sep 17 00:00:00 2001 From: Martin Berg Alstad Date: Sun, 20 Apr 2025 18:04:23 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20[shared]=20Refactor=20heli?= =?UTF-8?q?x=20conifg,=20rm=20vscodium,=20add=20age=20for=20thinkpad?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .sops.yaml | 2 + shared/home-manager/development/helix.nix | 191 ++++++++++------------ shared/modules/development/default.nix | 2 - 3 files changed, 84 insertions(+), 111 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index 5dbf58e..038cd65 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,9 +1,11 @@ keys: + - &thinkpad age1j66v6z6hlsgqjfv5fz7fldm5q9jay4j5v5du6ymfda6hv40nsqesg89g7p - &desktop age1fxr5s6d6ar0xy5pr63kpq93tk7jha5k96jcxnyquj6s2mw8mmcpss8w29w - &pi4 age1xlnprpvshv93eerthxzg6cahklsfc4efh8dd6u8dte9u6cl0u5qsz48qlt creation_rules: - path_regex: shared/secrets/secrets.yaml$ key_groups: - age: + - *thinkpad - *desktop - *pi4 diff --git a/shared/home-manager/development/helix.nix b/shared/home-manager/development/helix.nix index 75b0f95..589def5 100644 --- a/shared/home-manager/development/helix.nix +++ b/shared/home-manager/development/helix.nix @@ -13,118 +13,91 @@ programs = { fish.shellAliases.edit = "hx"; - helix = { - enable = true; - defaultEditor = true; - extraPackages = with pkgs; [ - # Markdown - marksman - markdown-oxide - # Html, css, Json, Eslint - vscode-langservers-extracted - # Yaml - ansible-language-server - yaml-language-server - ]; - settings = { - editor = { - auto-save = { - after-delay.enable = true; - focus-lost = true; + helix = + let + prettier = format: { + command = "prettier"; + args = [ + "--stdin-filepath" + "file.${format}" + ]; + }; + in + { + enable = true; + defaultEditor = true; + extraPackages = with pkgs; [ + # Markdown + marksman + markdown-oxide + # Html, css, Json, Eslint + vscode-langservers-extracted + # Yaml + ansible-language-server + yaml-language-server + ]; + settings = { + editor = { + auto-save = { + after-delay.enable = true; + focus-lost = true; + }; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + lsp = { + display-inlay-hints = true; + display-messages = true; + }; }; - cursor-shape = { - normal = "block"; - insert = "bar"; - select = "underline"; - }; - lsp = { - display-inlay-hints = true; - display-messages = true; + keys.normal = { + C-f = ":format"; }; }; - keys.normal = { - C-f = ":format"; - }; + + languages.language = [ + { + name = "css"; + formatter = prettier "css"; + auto-format = true; + } + { + name = "json"; + language-servers = [ + "vscode-json-language-server" + ]; + formatter = prettier "json"; + auto-format = true; + } + { + name = "jsonc"; + language-servers = [ + ]; + formatter = prettier "jsonc"; + file-types = [ + "jsonc" + ]; + auto-format = true; + } + { + name = "markdown"; + formatter = prettier "md"; + auto-format = true; + } + { + name = "nix"; + formatter.command = lib.getExe pkgs.nixfmt-rfc-style; + auto-format = true; + } + { + name = "yaml"; + formatter = prettier "yaml"; + auto-format = true; + } + ]; + }; - - languages.language = [ - { - name = "css"; - formatter = { - command = "prettier"; - args = [ - "--stdin-filepath" - "file.css" - ]; - }; - auto-format = true; - } - { - name = "json"; - language-servers = [ - { - name = "vscode-json-language-server"; - except-features = [ "format" ]; - } - ]; - formatter = { - command = "prettier"; - args = [ - "--stdin-filepath" - "file.json" - ]; - }; - auto-format = true; - } - { - name = "jsonc"; - language-servers = [ - { - name = "vscode-json-language-server"; - except-features = [ "format" ]; - } - ]; - formatter = { - command = "prettier"; - args = [ - "--stdin-filepath" - "file.jsonc" - ]; - }; - file-types = [ - "jsonc" - ]; - auto-format = true; - } - { - name = "markdown"; - formatter = { - command = "prettier"; - args = [ - "--stdin-filepath" - "file.md" - ]; - }; - auto-format = true; - } - { - name = "nix"; - formatter.command = lib.getExe pkgs.nixfmt-rfc-style; - auto-format = true; - } - { - name = "yaml"; - formatter = { - command = "prettier"; - args = [ - "--stdin-filepath" - "file.yaml" - ]; - }; - auto-format = true; - } - ]; - - }; }; } diff --git a/shared/modules/development/default.nix b/shared/modules/development/default.nix index a98231d..579a561 100644 --- a/shared/modules/development/default.nix +++ b/shared/modules/development/default.nix @@ -12,8 +12,6 @@ ]; environment.systemPackages = with pkgs; [ - # IDEs - vscodium # TODO set up extensions # Tools git just