Personal Nix setup
at main 1.6 kB view raw
1{ lib, config, pkgs, helpers, ... } @ inputs: 2 3with lib; 4let 5 themes = (import ./theme.nix inputs); 6 cfg = config.modules.apps; 7 8 userSettings = { 9 ui_font_family = "SF Pro Text"; 10 ui_font_fallbacks = [ "codicon" ]; 11 ui_font_size = 14; 12 buffer_font_family = "Dank Mono"; 13 buffer_font_size = 14; 14 buffer_line_height.custom = 1.2; 15 tab_size = 2; 16 17 load_direnv = "shell_hook"; 18 19 theme = "System Dark"; 20 21 scrollbar.show = "never"; 22 tab_bar.show = false; 23 git.inline_blame.enabled = false; 24 indent_guides.enabled = false; 25 seed_search_query_from_cursor = "selection"; 26 use_smartcase_search = true; 27 use_autoclose = false; 28 inline_code_actions = false; 29 cursor_blink = false; 30 31 vim_mode = true; 32 33 calls = { 34 mute_on_join = true; 35 share_on_join = false; 36 }; 37 38 toolbar = { 39 breadcrumbs = false; 40 quick_actions = false; 41 selections_menu = false; 42 agent_review = false; 43 code_actions = false; 44 }; 45 46 telemetry = { 47 diagnostics = false; 48 metrics = false; 49 }; 50 51 language_models = { 52 ollama.api_url = "http://irnbru.fable-pancake.ts.net:11434"; 53 lmstudio.api_url = "http://irnbru.fable-pancake.ts.net:1234/api/v0"; 54 }; 55 }; 56in { 57 options.modules.apps.zed-editor = { 58 enable = mkOption { 59 default = false; 60 description = "Whether to enable Zed Editor."; 61 type = types.bool; 62 }; 63 }; 64 65 config = mkIf (cfg.enable && cfg.zed-editor.enable) { 66 programs.zed-editor = { 67 enable = true; 68 installRemoteServer = true; 69 inherit themes userSettings; 70 }; 71 }; 72}