Nix configurations for my personal machines (Linux & macOS)
1{delib, ...}:
2delib.module {
3 name = "programs.zed";
4
5 options = delib.singleEnableOption true;
6
7 home.ifEnabled = {
8 xdg.configFile."zed/themes/dolch.json".source = ../../files/zed/dolch.json;
9
10 programs.zed-editor = {
11 enable = true;
12 extensions = [
13 "html"
14 "toml"
15 "git-firefly"
16 "dockerfile"
17 "sql"
18 "ruby"
19 "vue"
20 "svelte"
21 "elixir"
22 "astro"
23 "nix"
24 "docker-compose"
25 "just"
26 "nvim-nightfox"
27 "discord-presence"
28 "typst"
29 "wakatime"
30 "charmed-icons"
31 "erlang"
32 "elixir-snippets"
33 ];
34
35 userSettings = {
36 disable_ai = true;
37 auto_update = false;
38 base_keymap = "VSCode";
39 icon_theme = "Base Charmed Icons";
40 prettier.allowed = true;
41 autoscroll_on_clicks = true;
42 ui_font_size = 16;
43 buffer_font_size = 16.0;
44 ui_font_family = ".ZedSans";
45 buffer_font_family = "Iosevka Solai";
46 buffer_font_fallbacks = ["Menlo" "Monaco" "Courier New" "monospace"];
47 terminal = {
48 font_size = 14.0;
49 font_family = "Iosevka Solai Term";
50 font_fallbacks = ["Consolas" "Courier New" "monospace"];
51 max_scroll_history_lines = 9999999999;
52 };
53 sticky_scroll.enabled = true;
54 minimap.show = "never";
55 use_system_path_prompts = true;
56 file_types.tailwindcss = ["*.css"];
57 colorize_brackets = false;
58 show_whitespaces = "none";
59 soft_wrap = "none";
60 hard_tabs = false;
61 tab_size = 2;
62 theme = {
63 mode = "system";
64 light = "Dolch Light";
65 dark = "Dolch";
66 };
67 format_on_save = "on";
68
69 languages = {
70 Nix = {
71 language_servers = ["nil" "nixd"];
72 formatter.external = {"command" = "alejandra";};
73 };
74 Elixir = {
75 format_on_save = "on";
76 formatter.external = {
77 command = "mix";
78 arguments = ["format" "--stdin-filename" "{buffer_path}" "-"];
79 };
80 };
81 HEEX = {
82 format_on_save = "on";
83 formatter.external = {
84 command = "mix";
85 arguments = ["format" "--stdin-filename" "{buffer_path}" "-"];
86 };
87 language_servers = ["elixir-ls" "tailwindcss-language-server"];
88 };
89 };
90 };
91 };
92 };
93}