my system configurations ^-^

feat(helix): markdown oxide

42willow.github.io e46282c1 d3869f71

verified
+86 -1
+1 -1
modules/shared/home/programs/tui/default.nix
··· 1 { 2 imports = [ 3 - ./helix.nix 4 ]; 5 }
··· 1 { 2 imports = [ 3 + ./helix 4 ]; 5 }
+10
modules/shared/home/programs/tui/helix.nix modules/shared/home/programs/tui/helix/default.nix
··· 6 }: let 7 cfg = osConfig.settings.programs; 8 in { 9 config = lib.mkIf (cfg.tui.enable 10 && cfg.categories.dev.enable) { 11 programs.helix = { ··· 18 command = lib.getExe pkgs.emmet-language-server; 19 args = ["--stdio"]; 20 }; 21 }; 22 language = [ 23 { 24 name = "html"; 25 roots = [".git"]; 26 language-servers = ["emmet-lsp"]; 27 } 28 ]; 29 };
··· 6 }: let 7 cfg = osConfig.settings.programs; 8 in { 9 + imports = [ 10 + ./moxide.nix 11 + ]; 12 + 13 config = lib.mkIf (cfg.tui.enable 14 && cfg.categories.dev.enable) { 15 programs.helix = { ··· 22 command = lib.getExe pkgs.emmet-language-server; 23 args = ["--stdio"]; 24 }; 25 + markdown-oxide.command = lib.getExe pkgs.markdown-oxide; 26 }; 27 language = [ 28 { 29 name = "html"; 30 roots = [".git"]; 31 language-servers = ["emmet-lsp"]; 32 + } 33 + { 34 + name = "markdown"; 35 + language-servers = ["markdown-oxide"]; 36 + soft-wrap.enable = true; 37 } 38 ]; 39 };
+9
modules/shared/home/programs/tui/helix/moxide.nix
···
··· 1 + { 2 + config, 3 + lib, 4 + ... 5 + }: { 6 + config = lib.mkIf config.programs.helix.enable { 7 + xdg.configFile."moxide/settings.toml".source = ./moxide.toml; 8 + }; 9 + }
+66
modules/shared/home/programs/tui/helix/moxide.toml
···
··· 1 + # Leave blank to try to import from Obsidian Daily Notes 2 + dailynote = "%Y-%m-%d" # this is akin to YYYY-MM-DD from Obsidian 3 + 4 + # Fuzzy match file headings in completions 5 + heading_completions = true 6 + 7 + # Set true if you title your notes by the first heading 8 + # Right now, if true this will cause completing a file link in the markdown style 9 + # to insert the name of the first heading in the display text area 10 + # [](file) -> [first heading of file.md](file) 11 + # If false, [](file) -> [](file) (for example) 12 + title_headings = true 13 + 14 + # Show diagnostics for unresolved links; note that even if this is turned off, 15 + # special semantic tokens will be sent for the unresolved links, allowing you 16 + # to visually identify unresolved links 17 + unresolved_diagnostics = true 18 + 19 + semantic_tokens = true 20 + 21 + # Resolve tags in code blocks 22 + tags_in_codeblocks = false 23 + # Resolve references in code blocks 24 + references_in_codeblocks = false 25 + 26 + # The folder for new files to be created in; this is relevant for the code action that creates 27 + # from an unresolved link. If not specified, it will import from your obsidian config option titled 28 + # "Default Location for new notes" -- which is "" by default too. 29 + new_file_folder_path = "" 30 + 31 + 32 + # The folder for new daily notes: this is applied for the create file for unresolved link code action 33 + # as well as the Today, Tomorrow, Yesterday, and Daily... lsp commands 34 + # 35 + # This is also imported from obsidian if not specified: specifically the option titled "New file location" 36 + daily_notes_folder = "" 37 + 38 + 39 + # Whether markdown links should include an extension or not 40 + # for example [File](file.md) or [File](file) 41 + include_md_extension_md_link = false 42 + 43 + # Whether wikilinks should include an extension or not (needed for Markor compatibility) 44 + # for example [[File]] or [[File.md]] 45 + include_md_extension_wikilink = false 46 + 47 + # Enable hover; this is relevant for VSCode and Zed where hover could be triggered on mouse hover 48 + # and could be annoying 49 + hover = true 50 + 51 + # Handle case in fuzzy matches: Ignore | Smart | Respect 52 + case_matching = "Smart" 53 + 54 + # Enable inlay hints 55 + inlay_hints = true 56 + # Enable transclusion, in the form of inlay hints, for embedded block links: ![[link]] 57 + # Inlay hints must be enabled 58 + block_transclusion = true 59 + # Full or Partial, for Partial, block_transclusion_length = { partial = 10 } 60 + # block_transclusion must be enabled for this to take effect 61 + block_transclusion_length = "Full" 62 + 63 + # Link file names only 64 + # Enables autocompleting by heading but inserting link to filename (instead of filename + heading) 65 + # Useful for unique notes / Zettelkasten users 66 + link_filenames_only = false