From 0b3f0d63a0e48b742581838f2551c4758bb2a79d Mon Sep 17 00:00:00 2001 From: Henri Saudubray Date: Thu, 22 Jan 2026 10:17:38 +0100 Subject: [PATCH] =?UTF-8?q?feat=20(home/helix):=E2=80=AFmodule,=20completi?= =?UTF-8?q?ons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home/default.nix | 31 +- home/packages/helix/base.toml | 998 ++++++++++++++++++++++++++++++++ home/packages/helix/default.nix | 52 ++ 3 files changed, 1054 insertions(+), 27 deletions(-) create mode 100644 home/packages/helix/base.toml create mode 100644 home/packages/helix/default.nix diff --git a/home/default.nix b/home/default.nix index f63ac3f..f690584 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,5 +1,9 @@ { config, pkgs, ... }: { + imports = [ + ./packages/helix + ]; + home = { username = "hms"; homeDirectory = "/home/hms"; @@ -36,10 +40,6 @@ ## Typst, LaTeX tinymist texliveFull - - ## Nix - nixfmt-rfc-style - nil ] ++ (with gnomeExtensions; [ blur-my-shell @@ -81,29 +81,6 @@ config.editor = "hx"; }; - # Helix configuration - programs.helix = { - enable = true; - defaultEditor = true; - settings = { - theme = "adwaita-light"; - editor = { - lsp.display-messages = true; - inline-diagnostics.cursor-line = "hint"; - rulers = [ 81 ]; - gutters.layout = [ "diagnostics" ]; - }; - keys.insert.j.k = "normal_mode"; - }; - languages = { - language-server.tinymist = { - config = { - exportPdf = "onSave"; - outputPath = "$root/$dir/out/$name"; - }; - }; - }; - }; programs.jujutsu = { enable = true; settings.user.name = "Henri Saudubray"; diff --git a/home/packages/helix/base.toml b/home/packages/helix/base.toml new file mode 100644 index 0000000..3184590 --- /dev/null +++ b/home/packages/helix/base.toml @@ -0,0 +1,998 @@ +"\\AA" = "𝔸" +"\\Alpha" = "Α" +"\\BB" = "𝔹" +"\\Beta" = "Β" +"\\CC" = "ℂ" +"\\Chi" = "Χ" +"\\DD" = "𝔻" +"\\Delta" = "Δ" +"\\EE" = "𝔼" +"\\Epsilon" = "Ε" +"\\Eta" = "Η" +"\\FF" = "𝔽" +"\\GG" = "𝔾" +"\\Gamma" = "Γ" +"\\HH" = "ℍ" +"\\II" = "𝕀" +"\\Im" = "ℑ" +"\\Iota" = "Ι" +"\\JJ" = "𝕁" +"\\KK" = "𝕂" +"\\Kai" = "Ϗ" +"\\Kappa" = "Κ" +"\\LL" = "𝕃" +"\\Lambda" = "Λ" +"\\MM" = "𝕄" +"\\Mu" = "Μ" +"\\NN" = "ℕ" +"\\Nu" = "Ν" +"\\OO" = "𝕆" +"\\Omega" = "Ω" +"\\Omega.inv" = "℧" +"\\Omicron" = "Ο" +"\\PP" = "ℙ" +"\\Phi" = "Φ" +"\\Pi" = "Π" +"\\Psi" = "Ψ" +"\\QQ" = "ℚ" +"\\RR" = "ℝ" +"\\Re" = "ℜ" +"\\Rho" = "Ρ" +"\\SS" = "𝕊" +"\\Sigma" = "Σ" +"\\TT" = "𝕋" +"\\Tau" = "Τ" +"\\Theta" = "Θ" +"\\UU" = "𝕌" +"\\Upsilon" = "Υ" +"\\VV" = "𝕍" +"\\WW" = "𝕎" +"\\XX" = "𝕏" +"\\Xi" = "Ξ" +"\\YY" = "𝕐" +"\\ZZ" = "ℤ" +"\\Zeta" = "Ζ" +"\\acute" = "´" +"\\acute.double" = "˝" +"\\alef" = "א" +"\\aleph" = "א" +"\\alpha" = "α" +"\\amp" = "&" +"\\amp.inv" = "⅋" +"\\and" = "∧" +"\\and.big" = "⋀" +"\\and.curly" = "⋏" +"\\and.dot" = "⟑" +"\\and.double" = "⩓" +"\\angle" = "∠" +"\\angle.acute" = "⦟" +"\\angle.arc" = "∡" +"\\angle.arc.rev" = "⦛" +"\\angle.l" = "⟨" +"\\angle.l.curly" = "⧼" +"\\angle.l.dot" = "⦑" +"\\angle.l.double" = "⟪" +"\\angle.oblique" = "⦦" +"\\angle.r" = "⟩" +"\\angle.r.curly" = "⧽" +"\\angle.r.dot" = "⦒" +"\\angle.r.double" = "⟫" +"\\angle.rev" = "⦣" +"\\angle.right" = "∟" +"\\angle.right.arc" = "⊾" +"\\angle.right.dot" = "⦝" +"\\angle.right.rev" = "⯾" +"\\angle.right.sq" = "⦜" +"\\angle.s" = "⦞" +"\\angle.spatial" = "⟀" +"\\angle.spheric" = "∢" +"\\angle.spheric.rev" = "⦠" +"\\angle.spheric.top" = "⦡" +"\\angstrom" = "Å" +"\\approx" = "≈" +"\\approx.eq" = "≊" +"\\approx.not" = "≉" +"\\arrow.b" = "↓" +"\\arrow.b.bar" = "↧" +"\\arrow.b.curve" = "⤵" +"\\arrow.b.dashed" = "⇣" +"\\arrow.b.double" = "⇓" +"\\arrow.b.filled" = "⬇" +"\\arrow.b.quad" = "⟱" +"\\arrow.b.stop" = "⤓" +"\\arrow.b.stroked" = "⇩" +"\\arrow.b.triple" = "⤋" +"\\arrow.b.turn" = "⮏" +"\\arrow.b.twohead" = "↡" +"\\arrow.bl" = "↙" +"\\arrow.bl.double" = "⇙" +"\\arrow.bl.filled" = "⬋" +"\\arrow.bl.hook" = "⤦" +"\\arrow.bl.stroked" = "⬃" +"\\arrow.br" = "↘" +"\\arrow.br.double" = "⇘" +"\\arrow.br.filled" = "⬊" +"\\arrow.br.hook" = "⤥" +"\\arrow.br.stroked" = "⬂" +"\\arrow.ccw" = "↺" +"\\arrow.ccw.half" = "↶" +"\\arrow.cw" = "↻" +"\\arrow.cw.half" = "↷" +"\\arrow.l" = "←" +"\\arrow.l.bar" = "↤" +"\\arrow.l.curve" = "⤶" +"\\arrow.l.dashed" = "⇠" +"\\arrow.l.dotted" = "⬸" +"\\arrow.l.double" = "⇐" +"\\arrow.l.double.bar" = "⤆" +"\\arrow.l.double.long" = "⟸" +"\\arrow.l.double.long.bar" = "⟽" +"\\arrow.l.double.not" = "⇍" +"\\arrow.l.filled" = "⬅" +"\\arrow.l.hook" = "↩" +"\\arrow.l.long" = "⟵" +"\\arrow.l.long.bar" = "⟻" +"\\arrow.l.long.squiggly" = "⬳" +"\\arrow.l.loop" = "↫" +"\\arrow.l.not" = "↚" +"\\arrow.l.quad" = "⭅" +"\\arrow.l.r" = "↔" +"\\arrow.l.r.double" = "⇔" +"\\arrow.l.r.double.long" = "⟺" +"\\arrow.l.r.double.not" = "⇎" +"\\arrow.l.r.filled" = "⬌" +"\\arrow.l.r.long" = "⟷" +"\\arrow.l.r.not" = "↮" +"\\arrow.l.r.stroked" = "⬄" +"\\arrow.l.r.wave" = "↭" +"\\arrow.l.squiggly" = "⇜" +"\\arrow.l.stop" = "⇤" +"\\arrow.l.stroked" = "⇦" +"\\arrow.l.tail" = "↢" +"\\arrow.l.tilde" = "⭉" +"\\arrow.l.triple" = "⇚" +"\\arrow.l.turn" = "⮌" +"\\arrow.l.twohead" = "↞" +"\\arrow.l.twohead.bar" = "⬶" +"\\arrow.l.wave" = "↜" +"\\arrow.r" = "→" +"\\arrow.r.bar" = "↦" +"\\arrow.r.curve" = "⤷" +"\\arrow.r.dashed" = "⇢" +"\\arrow.r.dotted" = "⤑" +"\\arrow.r.double" = "⇒" +"\\arrow.r.double.bar" = "⤇" +"\\arrow.r.double.long" = "⟹" +"\\arrow.r.double.long.bar" = "⟾" +"\\arrow.r.double.not" = "⇏" +"\\arrow.r.filled" = "➡" +"\\arrow.r.hook" = "↪" +"\\arrow.r.long" = "⟶" +"\\arrow.r.long.bar" = "⟼" +"\\arrow.r.long.squiggly" = "⟿" +"\\arrow.r.loop" = "↬" +"\\arrow.r.not" = "↛" +"\\arrow.r.quad" = "⭆" +"\\arrow.r.squiggly" = "⇝" +"\\arrow.r.stop" = "⇥" +"\\arrow.r.stroked" = "⇨" +"\\arrow.r.tail" = "↣" +"\\arrow.r.tilde" = "⥲" +"\\arrow.r.triple" = "⇛" +"\\arrow.r.turn" = "⮎" +"\\arrow.r.twohead" = "↠" +"\\arrow.r.twohead.bar" = "⤅" +"\\arrow.r.wave" = "↝" +"\\arrow.t" = "↑" +"\\arrow.t.b" = "↕" +"\\arrow.t.b.double" = "⇕" +"\\arrow.t.b.filled" = "⬍" +"\\arrow.t.b.stroked" = "⇳" +"\\arrow.t.bar" = "↥" +"\\arrow.t.curve" = "⤴" +"\\arrow.t.dashed" = "⇡" +"\\arrow.t.double" = "⇑" +"\\arrow.t.filled" = "⬆" +"\\arrow.t.quad" = "⟰" +"\\arrow.t.stop" = "⤒" +"\\arrow.t.stroked" = "⇧" +"\\arrow.t.triple" = "⤊" +"\\arrow.t.turn" = "⮍" +"\\arrow.t.twohead" = "↟" +"\\arrow.tl" = "↖" +"\\arrow.tl.br" = "⤡" +"\\arrow.tl.double" = "⇖" +"\\arrow.tl.filled" = "⬉" +"\\arrow.tl.hook" = "⤣" +"\\arrow.tl.stroked" = "⬁" +"\\arrow.tr" = "↗" +"\\arrow.tr.bl" = "⤢" +"\\arrow.tr.double" = "⇗" +"\\arrow.tr.filled" = "⬈" +"\\arrow.tr.hook" = "⤤" +"\\arrow.tr.stroked" = "⬀" +"\\arrow.zigzag" = "↯" +"\\arrowhead.b" = "⌄" +"\\arrowhead.t" = "⌃" +"\\arrows.bb" = "⇊" +"\\arrows.bt" = "⇵" +"\\arrows.ll" = "⇇" +"\\arrows.lll" = "⬱" +"\\arrows.lr" = "⇆" +"\\arrows.lr.stop" = "↹" +"\\arrows.rl" = "⇄" +"\\arrows.rr" = "⇉" +"\\arrows.rrr" = "⇶" +"\\arrows.tb" = "⇅" +"\\arrows.tt" = "⇈" +"\\ast.basic" = "*" +"\\ast.circle" = "⊛" +"\\ast.double" = "⁑" +"\\ast.low" = "⁎" +"\\ast.op" = "∗" +"\\ast.small" = "﹡" +"\\ast.square" = "⧆" +"\\ast.triple" = "⁂" +"\\asymp" = "≍" +"\\asymp.not" = "≭" +"\\at" = "@" +"\\backslash" = '\' +"\\backslash.circle" = "⦸" +"\\backslash.not" = "⧷" +"\\ballot" = "☐" +"\\ballot.check" = "☑" +"\\ballot.check.heavy" = "🗹" +"\\ballot.cross" = "☒" +"\\bar.h" = "―" +"\\bar.v" = "|" +"\\bar.v.broken" = "¦" +"\\bar.v.circle" = "⦶" +"\\bar.v.double" = "‖" +"\\bar.v.triple" = "⦀" +"\\because" = "∵" +"\\bet" = "ב" +"\\beta" = "β" +"\\beta.alt" = "ϐ" +"\\beth" = "ב" +"\\bitcoin" = "₿" +"\\bot" = "⊥" +"\\brace.b" = "⏟" +"\\brace.l" = "{" +"\\brace.l.double" = "⦃" +"\\brace.r" = "}" +"\\brace.r.double" = "⦄" +"\\brace.t" = "⏞" +"\\bracket.b" = "⎵" +"\\bracket.l" = "[" +"\\bracket.l.double" = "⟦" +"\\bracket.r" = "]" +"\\bracket.r.double" = "⟧" +"\\bracket.t" = "⎴" +"\\breve" = "˘" +"\\bullet" = "•" +"\\caret" = "‸" +"\\caron" = "ˇ" +"\\ceil.l" = "⌈" +"\\ceil.r" = "⌉" +"\\checkmark" = "✓" +"\\checkmark.heavy" = "✔" +"\\checkmark.light" = "🗸" +"\\chi" = "χ" +"\\circle.dotted" = "◌" +"\\circle.filled" = "●" +"\\circle.filled.big" = "⬤" +"\\circle.filled.small" = "∙" +"\\circle.filled.tiny" = "⦁" +"\\circle.nested" = "⊚" +"\\circle.stroked" = "○" +"\\circle.stroked.big" = "◯" +"\\circle.stroked.small" = "⚬" +"\\circle.stroked.tiny" = "∘" +"\\co" = "℅" +"\\colon" = ":" +"\\colon.double" = "∷" +"\\colon.double.eq" = "⩴" +"\\colon.eq" = "≔" +"\\colon.tri" = "⁝" +"\\colon.tri.op" = "⫶" +"\\comma" = "," +"\\complement" = "∁" +"\\compose" = "∘" +"\\convolve" = "∗" +"\\copyleft" = "🄯" +"\\copyright" = "©" +"\\copyright.sound" = "℗" +"\\crossmark" = "✗" +"\\crossmark.heavy" = "✘" +"\\dagger" = "†" +"\\dagger.double" = "‡" +"\\dagger.inv" = "⸸" +"\\dagger.l" = "⸶" +"\\dagger.r" = "⸷" +"\\dagger.triple" = "⹋" +"\\dalet" = "ד" +"\\daleth" = "ד" +"\\dash.circle" = "⊝" +"\\dash.colon" = "∹" +"\\dash.em" = "—" +"\\dash.em.three" = "⸻" +"\\dash.em.two" = "⸺" +"\\dash.en" = "–" +"\\dash.fig" = "‒" +"\\dash.wave" = "〜" +"\\dash.wave.double" = "〰" +"\\degree" = "°" +"\\delta" = "δ" +"\\diaer" = "¨" +"\\diameter" = "⌀" +"\\diamond.filled" = "◆" +"\\diamond.filled.medium" = "⬥" +"\\diamond.filled.small" = "⬩" +"\\diamond.stroked" = "◇" +"\\diamond.stroked.dot" = "⟐" +"\\diamond.stroked.medium" = "⬦" +"\\diamond.stroked.small" = "⋄" +"\\die.five" = "⚄" +"\\die.four" = "⚃" +"\\die.one" = "⚀" +"\\die.six" = "⚅" +"\\die.three" = "⚂" +"\\die.two" = "⚁" +"\\diff" = "∂" +"\\div" = "÷" +"\\div.circle" = "⨸" +"\\divides" = "∣" +"\\divides.not" = "∤" +"\\divides.not.rev" = "⫮" +"\\divides.struck" = "⟊" +"\\dollar" = "$" +"\\dot.basic" = "." +"\\dot.c" = "·" +"\\dot.circle" = "⊙" +"\\dot.circle.big" = "⨀" +"\\dot.double" = "¨" +"\\dot.op" = "⋅" +"\\dot.quad" = "⃜" +"\\dot.square" = "⊡" +"\\dot.triple" = "⃛" +"\\dotless.i" = "ı" +"\\dotless.j" = "ȷ" +"\\dots.down" = "⋱" +"\\dots.h" = "…" +"\\dots.h.c" = "⋯" +"\\dots.up" = "⋰" +"\\dots.v" = "⋮" +"\\ell" = "ℓ" +"\\ellipse.filled.h" = "⬬" +"\\ellipse.filled.v" = "⬮" +"\\ellipse.stroked.h" = "⬭" +"\\ellipse.stroked.v" = "⬯" +"\\emptyset" = "∅" +"\\emptyset.arrow.l" = "⦴" +"\\emptyset.arrow.r" = "⦳" +"\\emptyset.bar" = "⦱" +"\\emptyset.circle" = "⦲" +"\\emptyset.rev" = "⦰" +"\\epsilon" = "ε" +"\\epsilon.alt" = "ϵ" +"\\eq" = "=" +"\\eq.circle" = "⊜" +"\\eq.colon" = "≕" +"\\eq.def" = "≝" +"\\eq.delta" = "≜" +"\\eq.dots" = "≑" +"\\eq.dots.down" = "≒" +"\\eq.dots.up" = "≓" +"\\eq.equi" = "≚" +"\\eq.est" = "≙" +"\\eq.gt" = "⋝" +"\\eq.lt" = "⋜" +"\\eq.m" = "≞" +"\\eq.not" = "≠" +"\\eq.prec" = "⋞" +"\\eq.quad" = "≣" +"\\eq.quest" = "≟" +"\\eq.small" = "﹦" +"\\eq.star" = "≛" +"\\eq.succ" = "⋟" +"\\eq.triple" = "≡" +"\\eq.triple.not" = "≢" +"\\equiv" = "≡" +"\\equiv.not" = "≢" +"\\errorbar.circle.filled" = "⧳" +"\\errorbar.circle.stroked" = "⧲" +"\\errorbar.diamond.filled" = "⧱" +"\\errorbar.diamond.stroked" = "⧰" +"\\errorbar.square.filled" = "⧯" +"\\errorbar.square.stroked" = "⧮" +"\\eta" = "η" +"\\euro" = "€" +"\\excl" = "!" +"\\excl.double" = "‼" +"\\excl.inv" = "¡" +"\\excl.quest" = "⁉" +"\\exists" = "∃" +"\\exists.not" = "∄" +"\\fence.dotted" = "⦙" +"\\fence.l" = "⧘" +"\\fence.l.double" = "⧚" +"\\fence.r" = "⧙" +"\\fence.r.double" = "⧛" +"\\flat" = "♭" +"\\flat.b" = "𝄭" +"\\flat.double" = "𝄫" +"\\flat.quarter" = "𝄳" +"\\flat.t" = "𝄬" +"\\floor.l" = "⌊" +"\\floor.r" = "⌋" +"\\floral" = "❦" +"\\floral.l" = "☙" +"\\floral.r" = "❧" +"\\forall" = "∀" +"\\forces" = "⊩" +"\\forces.not" = "⊮" +"\\franc" = "₣" +"\\gamma" = "γ" +"\\gimel" = "ג" +"\\gimmel" = "ג" +"\\gradient" = "∇" +"\\grave" = "`" +"\\gt" = ">" +"\\gt.approx" = "⪆" +"\\gt.circle" = "⧁" +"\\gt.dot" = "⋗" +"\\gt.double" = "≫" +"\\gt.eq" = "≥" +"\\gt.eq.lt" = "⋛" +"\\gt.eq.not" = "≱" +"\\gt.eq.slant" = "⩾" +"\\gt.equiv" = "≧" +"\\gt.lt" = "≷" +"\\gt.lt.not" = "≹" +"\\gt.napprox" = "⪊" +"\\gt.neq" = "⪈" +"\\gt.nequiv" = "≩" +"\\gt.not" = "≯" +"\\gt.ntilde" = "⋧" +"\\gt.small" = "﹥" +"\\gt.tilde" = "≳" +"\\gt.tilde.not" = "≵" +"\\gt.tri" = "⊳" +"\\gt.tri.eq" = "⊵" +"\\gt.tri.eq.not" = "⋭" +"\\gt.tri.not" = "⋫" +"\\gt.triple" = "⋙" +"\\gt.triple.nested" = "⫸" +"\\harpoon.bl" = "⇃" +"\\harpoon.bl.bar" = "⥡" +"\\harpoon.bl.stop" = "⥙" +"\\harpoon.br" = "⇂" +"\\harpoon.br.bar" = "⥝" +"\\harpoon.br.stop" = "⥕" +"\\harpoon.lb" = "↽" +"\\harpoon.lb.bar" = "⥞" +"\\harpoon.lb.rb" = "⥐" +"\\harpoon.lb.rt" = "⥋" +"\\harpoon.lb.stop" = "⥖" +"\\harpoon.lt" = "↼" +"\\harpoon.lt.bar" = "⥚" +"\\harpoon.lt.rb" = "⥊" +"\\harpoon.lt.rt" = "⥎" +"\\harpoon.lt.stop" = "⥒" +"\\harpoon.rb" = "⇁" +"\\harpoon.rb.bar" = "⥟" +"\\harpoon.rb.stop" = "⥗" +"\\harpoon.rt" = "⇀" +"\\harpoon.rt.bar" = "⥛" +"\\harpoon.rt.stop" = "⥓" +"\\harpoon.tl" = "↿" +"\\harpoon.tl.bar" = "⥠" +"\\harpoon.tl.bl" = "⥑" +"\\harpoon.tl.br" = "⥍" +"\\harpoon.tl.stop" = "⥘" +"\\harpoon.tr" = "↾" +"\\harpoon.tr.bar" = "⥜" +"\\harpoon.tr.bl" = "⥌" +"\\harpoon.tr.br" = "⥏" +"\\harpoon.tr.stop" = "⥔" +"\\harpoons.blbr" = "⥥" +"\\harpoons.bltr" = "⥯" +"\\harpoons.lbrb" = "⥧" +"\\harpoons.ltlb" = "⥢" +"\\harpoons.ltrb" = "⇋" +"\\harpoons.ltrt" = "⥦" +"\\harpoons.rblb" = "⥩" +"\\harpoons.rtlb" = "⇌" +"\\harpoons.rtlt" = "⥨" +"\\harpoons.rtrb" = "⥤" +"\\harpoons.tlbr" = "⥮" +"\\harpoons.tltr" = "⥣" +"\\hash" = "#" +"\\hat" = "^" +"\\hexa.filled" = "⬢" +"\\hexa.stroked" = "⬡" +"\\hourglass.filled" = "⧗" +"\\hourglass.stroked" = "⧖" +"\\hyph" = "‐" +"\\hyph.minus" = "-" +"\\hyph.nobreak" = "‑" +"\\hyph.point" = "‧" +"\\hyph.soft" = "­" +"\\image" = "⊷" +"\\in" = "∈" +"\\in.not" = "∉" +"\\in.rev" = "∋" +"\\in.rev.not" = "∌" +"\\in.rev.small" = "∍" +"\\in.small" = "∊" +"\\infinity" = "∞" +"\\infinity.bar" = "⧞" +"\\infinity.incomplete" = "⧜" +"\\infinity.tie" = "⧝" +"\\integral" = "∫" +"\\integral.arrow.hook" = "⨗" +"\\integral.ccw" = "⨑" +"\\integral.cont" = "∮" +"\\integral.cont.ccw" = "∳" +"\\integral.cont.cw" = "∲" +"\\integral.cw" = "∱" +"\\integral.dash" = "⨍" +"\\integral.dash.double" = "⨎" +"\\integral.double" = "∬" +"\\integral.inter" = "⨙" +"\\integral.quad" = "⨌" +"\\integral.sect" = "⨙" +"\\integral.slash" = "⨏" +"\\integral.square" = "⨖" +"\\integral.surf" = "∯" +"\\integral.times" = "⨘" +"\\integral.triple" = "∭" +"\\integral.union" = "⨚" +"\\integral.vol" = "∰" +"\\inter" = "∩" +"\\inter.and" = "⩄" +"\\inter.big" = "⋂" +"\\inter.dot" = "⩀" +"\\inter.double" = "⋒" +"\\inter.sq" = "⊓" +"\\inter.sq.big" = "⨅" +"\\inter.sq.double" = "⩎" +"\\interleave" = "⫴" +"\\interleave.big" = "⫼" +"\\interleave.struck" = "⫵" +"\\interrobang" = "‽" +"\\iota" = "ι" +"\\join" = "⨝" +"\\join.l" = "⟕" +"\\join.l.r" = "⟗" +"\\join.r" = "⟖" +"\\kai" = "ϗ" +"\\kappa" = "κ" +"\\kappa.alt" = "ϰ" +"\\lambda" = "λ" +"\\laplace" = "∆" +"\\lat" = "⪫" +"\\lat.eq" = "⪭" +"\\lira" = "₺" +"\\lozenge.filled" = "⧫" +"\\lozenge.filled.medium" = "⬧" +"\\lozenge.filled.small" = "⬪" +"\\lozenge.stroked" = "◊" +"\\lozenge.stroked.medium" = "⬨" +"\\lozenge.stroked.small" = "⬫" +"\\lrm" = "‎" +"\\lt" = "<" +"\\lt.approx" = "⪅" +"\\lt.circle" = "⧀" +"\\lt.dot" = "⋖" +"\\lt.double" = "≪" +"\\lt.eq" = "≤" +"\\lt.eq.gt" = "⋚" +"\\lt.eq.not" = "≰" +"\\lt.eq.slant" = "⩽" +"\\lt.equiv" = "≦" +"\\lt.gt" = "≶" +"\\lt.gt.not" = "≸" +"\\lt.napprox" = "⪉" +"\\lt.neq" = "⪇" +"\\lt.nequiv" = "≨" +"\\lt.not" = "≮" +"\\lt.ntilde" = "⋦" +"\\lt.small" = "﹤" +"\\lt.tilde" = "≲" +"\\lt.tilde.not" = "≴" +"\\lt.tri" = "⊲" +"\\lt.tri.eq" = "⊴" +"\\lt.tri.eq.not" = "⋬" +"\\lt.tri.not" = "⋪" +"\\lt.triple" = "⋘" +"\\lt.triple.nested" = "⫷" +"\\macron" = "¯" +"\\maltese" = "✠" +"\\mapsto" = "↦" +"\\mapsto.long" = "⟼" +"\\minus" = "−" +"\\minus.circle" = "⊖" +"\\minus.dot" = "∸" +"\\minus.plus" = "∓" +"\\minus.square" = "⊟" +"\\minus.tilde" = "≂" +"\\minus.triangle" = "⨺" +"\\miny" = "⧿" +"\\models" = "⊧" +"\\mu" = "μ" +"\\multimap" = "⊸" +"\\multimap.double" = "⧟" +"\\nabla" = "∇" +"\\natural" = "♮" +"\\natural.b" = "𝄯" +"\\natural.t" = "𝄮" +"\\not" = "¬" +"\\note.down" = "🎝" +"\\note.eighth" = "𝅘𝅥𝅮" +"\\note.eighth.alt" = "♪" +"\\note.eighth.beamed" = "♫" +"\\note.grace" = "𝆕" +"\\note.grace.slash" = "𝆔" +"\\note.half" = "𝅗𝅥" +"\\note.quarter" = "𝅘𝅥" +"\\note.quarter.alt" = "♩" +"\\note.sixteenth" = "𝅘𝅥𝅯" +"\\note.sixteenth.beamed" = "♬" +"\\note.up" = "🎜" +"\\note.whole" = "𝅝" +"\\nothing" = "∅" +"\\nothing.arrow.l" = "⦴" +"\\nothing.arrow.r" = "⦳" +"\\nothing.bar" = "⦱" +"\\nothing.circle" = "⦲" +"\\nothing.rev" = "⦰" +"\\nu" = "ν" +"\\numero" = "№" +"\\omega" = "ω" +"\\omicron" = "ο" +"\\oo" = "∞" +"\\or" = "∨" +"\\or.big" = "⋁" +"\\or.curly" = "⋎" +"\\or.dot" = "⟇" +"\\or.double" = "⩔" +"\\original" = "⊶" +"\\parallel" = "∥" +"\\parallel.circle" = "⦷" +"\\parallel.eq" = "⋕" +"\\parallel.equiv" = "⩨" +"\\parallel.not" = "∦" +"\\parallel.slanted.eq" = "⧣" +"\\parallel.slanted.eq.tilde" = "⧤" +"\\parallel.slanted.equiv" = "⧥" +"\\parallel.struck" = "⫲" +"\\parallel.tilde" = "⫳" +"\\parallelogram.filled" = "▰" +"\\parallelogram.stroked" = "▱" +"\\paren.b" = "⏝" +"\\paren.l" = "(" +"\\paren.l.double" = "⦅" +"\\paren.r" = ")" +"\\paren.r.double" = "⦆" +"\\paren.t" = "⏜" +"\\partial" = "∂" +"\\penta.filled" = "⬟" +"\\penta.stroked" = "⬠" +"\\percent" = "%" +"\\permille" = "‰" +"\\perp" = "⟂" +"\\perp.circle" = "⦹" +"\\peso" = "₱" +"\\phi" = "φ" +"\\phi.alt" = "ϕ" +"\\pi" = "π" +"\\pi.alt" = "ϖ" +"\\pilcrow" = "¶" +"\\pilcrow.rev" = "⁋" +"\\planck" = "ℎ" +"\\planck.reduce" = "ℏ" +"\\plus" = "+" +"\\plus.circle" = "⊕" +"\\plus.circle.arrow" = "⟴" +"\\plus.circle.big" = "⨁" +"\\plus.dot" = "∔" +"\\plus.double" = "⧺" +"\\plus.minus" = "±" +"\\plus.small" = "﹢" +"\\plus.square" = "⊞" +"\\plus.triangle" = "⨹" +"\\plus.triple" = "⧻" +"\\pound" = "£" +"\\prec" = "≺" +"\\prec.approx" = "⪷" +"\\prec.curly.eq" = "≼" +"\\prec.curly.eq.not" = "⋠" +"\\prec.double" = "⪻" +"\\prec.eq" = "⪯" +"\\prec.equiv" = "⪳" +"\\prec.napprox" = "⪹" +"\\prec.neq" = "⪱" +"\\prec.nequiv" = "⪵" +"\\prec.not" = "⊀" +"\\prec.ntilde" = "⋨" +"\\prec.tilde" = "≾" +"\\prime" = "′" +"\\prime.double" = "″" +"\\prime.double.rev" = "‶" +"\\prime.quad" = "⁗" +"\\prime.rev" = "‵" +"\\prime.triple" = "‴" +"\\prime.triple.rev" = "‷" +"\\product" = "∏" +"\\product.co" = "∐" +"\\prop" = "∝" +"\\psi" = "ψ" +"\\qed" = "∎" +"\\quest" = "?" +"\\quest.double" = "⁇" +"\\quest.excl" = "⁈" +"\\quest.inv" = "¿" +"\\quote.angle.l.double" = "«" +"\\quote.angle.l.single" = "‹" +"\\quote.angle.r.double" = "»" +"\\quote.angle.r.single" = "›" +"\\quote.double" = '"' +"\\quote.high.double" = "‟" +"\\quote.high.single" = "‛" +"\\quote.l.double" = "“" +"\\quote.l.single" = "‘" +"\\quote.low.double" = "„" +"\\quote.low.single" = "‚" +"\\quote.r.double" = "”" +"\\quote.r.single" = "’" +"\\quote.single" = "'" +"\\ratio" = "∶" +"\\rect.filled.h" = "▬" +"\\rect.filled.v" = "▮" +"\\rect.stroked.h" = "▭" +"\\rect.stroked.v" = "▯" +"\\refmark" = "※" +"\\rest.eighth" = "𝄾" +"\\rest.half" = "𝄼" +"\\rest.multiple" = "𝄺" +"\\rest.multiple.measure" = "𝄩" +"\\rest.quarter" = "𝄽" +"\\rest.sixteenth" = "𝄿" +"\\rest.whole" = "𝄻" +"\\rho" = "ρ" +"\\rho.alt" = "ϱ" +"\\rlm" = "‏" +"\\ruble" = "₽" +"\\rupee" = "₹" +"\\sect" = "∩" +"\\sect.and" = "⩄" +"\\sect.big" = "⋂" +"\\sect.dot" = "⩀" +"\\sect.double" = "⋒" +"\\sect.sq" = "⊓" +"\\sect.sq.big" = "⨅" +"\\sect.sq.double" = "⩎" +"\\section" = "§" +"\\semi" = ";" +"\\semi.rev" = "⁏" +"\\sharp" = "♯" +"\\sharp.b" = "𝄱" +"\\sharp.double" = "𝄪" +"\\sharp.quarter" = "𝄲" +"\\sharp.t" = "𝄰" +"\\shell.b" = "⏡" +"\\shell.l" = "❲" +"\\shell.l.double" = "⟬" +"\\shell.r" = "❳" +"\\shell.r.double" = "⟭" +"\\shell.t" = "⏠" +"\\shin" = "ש" +"\\sigma" = "σ" +"\\sigma.alt" = "ς" +"\\slash" = "/" +"\\slash.big" = "⧸" +"\\slash.double" = "⫽" +"\\slash.triple" = "⫻" +"\\smash" = "⨳" +"\\smt" = "⪪" +"\\smt.eq" = "⪬" +"\\space" = " " +"\\space.en" = " " +"\\space.fig" = " " +"\\space.hair" = " " +"\\space.med" = " " +"\\space.nobreak" = " " +"\\space.nobreak.narrow" = " " +"\\space.punct" = " " +"\\space.quad" = " " +"\\space.quarter" = " " +"\\space.sixth" = " " +"\\space.thin" = " " +"\\space.third" = " " +"\\square.filled" = "■" +"\\square.filled.big" = "⬛" +"\\square.filled.medium" = "◼" +"\\square.filled.small" = "◾" +"\\square.filled.tiny" = "▪" +"\\square.stroked" = "□" +"\\square.stroked.big" = "⬜" +"\\square.stroked.dotted" = "⬚" +"\\square.stroked.medium" = "◻" +"\\square.stroked.rounded" = "▢" +"\\square.stroked.small" = "◽" +"\\square.stroked.tiny" = "▫" +"\\star.filled" = "★" +"\\star.op" = "⋆" +"\\star.stroked" = "☆" +"\\subset" = "⊂" +"\\subset.dot" = "⪽" +"\\subset.double" = "⋐" +"\\subset.eq" = "⊆" +"\\subset.eq.not" = "⊈" +"\\subset.eq.sq" = "⊑" +"\\subset.eq.sq.not" = "⋢" +"\\subset.neq" = "⊊" +"\\subset.not" = "⊄" +"\\subset.sq" = "⊏" +"\\subset.sq.neq" = "⋤" +"\\succ" = "≻" +"\\succ.approx" = "⪸" +"\\succ.curly.eq" = "≽" +"\\succ.curly.eq.not" = "⋡" +"\\succ.double" = "⪼" +"\\succ.eq" = "⪰" +"\\succ.equiv" = "⪴" +"\\succ.napprox" = "⪺" +"\\succ.neq" = "⪲" +"\\succ.nequiv" = "⪶" +"\\succ.not" = "⊁" +"\\succ.ntilde" = "⋩" +"\\succ.tilde" = "≿" +"\\suit.club.filled" = "♣" +"\\suit.club.stroked" = "♧" +"\\suit.diamond.filled" = "♦" +"\\suit.diamond.stroked" = "♢" +"\\suit.heart.filled" = "♥" +"\\suit.heart.stroked" = "♡" +"\\suit.spade.filled" = "♠" +"\\suit.spade.stroked" = "♤" +"\\sum" = "∑" +"\\sum.integral" = "⨋" +"\\supset" = "⊃" +"\\supset.dot" = "⪾" +"\\supset.double" = "⋑" +"\\supset.eq" = "⊇" +"\\supset.eq.not" = "⊉" +"\\supset.eq.sq" = "⊒" +"\\supset.eq.sq.not" = "⋣" +"\\supset.neq" = "⊋" +"\\supset.not" = "⊅" +"\\supset.sq" = "⊐" +"\\supset.sq.neq" = "⋥" +"\\tack.b" = "⊤" +"\\tack.b.big" = "⟙" +"\\tack.b.double" = "⫪" +"\\tack.b.short" = "⫟" +"\\tack.l" = "⊣" +"\\tack.l.double" = "⫤" +"\\tack.l.long" = "⟞" +"\\tack.l.r" = "⟛" +"\\tack.l.short" = "⫞" +"\\tack.r" = "⊢" +"\\tack.r.double" = "⊨" +"\\tack.r.double.not" = "⊭" +"\\tack.r.long" = "⟝" +"\\tack.r.not" = "⊬" +"\\tack.r.short" = "⊦" +"\\tack.t" = "⊥" +"\\tack.t.big" = "⟘" +"\\tack.t.double" = "⫫" +"\\tack.t.short" = "⫠" +"\\tau" = "τ" +"\\therefore" = "∴" +"\\theta" = "θ" +"\\theta.alt" = "ϑ" +"\\tilde.basic" = "~" +"\\tilde.dot" = "⩪" +"\\tilde.eq" = "≃" +"\\tilde.eq.not" = "≄" +"\\tilde.eq.rev" = "⋍" +"\\tilde.equiv" = "≅" +"\\tilde.equiv.not" = "≇" +"\\tilde.nequiv" = "≆" +"\\tilde.not" = "≁" +"\\tilde.op" = "∼" +"\\tilde.rev" = "∽" +"\\tilde.rev.equiv" = "≌" +"\\tilde.triple" = "≋" +"\\times" = "×" +"\\times.big" = "⨉" +"\\times.circle" = "⊗" +"\\times.circle.big" = "⨂" +"\\times.div" = "⋇" +"\\times.l" = "⋉" +"\\times.r" = "⋊" +"\\times.square" = "⊠" +"\\times.three.l" = "⋋" +"\\times.three.r" = "⋌" +"\\times.triangle" = "⨻" +"\\tiny" = "⧾" +"\\top" = "⊤" +"\\trademark" = "™" +"\\trademark.registered" = "®" +"\\trademark.service" = "℠" +"\\triangle.filled.b" = "▼" +"\\triangle.filled.bl" = "◣" +"\\triangle.filled.br" = "◢" +"\\triangle.filled.l" = "◀" +"\\triangle.filled.r" = "▶" +"\\triangle.filled.small.b" = "▾" +"\\triangle.filled.small.l" = "◂" +"\\triangle.filled.small.r" = "▸" +"\\triangle.filled.small.t" = "▴" +"\\triangle.filled.t" = "▲" +"\\triangle.filled.tl" = "◤" +"\\triangle.filled.tr" = "◥" +"\\triangle.stroked.b" = "▽" +"\\triangle.stroked.bl" = "◺" +"\\triangle.stroked.br" = "◿" +"\\triangle.stroked.dot" = "◬" +"\\triangle.stroked.l" = "◁" +"\\triangle.stroked.nested" = "⟁" +"\\triangle.stroked.r" = "▷" +"\\triangle.stroked.rounded" = "🛆" +"\\triangle.stroked.small.b" = "▿" +"\\triangle.stroked.small.l" = "◃" +"\\triangle.stroked.small.r" = "▹" +"\\triangle.stroked.small.t" = "▵" +"\\triangle.stroked.t" = "△" +"\\triangle.stroked.tl" = "◸" +"\\triangle.stroked.tr" = "◹" +"\\union" = "∪" +"\\union.arrow" = "⊌" +"\\union.big" = "⋃" +"\\union.dot" = "⊍" +"\\union.dot.big" = "⨃" +"\\union.double" = "⋓" +"\\union.minus" = "⩁" +"\\union.or" = "⩅" +"\\union.plus" = "⊎" +"\\union.plus.big" = "⨄" +"\\union.sq" = "⊔" +"\\union.sq.big" = "⨆" +"\\union.sq.double" = "⩏" +"\\upsilon" = "υ" +"\\without" = "∖" +"\\wj" = "⁠" +"\\won" = "₩" +"\\wreath" = "≀" +"\\xi" = "ξ" +"\\xor" = "⊕" +"\\xor.big" = "⨁" +"\\yen" = "¥" +"\\zeta" = "ζ" +"\\zwj" = "‍" +"\\zwnj" = "‌" +"\\zws" = "​" +"\\to" = "→" +"\\_1" = "₁" +"\\_2" = "₂" +"\\_3" = "₃" +"\\_4" = "₄" +"\\_5" = "₅" +"\\_6" = "₆" +"\\_7" = "₇" +"\\_8" = "₈" +"\\_9" = "₉" +"\\_0" = "₀" +"\\^1" = "¹" +"\\^2" = "²" +"\\^3" = "³" +"\\^4" = "⁴" +"\\^5" = "⁵" +"\\^6" = "⁶" +"\\^7" = "⁷" +"\\^8" = "⁸" +"\\^9" = "⁹" +"\\^0" = "⁰" diff --git a/home/packages/helix/default.nix b/home/packages/helix/default.nix new file mode 100644 index 0000000..650eca7 --- /dev/null +++ b/home/packages/helix/default.nix @@ -0,0 +1,52 @@ +{ pkgs, ... }: +{ + programs.helix = { + enable = true; + defaultEditor = true; + settings = { + theme = "adwaita-dark"; + editor.lsp.display-messages = true; + editor.inline-diagnostics.cursor-line = "hint"; + editor.rulers = [ 81 ]; + editor.gutters.layout = [ "diagnostics" ]; + keys.insert.j.k = "normal_mode"; + }; + languages = { + language-server.tinymist = { + config.exportPdf = "onSave"; + config.outputPath = "$root/$dir/out/$name"; + }; + language-server.scls = { + command = "simple-completion-language-server"; + config.feature_words = false; + config.feature_snippets = true; + config.snippets_first = true; + config.snippets_inline_by_word_tail = false; + config.feature_unicode_input = true; + config.feature_paths = false; + config.feature_citations = false; + environment.RUST_LOG = "info,simple-completion-language-server=info"; + environment.LOG_FILE = "/tmp/completion.log"; + }; + language = [ + { + name = "typst"; + language-servers = [ + "tinymist" + "scls" + ]; + } + ]; + }; + extraPackages = with pkgs; [ + simple-completion-language-server + nixfmt-rfc-style + nil + ]; + }; + + home.file.helix-unicode-input = { + target = ".config/helix/unicode-input/base.toml"; + source = ./base.toml; + }; +}