at main 1.6 kB view raw
1{ 2 traits, 3 lib, 4 ... 5}: 6lib.mkMerge [ 7 { 8 programs.helix = { 9 enable = true; 10 languages.language = [ 11 { 12 name = "yaml"; 13 scope = "source.yaml"; 14 indent = { 15 unit = " "; 16 tab-width = 2; 17 }; 18 } 19 ]; 20 }; 21 } 22 23 (lib.mkIf traits.gui { 24 programs.zed-editor = { 25 enable = true; 26 userSettings = { 27 # crap disablement 28 agent = { 29 version = "1"; 30 enabled = false; 31 }; 32 features = { 33 edit_prediction_provider = "none"; # no copilot 34 }; 35 telemetry = { 36 metrics = false; 37 }; 38 39 # display 40 ui_font_size = 20; 41 buffer_font_size = 16; 42 buffer_font_family = "Fira Code"; 43 buffer_font_weight = 500; 44 buffer_font_features.calt = false; 45 46 preferred_line_length = 120; 47 wrap_guides = [ 120 ]; 48 show_whitespaces = "all"; 49 indent_guides = { 50 enabled = true; 51 coloring = "indent_aware"; 52 }; 53 theme = { 54 mode = "system"; 55 # light = "Catppuccin Latte"; 56 dark = lib.mkForce "Catppuccin Mocha (pink)"; 57 }; 58 diagnostics.inline.enable = true; 59 60 # editing settings 61 base_keymap = "VSCode"; 62 hard_tabs = true; 63 vim_mode = false; 64 autosave = "on_focus_change"; 65 66 # nix stuff 67 load_direnv = "shell_hook"; 68 69 # terminal 70 terminal.env = { 71 "TERM" = "xterm-256color"; # this is not set apparently 72 }; 73 }; 74 }; 75 }) 76]