zed: per-os config

anirudh.fi ea333c82 6d79b364

verified
Changed files
+296 -59
hosts
programs
+1
.gitignore
··· 2 2 result 3 3 config/nvim/init.vim 4 4 .luarc.json 5 + .direnv
+225 -9
flake.lock
··· 16 16 "type": "github" 17 17 } 18 18 }, 19 + "chaotic": { 20 + "inputs": { 21 + "compare-to": "compare-to", 22 + "fenix": "fenix", 23 + "flake-schemas": "flake-schemas", 24 + "home-manager": "home-manager", 25 + "jovian": "jovian", 26 + "nixpkgs": "nixpkgs", 27 + "systems": "systems", 28 + "yafas": "yafas" 29 + }, 30 + "locked": { 31 + "lastModified": 1724534339, 32 + "narHash": "sha256-IA/Y0WSx4s1X6O6FkY06IEnafR8fUe3jSFA0Zopiwbs=", 33 + "owner": "chaotic-cx", 34 + "repo": "nyx", 35 + "rev": "c99c254d336cacb8c7a622cac675ea6c7768dc73", 36 + "type": "github" 37 + }, 38 + "original": { 39 + "owner": "chaotic-cx", 40 + "ref": "nyxpkgs-unstable", 41 + "repo": "nyx", 42 + "type": "github" 43 + } 44 + }, 45 + "compare-to": { 46 + "locked": { 47 + "lastModified": 1695341185, 48 + "narHash": "sha256-htO6DSbWyCgaDkxi7foPjXwJFPzGjVt3RRUbPSpNtZY=", 49 + "rev": "98b8e330823a3570d328720f87a1153f8a7f2224", 50 + "revCount": 2, 51 + "type": "tarball", 52 + "url": "https://api.flakehub.com/f/pinned/chaotic-cx/nix-empty-flake/0.1.2%2Brev-98b8e330823a3570d328720f87a1153f8a7f2224/018aba35-d228-7fa9-b205-7616c89ef4e0/source.tar.gz" 53 + }, 54 + "original": { 55 + "type": "tarball", 56 + "url": "https://flakehub.com/f/chaotic-cx/nix-empty-flake/%3D0.1.2.tar.gz" 57 + } 58 + }, 19 59 "crane": { 20 60 "inputs": { 21 61 "nixpkgs": [ ··· 58 98 "type": "github" 59 99 } 60 100 }, 101 + "fenix": { 102 + "inputs": { 103 + "nixpkgs": [ 104 + "chaotic", 105 + "nixpkgs" 106 + ], 107 + "rust-analyzer-src": "rust-analyzer-src" 108 + }, 109 + "locked": { 110 + "lastModified": 1724394478, 111 + "narHash": "sha256-JSiv2uwI4UJo/4pxt4255BfzWCiEberJmBC6pCxnzas=", 112 + "owner": "nix-community", 113 + "repo": "fenix", 114 + "rev": "2e7bcdc4ef73aa56abd2f970e5a8b9c0cc87e614", 115 + "type": "github" 116 + }, 117 + "original": { 118 + "owner": "nix-community", 119 + "repo": "fenix", 120 + "type": "github" 121 + } 122 + }, 61 123 "flake-compat": { 62 124 "flake": false, 63 125 "locked": { ··· 95 157 "type": "github" 96 158 } 97 159 }, 160 + "flake-schemas": { 161 + "locked": { 162 + "lastModified": 1693491534, 163 + "narHash": "sha256-ifw8Td8kD08J8DxFbYjeIx5naHcDLz7s2IFP3X42I/U=", 164 + "rev": "c702cbb663d6d70bbb716584a2ee3aeb35017279", 165 + "revCount": 21, 166 + "type": "tarball", 167 + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.1/018a4c59-80e1-708a-bb4d-854930c20f72/source.tar.gz" 168 + }, 169 + "original": { 170 + "type": "tarball", 171 + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.1.tar.gz" 172 + } 173 + }, 98 174 "home-manager": { 99 175 "inputs": { 100 176 "nixpkgs": [ 177 + "chaotic", 178 + "nixpkgs" 179 + ] 180 + }, 181 + "locked": { 182 + "lastModified": 1724412708, 183 + "narHash": "sha256-tLr1k+UZLVumyqXRU8E5lBtLjsvHSy8e2NiamfkjpYg=", 184 + "owner": "nix-community", 185 + "repo": "home-manager", 186 + "rev": "b18f3ebc4029c22d437e3424014c8597a8b459a0", 187 + "type": "github" 188 + }, 189 + "original": { 190 + "owner": "nix-community", 191 + "repo": "home-manager", 192 + "type": "github" 193 + } 194 + }, 195 + "home-manager_2": { 196 + "inputs": { 197 + "nixpkgs": [ 101 198 "nixpkgs" 102 199 ] 103 200 }, ··· 115 212 "type": "github" 116 213 } 117 214 }, 215 + "jovian": { 216 + "inputs": { 217 + "nix-github-actions": "nix-github-actions", 218 + "nixpkgs": [ 219 + "chaotic", 220 + "nixpkgs" 221 + ] 222 + }, 223 + "locked": { 224 + "lastModified": 1724304322, 225 + "narHash": "sha256-/nrlMDubg9oG2VNANRBxsas5RbcJtB6IIDPZC3yHLW8=", 226 + "owner": "Jovian-Experiments", 227 + "repo": "Jovian-NixOS", 228 + "rev": "924a18ea8df89a39166dd202f3e73cd022825768", 229 + "type": "github" 230 + }, 231 + "original": { 232 + "owner": "Jovian-Experiments", 233 + "repo": "Jovian-NixOS", 234 + "type": "github" 235 + } 236 + }, 237 + "nix-github-actions": { 238 + "inputs": { 239 + "nixpkgs": [ 240 + "chaotic", 241 + "jovian", 242 + "nixpkgs" 243 + ] 244 + }, 245 + "locked": { 246 + "lastModified": 1690328911, 247 + "narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=", 248 + "owner": "zhaofengli", 249 + "repo": "nix-github-actions", 250 + "rev": "96df4a39c52f53cb7098b923224d8ce941b64747", 251 + "type": "github" 252 + }, 253 + "original": { 254 + "owner": "zhaofengli", 255 + "ref": "matrix-name", 256 + "repo": "nix-github-actions", 257 + "type": "github" 258 + } 259 + }, 118 260 "nix-snapshotter": { 119 261 "inputs": { 120 262 "flake-compat": "flake-compat", ··· 144 286 "nixpkgs": [ 145 287 "nixpkgs" 146 288 ], 147 - "systems": "systems" 289 + "systems": "systems_2" 148 290 }, 149 291 "locked": { 150 292 "lastModified": 1717612968, ··· 177 319 }, 178 320 "nixpkgs": { 179 321 "locked": { 180 - "lastModified": 1723175592, 181 - "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", 322 + "lastModified": 1724224976, 323 + "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=", 182 324 "owner": "NixOS", 183 325 "repo": "nixpkgs", 184 - "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", 326 + "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62", 185 327 "type": "github" 186 328 }, 187 329 "original": { ··· 193 335 }, 194 336 "nixpkgs-master": { 195 337 "locked": { 196 - "lastModified": 1722529375, 197 - "narHash": "sha256-6VqFbYgyCespG3QM6Joz7CaL9kYRl/BXpsGtLQua//g=", 338 + "lastModified": 1723367213, 339 + "narHash": "sha256-IlYqW8+RbIYjZ/BlAgTb4aOat/JWB6AoOXK+zPQCorg=", 198 340 "owner": "NixOS", 199 341 "repo": "nixpkgs", 200 - "rev": "fc27807b85986bb26a8f28e590e01fae742e6b53", 342 + "rev": "96ab19d228e7e5a14675412e0d464852717b5793", 201 343 "type": "github" 202 344 }, 203 345 "original": { ··· 207 349 "type": "github" 208 350 } 209 351 }, 352 + "nixpkgs_2": { 353 + "locked": { 354 + "lastModified": 1724224976, 355 + "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=", 356 + "owner": "NixOS", 357 + "repo": "nixpkgs", 358 + "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62", 359 + "type": "github" 360 + }, 361 + "original": { 362 + "owner": "NixOS", 363 + "ref": "nixos-unstable", 364 + "repo": "nixpkgs", 365 + "type": "github" 366 + } 367 + }, 210 368 "prompt": { 211 369 "inputs": { 212 370 "nixpkgs": [ ··· 229 387 }, 230 388 "root": { 231 389 "inputs": { 390 + "chaotic": "chaotic", 232 391 "darwin": "darwin", 233 - "home-manager": "home-manager", 392 + "home-manager": "home-manager_2", 234 393 "nix-snapshotter": "nix-snapshotter", 235 394 "nix-your-shell": "nix-your-shell", 236 395 "nixos-hardware": "nixos-hardware", 237 - "nixpkgs": "nixpkgs", 396 + "nixpkgs": "nixpkgs_2", 238 397 "nixpkgs-master": "nixpkgs-master", 239 398 "prompt": "prompt" 240 399 } 241 400 }, 401 + "rust-analyzer-src": { 402 + "flake": false, 403 + "locked": { 404 + "lastModified": 1724345276, 405 + "narHash": "sha256-MKvjkqVL/RJ3QXOA8tSUoK7HHXVGSB2AL+vKxU4Cf+c=", 406 + "owner": "rust-lang", 407 + "repo": "rust-analyzer", 408 + "rev": "9b724459b5900c2424f5069023d6596a8617284b", 409 + "type": "github" 410 + }, 411 + "original": { 412 + "owner": "rust-lang", 413 + "ref": "nightly", 414 + "repo": "rust-analyzer", 415 + "type": "github" 416 + } 417 + }, 242 418 "systems": { 243 419 "locked": { 420 + "lastModified": 1689347949, 421 + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", 422 + "owner": "nix-systems", 423 + "repo": "default-linux", 424 + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", 425 + "type": "github" 426 + }, 427 + "original": { 428 + "owner": "nix-systems", 429 + "repo": "default-linux", 430 + "type": "github" 431 + } 432 + }, 433 + "systems_2": { 434 + "locked": { 244 435 "lastModified": 1681028828, 245 436 "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 246 437 "owner": "nix-systems", ··· 251 442 "original": { 252 443 "owner": "nix-systems", 253 444 "repo": "default", 445 + "type": "github" 446 + } 447 + }, 448 + "yafas": { 449 + "inputs": { 450 + "flake-schemas": [ 451 + "chaotic", 452 + "flake-schemas" 453 + ], 454 + "systems": [ 455 + "chaotic", 456 + "systems" 457 + ] 458 + }, 459 + "locked": { 460 + "lastModified": 1695926485, 461 + "narHash": "sha256-wNFFnItckgSs8XeYhhv8vlJs2WF09fSQaWgw4xkDqHQ=", 462 + "owner": "UbiqueLambda", 463 + "repo": "yafas", 464 + "rev": "7772afd6686458ca0ddbc599a52cf5d337367653", 465 + "type": "github" 466 + }, 467 + "original": { 468 + "owner": "UbiqueLambda", 469 + "repo": "yafas", 254 470 "type": "github" 255 471 } 256 472 }
+24 -5
flake.nix
··· 12 12 inputs.nixpkgs.follows = "nixpkgs"; 13 13 }; 14 14 15 + chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; 15 16 16 17 darwin = { 17 18 url = "github:lnl7/nix-darwin/master"; ··· 41 42 , nixos-hardware 42 43 , nix-snapshotter 43 44 , nix-your-shell 45 + , chaotic 44 46 , home-manager 45 47 , prompt 46 48 , darwin 47 49 , ... 48 - } @ inputs: { 50 + } @ inputs: 51 + 52 + let 53 + supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; 54 + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 55 + in 56 + { 49 57 50 58 overlays = { 51 59 prompt = prompt.overlay; 52 - customPkgs = final: prev: { 53 - zed-editor = inputs.nixpkgs-master.legacyPackages.${prev.system}.zed-editor; 54 - }; 55 60 }; 56 61 57 62 darwinConfigurations = { ··· 85 90 { 86 91 imports = [ ./hosts/wyndle/configuration.nix ]; 87 92 _module.args.self = self; 88 - nixpkgs.overlays = [ nix-your-shell.overlays.default ]; 93 + nixpkgs.overlays = [ nix-your-shell.overlays.default chaotic.overlays.default ]; 89 94 } 90 95 home-manager.nixosModules.home-manager 91 96 { ··· 148 153 ]; 149 154 }; 150 155 }; 156 + 157 + devShells = forAllSystems (system: 158 + let 159 + nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); 160 + pkgs = nixpkgsFor.${system}; 161 + in 162 + { 163 + default = pkgs.mkShell { 164 + nativeBuildInputs = with pkgs; [ 165 + nixd 166 + nixfmt-rfc-style 167 + ]; 168 + }; 169 + }); 151 170 }; 152 171 }
+40 -40
home.nix
··· 24 24 home.homeDirectory = "/home/icy"; 25 25 home.extraOutputsToInstall = [ "man" ]; 26 26 27 - home.packages = with pkgs; [ 27 + home.packages = [ 28 + pkgs.git 29 + pkgs.unzip 30 + pkgs.curl 31 + pkgs.tmux 32 + pkgs.ripgrep 33 + pkgs.fd 34 + pkgs.imagemagick 35 + pkgs.ffmpeg 36 + pkgs.wget 37 + pkgs.tree 38 + pkgs.mpv 39 + pkgs.noto-fonts-cjk 40 + pkgs.noto-fonts-emoji 41 + pkgs.jq 42 + pkgs.yq-go 43 + pkgs.fzy 44 + pkgs.nixpkgs-fmt 45 + pkgs.libnotify 46 + pkgs.signal-desktop-beta 47 + pkgs.calibre 48 + pkgs.pinentry 49 + pkgs.libreoffice 50 + pkgs.go 51 + pkgs.dconf 52 + pkgs.chromium 53 + pkgs.nix-your-shell 54 + pkgs.geary 55 + pkgs.pass 56 + pkgs.newsflash 57 + pkgs.errands 58 + pkgs.wl-clipboard 59 + pkgs.nvtop 28 60 29 - git 30 - unzip 31 - curl 32 - tmux 33 - ripgrep 34 - fd 35 - imagemagick 36 - ffmpeg 37 - wget 38 - tree 39 - mpv 40 - noto-fonts-cjk 41 - noto-fonts-emoji 42 - jq 43 - yq-go 44 - fzy 45 - nixpkgs-fmt 46 - libnotify 47 - signal-desktop-beta 48 - calibre 49 - pinentry 50 - libreoffice 51 - go 52 - dconf 53 - chromium 54 - evolution 55 - nix-your-shell 56 - pass 57 - newsflash 58 - errands 59 - wl-clipboard 60 - zed-editor 61 - nvtop 61 + pkgs.gnome3.gnome-tweaks 62 + pkgs.gnome3.gnome-shell-extensions 63 + pkgs.gnomeExtensions.appindicator 64 + pkgs.gnomeExtensions.dash-to-dock 65 + pkgs.gnomeExtensions.search-light 66 + pkgs.gnomeExtensions.hide-top-bar 62 67 63 - gnome3.gnome-tweaks 64 - gnome3.gnome-shell-extensions 65 - gnomeExtensions.appindicator 66 - gnomeExtensions.dash-to-dock 67 - gnomeExtensions.search-light 68 - gnomeExtensions.hide-top-bar 68 + pkgs.zed-editor_git 69 69 70 70 ] ++ (import ./bin { inherit pkgs host; }); 71 71
+2 -2
hosts/wyndle/configuration.nix
··· 45 45 "steam-runtime" 46 46 ]; 47 47 chromium = { 48 - commandLineArgs = "--ozone-platform=wayland"; 48 + commandLineArgs = "--ozone-platform=wayland --enable-features=TouchpadOverscrollHistoryNavigation"; 49 49 }; 50 50 firefox.enablePlasmaBrowserIntegration = true; 51 51 }; 52 52 53 53 nixpkgs.overlays = with self.overlays; [ 54 54 prompt 55 - customPkgs 56 55 ]; 57 56 58 57 environment = { ··· 113 112 enable = true; 114 113 enableGraphical = true; 115 114 }; 115 + graphics.extraPackages = [ pkgs.amdvlk ]; 116 116 }; 117 117 118 118 services = {
+4 -3
programs/zed/settings.nix
··· 1 - { config, pkgs, lib, ... }: 1 + { pkgs, lib, ... }: 2 2 3 3 let 4 + isDarwin = lib.strings.hasSuffix "darwin" pkgs.stdenv.hostPlatform.system; 4 5 zedSettings = { 5 6 telemetry = { 6 7 diagnostics = false; ··· 9 10 base_keymap = "VSCode"; 10 11 buffer_font_size = 15; 11 12 theme = "Icy Light"; 12 - buffer_font_family = "SF Mono"; 13 + buffer_font_family = if isDarwin then "SF Mono" else "Input"; 13 14 buffer_font_weight = 500; 14 - ui_font_family = "System Font"; 15 + ui_font_family = if isDarwin then "System Font" else "Inter"; 15 16 ui_font_size = 18; 16 17 vim_mode = true; 17 18 vim = {