Personal-use NixOS configuration
at main 100 lines 1.6 kB view raw
1{ 2 lib, 3 pkgs, 4 ... 5}: 6 7let 8 biomePackage = pkgs.biome; 9in 10{ 11 programs.zed-editor = { 12 enable = true; 13 14 extensions = [ 15 "rust" 16 17 "nix" 18 "toml" 19 "json5" 20 "env" 21 22 "biome" 23 24 "catppuccin" 25 "catppuccin-icons" 26 ]; 27 28 userSettings = { 29 theme = { 30 mode = "system"; 31 light = "Catpuccin Frappé"; 32 dark = "Catppuccin Macchiato"; 33 }; 34 35 icon_theme = { 36 mode = "system"; 37 light = "Catppuccin Frappé"; 38 dark = "Catppuccin Macchiato"; 39 }; 40 41 buffer_font_family = "Jetbrains Mono"; 42 43 terminal = { 44 font_family = "Jetbrains Mono"; 45 }; 46 47 languages = { 48 Nix = { 49 language_servers = [ 50 "nil" 51 "!nixd" 52 ]; 53 54 formatter.external = { 55 command = "nixfmt"; 56 }; 57 }; 58 }; 59 60 lsp = { 61 nil.settings = { 62 nix = { 63 # TODO: This is way too much 64 maxMemoryMb = 16384; 65 66 flake = { 67 autoArchive = true; 68 autoEvalInputs = true; 69 }; 70 }; 71 }; 72 73 biome.binary = { 74 path = lib.getExe biomePackage; 75 76 arguments = [ "lsp-proxy" ]; 77 }; 78 }; 79 }; 80 81 extraPackages = with pkgs; [ 82 rust-analyzer 83 84 bun 85 nodejs 86 typescript-language-server 87 package-version-server 88 89 nil 90 nixfmt-rfc-style 91 92 biomePackage 93 eslint 94 ]; 95 }; 96 97 home.packages = with pkgs; [ 98 jetbrains-mono 99 ]; 100}