this repo has no description

Merge pull request #2 from rwxae/nixos

Migrate to Hyprland Wayland with gaming setup and desktop overhaul

authored by rwxae and committed by GitHub 5aff066c 8de5d889

+160 -30
flake.lock
··· 161 161 ] 162 162 }, 163 163 "locked": { 164 - "lastModified": 1759362264, 165 - "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", 164 + "lastModified": 1760948891, 165 + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", 166 166 "owner": "hercules-ci", 167 167 "repo": "flake-parts", 168 - "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", 168 + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", 169 169 "type": "github" 170 170 }, 171 171 "original": { ··· 197 197 }, 198 198 "flake-utils": { 199 199 "inputs": { 200 - "systems": "systems_2" 200 + "systems": "systems_3" 201 201 }, 202 202 "locked": { 203 203 "lastModified": 1694529238, ··· 232 232 "type": "github" 233 233 } 234 234 }, 235 + "flake-utils_2": { 236 + "inputs": { 237 + "systems": "systems_5" 238 + }, 239 + "locked": { 240 + "lastModified": 1731533236, 241 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 242 + "owner": "numtide", 243 + "repo": "flake-utils", 244 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 245 + "type": "github" 246 + }, 247 + "original": { 248 + "owner": "numtide", 249 + "repo": "flake-utils", 250 + "type": "github" 251 + } 252 + }, 235 253 "fromYaml": { 236 254 "flake": false, 237 255 "locked": { ··· 272 290 ] 273 291 }, 274 292 "locked": { 275 - "lastModified": 1760500983, 276 - "narHash": "sha256-zfY4F4CpeUjTGgecIJZ+M7vFpwLc0Gm9epM/iMQd4w8=", 293 + "lastModified": 1762146130, 294 + "narHash": "sha256-/XOEA0a61fZ45i/BpaSsyLNNbw/yKwjMbkB/IWSGLzU=", 277 295 "owner": "nix-community", 278 296 "repo": "home-manager", 279 - "rev": "c53e65ec92f38d30e3c14f8d628ab55d462947aa", 297 + "rev": "b5ed4afc2277339bdf0e9edf59befff7350cf075", 280 298 "type": "github" 281 299 }, 282 300 "original": { ··· 328 346 ] 329 347 }, 330 348 "locked": { 331 - "lastModified": 1760338583, 332 - "narHash": "sha256-IGwy02SH5K2hzIFrKMRsCmyvwOwWxrcquiv4DbKL1S4=", 349 + "lastModified": 1762039661, 350 + "narHash": "sha256-oM5BwAGE78IBLZn+AqxwH/saqwq3e926rNq5HmOulkc=", 333 351 "owner": "LnL7", 334 352 "repo": "nix-darwin", 335 - "rev": "9a9ab01072f78823ca627ae5e895e40d493c3ecf", 353 + "rev": "c3c8c9f2a5ed43175ac4dc030308756620e6e4e4", 336 354 "type": "github" 337 355 }, 338 356 "original": { ··· 344 362 }, 345 363 "nixpkgs": { 346 364 "locked": { 347 - "lastModified": 1760524057, 348 - "narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=", 365 + "lastModified": 1761907660, 366 + "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", 349 367 "owner": "NixOS", 350 368 "repo": "nixpkgs", 351 - "rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5", 369 + "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", 352 370 "type": "github" 353 371 }, 354 372 "original": { ··· 358 376 "type": "github" 359 377 } 360 378 }, 379 + "nixpkgs_2": { 380 + "locked": { 381 + "lastModified": 1761907660, 382 + "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", 383 + "owner": "nixos", 384 + "repo": "nixpkgs", 385 + "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", 386 + "type": "github" 387 + }, 388 + "original": { 389 + "owner": "nixos", 390 + "ref": "nixos-unstable", 391 + "repo": "nixpkgs", 392 + "type": "github" 393 + } 394 + }, 395 + "noctalia": { 396 + "inputs": { 397 + "nixpkgs": [ 398 + "nixpkgs" 399 + ], 400 + "quickshell": [ 401 + "quickshell" 402 + ], 403 + "systems": "systems" 404 + }, 405 + "locked": { 406 + "lastModified": 1762156721, 407 + "narHash": "sha256-gHfzrTDSnNC5yRJwkZfP55fPHUc8DuB4OQEIBSQSs18=", 408 + "owner": "noctalia-dev", 409 + "repo": "noctalia-shell", 410 + "rev": "5ca5aa602f58a8e0e73fedbef351f1cdf8cbe981", 411 + "type": "github" 412 + }, 413 + "original": { 414 + "owner": "noctalia-dev", 415 + "repo": "noctalia-shell", 416 + "type": "github" 417 + } 418 + }, 361 419 "nur": { 362 420 "inputs": { 363 421 "flake-parts": "flake-parts", ··· 366 424 ] 367 425 }, 368 426 "locked": { 369 - "lastModified": 1760626018, 370 - "narHash": "sha256-egSsb7gdTxRBWHIaaZ1NDb1ge3okW76rrac2Uv9ovic=", 427 + "lastModified": 1762165260, 428 + "narHash": "sha256-fUkSZyRJR621oqbvrlu18HOxOCWF8u5K65gHB1LjlgU=", 371 429 "owner": "nix-community", 372 430 "repo": "NUR", 373 - "rev": "0381717a9b6f53e531ae6315894220c223e2060b", 431 + "rev": "49ef67af9c6f773cf6a235997d960838eba38c5f", 374 432 "type": "github" 375 433 }, 376 434 "original": { ··· 412 470 "nixpkgs": [ 413 471 "nixpkgs" 414 472 ], 415 - "systems": "systems" 473 + "systems": "systems_2" 416 474 }, 417 475 "locked": { 418 - "lastModified": 1760153667, 419 - "narHash": "sha256-F7KmXT/Izse6Q6CkD5GCImoGPaDJxl03Kd7eD+eY/bU=", 476 + "lastModified": 1762093557, 477 + "narHash": "sha256-esmyNNa8TvduITLfqYPSMroyZ9vxJr2nsvjYmHmO+Ag=", 420 478 "owner": "notashelf", 421 479 "repo": "nvf", 422 - "rev": "9df9d51fd9fc8f9a8fc377f984ea3b7ae796172d", 480 + "rev": "20d8fca94dceaf943686598da7fba31b37100e50", 423 481 "type": "github" 424 482 }, 425 483 "original": { ··· 428 486 "type": "github" 429 487 } 430 488 }, 489 + "quickshell": { 490 + "inputs": { 491 + "nixpkgs": [ 492 + "nixpkgs" 493 + ] 494 + }, 495 + "locked": { 496 + "lastModified": 1761897390, 497 + "narHash": "sha256-er4gYrIoThYLjlsOMTysoRfn67d1Gci+ZpqDrtQxrA0=", 498 + "owner": "outfoxxed", 499 + "repo": "quickshell", 500 + "rev": "fc704e6b5d445899a1565955268c91942a4f263f", 501 + "type": "github" 502 + }, 503 + "original": { 504 + "owner": "outfoxxed", 505 + "repo": "quickshell", 506 + "type": "github" 507 + } 508 + }, 431 509 "root": { 432 510 "inputs": { 433 511 "home-manager": "home-manager", 434 512 "nix-darwin": "nix-darwin", 435 513 "nixpkgs": "nixpkgs", 514 + "noctalia": "noctalia", 436 515 "nur": "nur", 437 516 "nvf": "nvf", 517 + "quickshell": "quickshell", 438 518 "solaar": "solaar", 439 519 "stylix": "stylix", 520 + "vicinae": "vicinae", 440 521 "zen-browser": "zen-browser" 441 522 } 442 523 }, ··· 473 554 "snowfall-lib": "snowfall-lib" 474 555 }, 475 556 "locked": { 476 - "lastModified": 1760109596, 477 - "narHash": "sha256-kZ7DKnhg5w2coWHaJWrMjBNlbC94ZmxA5Jpvw9thZhQ=", 557 + "lastModified": 1761840426, 558 + "narHash": "sha256-CprKgnLGKpNB0leamU9hw+ZgocRAsEFevyqIuY0FSiY=", 478 559 "owner": "Svenum", 479 560 "repo": "Solaar-Flake", 480 - "rev": "04a3de5d7b98342e6212d5426250439eee82471b", 561 + "rev": "7b5e221d60195d77fda5c2d69087f7cd1b8d3c20", 481 562 "type": "github" 482 563 }, 483 564 "original": { ··· 500 581 "nixpkgs" 501 582 ], 502 583 "nur": "nur_2", 503 - "systems": "systems_3", 584 + "systems": "systems_4", 504 585 "tinted-foot": "tinted-foot", 505 586 "tinted-kitty": "tinted-kitty", 506 587 "tinted-schemes": "tinted-schemes", ··· 508 589 "tinted-zed": "tinted-zed" 509 590 }, 510 591 "locked": { 511 - "lastModified": 1760472212, 512 - "narHash": "sha256-4C3I/ssFsq8EgaUmZP0xv5V7RV0oCHgL/Rx+MUkuE+E=", 592 + "lastModified": 1762101397, 593 + "narHash": "sha256-wGiL2K3kAyBBmIZpJEskaSIgyzzpg0zwfvri+Sy6/CI=", 513 594 "owner": "danth", 514 595 "repo": "stylix", 515 - "rev": "8d008296a1b3be9b57ad570f7acea00dd2fc92db", 596 + "rev": "8c0640d5722a02178c8ee80a62c5f019cab4b3c1", 516 597 "type": "github" 517 598 }, 518 599 "original": { ··· 566 647 "type": "github" 567 648 } 568 649 }, 650 + "systems_4": { 651 + "locked": { 652 + "lastModified": 1681028828, 653 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 654 + "owner": "nix-systems", 655 + "repo": "default", 656 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 657 + "type": "github" 658 + }, 659 + "original": { 660 + "owner": "nix-systems", 661 + "repo": "default", 662 + "type": "github" 663 + } 664 + }, 665 + "systems_5": { 666 + "locked": { 667 + "lastModified": 1681028828, 668 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 669 + "owner": "nix-systems", 670 + "repo": "default", 671 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 672 + "type": "github" 673 + }, 674 + "original": { 675 + "owner": "nix-systems", 676 + "repo": "default", 677 + "type": "github" 678 + } 679 + }, 569 680 "tinted-foot": { 570 681 "flake": false, 571 682 "locked": { ··· 647 758 "type": "github" 648 759 } 649 760 }, 761 + "vicinae": { 762 + "inputs": { 763 + "flake-utils": "flake-utils_2", 764 + "nixpkgs": "nixpkgs_2" 765 + }, 766 + "locked": { 767 + "lastModified": 1762153854, 768 + "narHash": "sha256-atFJwetnAf68duKurwdSRWK9iE1Lls2GqbLB+cxjlvo=", 769 + "owner": "vicinaehq", 770 + "repo": "vicinae", 771 + "rev": "f44603ee228ebd63e10457c1dfd9702f79d0eb65", 772 + "type": "github" 773 + }, 774 + "original": { 775 + "owner": "vicinaehq", 776 + "repo": "vicinae", 777 + "type": "github" 778 + } 779 + }, 650 780 "zen-browser": { 651 781 "inputs": { 652 782 "home-manager": "home-manager_2", ··· 655 785 ] 656 786 }, 657 787 "locked": { 658 - "lastModified": 1760588585, 659 - "narHash": "sha256-NufqXao2i6d7N1HFKp8hM8XAD8Q6s/zU2wNd065Ybus=", 788 + "lastModified": 1762131860, 789 + "narHash": "sha256-sIPhzkDrfe6ptthZiwoxQyO6rKd9PgJnl+LOyythQkI=", 660 790 "owner": "0xc000022070", 661 791 "repo": "zen-browser-flake", 662 - "rev": "5a651a6a3bb5c9bd694adbd2c34f55b4abff9a2c", 792 + "rev": "10e69cb268b1d3dc91135e72f5462b2acfbcc3aa", 663 793 "type": "github" 664 794 }, 665 795 "original": {
+9 -3
flake.nix
··· 11 11 stylix.inputs.nixpkgs.follows = "nixpkgs"; 12 12 nix-darwin.url = "github:LnL7/nix-darwin/master"; 13 13 nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; 14 - # TODO: https://github.com/NixOS/nixpkgs/issues/327982 14 + quickshell.url = "github:outfoxxed/quickshell"; 15 + quickshell.inputs.nixpkgs.follows = "nixpkgs"; 16 + noctalia.url = "github:noctalia-dev/noctalia-shell"; 17 + noctalia.inputs.nixpkgs.follows = "nixpkgs"; 18 + noctalia.inputs.quickshell.follows = "quickshell"; 15 19 zen-browser.url = "github:0xc000022070/zen-browser-flake"; 16 20 zen-browser.inputs.nixpkgs.follows = "nixpkgs"; 17 21 nvf.url = "github:notashelf/nvf"; 18 22 nvf.inputs.nixpkgs.follows = "nixpkgs"; 19 23 solaar.url = "github:Svenum/Solaar-Flake/main"; 20 24 solaar.inputs.nixpkgs.follows = "nixpkgs"; 25 + vicinae.url = "github:vicinaehq/vicinae"; 21 26 }; 22 27 23 28 outputs = ··· 35 40 nixos = nixpkgs.lib.nixosSystem { 36 41 specialArgs = { inherit inputs; }; 37 42 modules = [ 43 + nur.modules.nixos.default 44 + home-manager.nixosModules.home-manager 38 45 stylix.nixosModules.stylix 39 46 solaar.nixosModules.default 40 - home-manager.nixosModules.home-manager 41 47 ./hosts/nixos/configuration.nix 42 48 ]; 43 49 }; ··· 47 53 mac = nix-darwin.lib.darwinSystem { 48 54 specialArgs = { inherit inputs; }; 49 55 modules = [ 50 - stylix.darwinModules.stylix 51 56 nur.modules.darwin.default 52 57 home-manager.darwinModules.home-manager 58 + stylix.darwinModules.stylix 53 59 ./hosts/mac/configuration.nix 54 60 ]; 55 61 };
+1 -1
home/linux/avizo.nix home/linux/swww.nix
··· 1 1 { ... }: 2 2 3 3 { 4 - services.avizo = { 4 + services.swww = { 5 5 enable = true; 6 6 }; 7 7 }
+7
home/linux/cliphist.nix
··· 1 + { ... }: 2 + 3 + { 4 + services.cliphist = { 5 + enable = true; 6 + }; 7 + }
+5 -4
home/linux/default.nix
··· 3 3 { 4 4 imports = [ 5 5 ../shared 6 - ./avizo.nix 7 6 ./chromium.nix 7 + ./cliphist.nix 8 8 ./easyeffects.nix 9 + ./flameshot.nix 9 10 ./gtk.nix 11 + ./hyprland.nix 10 12 ./mpv.nix 11 13 ./obs.nix 12 14 ./packages.nix 13 - ./rofi.nix 14 - ./sway.nix 15 - ./swaync.nix 15 + ./swww.nix 16 + ./vicinae.nix 16 17 ./zathura.nix 17 18 ]; 18 19 }
+15
home/linux/flameshot.nix
··· 1 + { ... }: 2 + 3 + { 4 + services.flameshot = { 5 + enable = true; 6 + settings = { 7 + General = { 8 + disabledTrayIcon = true; 9 + showStartupLaunchMessage = false; 10 + useGrimAdapter = true; 11 + disabledGrimWarning = true; 12 + }; 13 + }; 14 + }; 15 + }
+121
home/linux/hyprland.nix
··· 1 + { lib, pkgs, ... }: 2 + 3 + { 4 + wayland.windowManager.hyprland = { 5 + enable = true; 6 + systemd.enable = false; 7 + package = null; 8 + portalPackage = null; 9 + plugins = with pkgs.hyprlandPlugins; [ 10 + hypr-dynamic-cursors 11 + ]; 12 + settings = 13 + let 14 + mod = "SUPER"; 15 + mainDesktop = "DP-1"; 16 + secondDesktop = "HDMI-A-2"; 17 + numbers = lib.stringToCharacters "123456789"; 18 + letters = lib.stringToCharacters "abcdefgimnopqrstuvwxyz"; 19 + launchApp = app: "uwsm app -- ${app}"; 20 + in 21 + { 22 + input = { 23 + kb_layout = "us,ru"; 24 + kb_options = "grp:caps_toggle"; 25 + repeat_delay = 200; 26 + repeat_rate = 35; 27 + }; 28 + 29 + general = { 30 + gaps_in = 0; 31 + gaps_out = 0; 32 + border_size = 0; 33 + allow_tearing = true; 34 + }; 35 + 36 + decoration = { 37 + rounding = 0; 38 + }; 39 + 40 + animations.enabled = false; 41 + 42 + layerrule = [ 43 + "blur, vicinae" 44 + "ignorealpha 0, vicinae" 45 + ]; 46 + 47 + windowrulev2 = [ 48 + "float, class:^(com.saivert.pwvucontrol)$" 49 + "float, class:^(nemo)$" 50 + "workspace 10 silent, class:^(Chromium-browser)$" 51 + "workspace name:e silent, class:^(dev.zed.Zed)$" 52 + "workspace name:r silent, class:^(thunderbird)$" 53 + "workspace name:t silent, class:^(org.telegram.desktop)$" 54 + "workspace name:a silent, class:^(anytype)$" 55 + "workspace name:s silent, class:^(Slack)$" 56 + "workspace name:d silent, class:^(discord)$" 57 + "workspace name:f silent, class:^(zen-beta)$" 58 + "workspace name:g silent, class:^(kitty)$" 59 + "workspace name:c silent, class:^(chromium-browser)$" 60 + "workspace name:b silent, class:^(org.pwmt.zathura)$" 61 + ]; 62 + 63 + workspace = lib.flatten [ 64 + "10, monitor:${secondDesktop}" 65 + (numbers |> map (w: "${w}, monitor:${mainDesktop}")) 66 + "name:f, monitor:${secondDesktop}" 67 + (letters |> builtins.filter (w: w != "f") |> map (w: "name:${w}, monitor:${mainDesktop}")) 68 + ]; 69 + 70 + bind = lib.flatten [ 71 + "${mod}, space, exec, ${launchApp "vicinae toggle"}" 72 + 73 + ", xf86audiolowervolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" 74 + ", xf86audioraisevolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" 75 + ", xf86audioplay, exec, playerctl play-pause" 76 + ", xf86audioprev, exec, playerctl previous" 77 + ", xf86audionext, exec, playerctl next" 78 + 79 + "${mod}, h, movefocus, l" 80 + "${mod}, j, movefocus, d" 81 + "${mod}, k, movefocus, u" 82 + "${mod}, l, movefocus, r" 83 + 84 + "${mod}+shift, h, movewindow, l" 85 + "${mod}+shift, j, movewindow, d" 86 + "${mod}+shift, k, movewindow, u" 87 + "${mod}+shift, l, movewindow, r" 88 + 89 + "${mod}+control, h, movecurrentworkspacetomonitor, l" 90 + "${mod}+control, l, movecurrentworkspacetomonitor, r" 91 + "${mod}+control, q, killactive" 92 + 93 + "${mod}, 0, workspace, 10" 94 + (numbers |> map (w: "${mod}, ${w}, workspace, ${w}")) 95 + (letters |> map (w: "${mod}, ${w}, workspace, name:${w}")) 96 + 97 + "${mod}+shift, 0, movetoworkspace, 10" 98 + (numbers |> map (w: "${mod}+shift, ${w}, movetoworkspace, ${w}")) 99 + (letters |> map (w: "${mod}+shift, ${w}, movetoworkspace, name:${w}")) 100 + ]; 101 + 102 + bindm = [ 103 + "${mod}, mouse:272, movewindow" 104 + "${mod}, mouse:273, resizewindow" 105 + ]; 106 + 107 + exec-once = [ 108 + (launchApp "zeditor") 109 + (launchApp "thunderbird") 110 + (launchApp "Telegram") 111 + (launchApp "anytype") 112 + (launchApp "slack") 113 + (launchApp "discord") 114 + (launchApp "zen-beta") 115 + (launchApp "kitty") 116 + ]; 117 + }; 118 + }; 119 + # TODO: https://github.com/nix-community/stylix/issues/478 120 + home.pointerCursor.hyprcursor.enable = true; 121 + }
-1
home/linux/i3.nix docs/deprecated/i3.nix
··· 1 - # This module has been replaced in favor of sway.nix. Use it for reference. 2 1 { pkgs, ... }: 3 2 4 3 {
+3 -1
home/linux/packages.nix
··· 6 6 authenticator 7 7 pwvucontrol 8 8 prismlauncher 9 + heroic 9 10 vial 10 - gcolor3 11 11 nemo 12 12 krita 13 13 yandex-music 14 + hyprpicker 14 15 15 16 # CLI 16 17 tesseract 17 18 playerctl 19 + wl-clipboard 18 20 19 21 # TODO: Should be in the /shared/packages 20 22 anytype # https://github.com/NixOS/nixpkgs/pull/411491
home/linux/rofi-system.nix docs/deprecated/rofi-system.nix
home/linux/rofi.nix docs/deprecated/rofi.nix
+1 -23
home/linux/sway.nix docs/deprecated/sway.nix
··· 1 - { pkgs, ... }: 1 + { ... }: 2 2 3 3 { 4 - home.packages = with pkgs; [ 5 - wl-clipboard 6 - kooha 7 - ]; 8 - 9 4 wayland.windowManager.sway = { 10 5 enable = true; 11 6 wrapperFeatures.gtk = true; ··· 323 318 } 324 319 ]; 325 320 }; 326 - }; 327 - 328 - programs.swaylock.enable = true; 329 - 330 - services = { 331 - cliphist.enable = true; 332 - flameshot = { 333 - enable = true; 334 - settings = { 335 - General = { 336 - disabledTrayIcon = true; 337 - showStartupLaunchMessage = false; 338 - useGrimAdapter = true; 339 - disabledGrimWarning = true; 340 - }; 341 - }; 342 - }; 343 321 }; 344 322 }
+1 -1
home/linux/swaync.nix modules/linux/services/solaar.nix
··· 1 1 { ... }: 2 2 3 3 { 4 - services.swaync = { 4 + services.solaar = { 5 5 enable = true; 6 6 }; 7 7 }
+11
home/linux/vicinae.nix
··· 1 + { inputs, ... }: 2 + 3 + { 4 + imports = [ 5 + inputs.vicinae.homeManagerModules.default 6 + ]; 7 + 8 + services.vicinae = { 9 + enable = true; 10 + }; 11 + }
+5 -3
home/shared/git.nix
··· 3 3 { 4 4 programs.git = { 5 5 enable = true; 6 - userName = "wardxela"; 7 - userEmail = "wardxela" + "@" + "gmail" + "." + "com"; 8 - extraConfig = { 6 + settings = { 7 + user = { 8 + name = "wardxela"; 9 + email = "wardxela" + "@" + "gmail" + "." + "com"; 10 + }; 9 11 init = { 10 12 defaultBranch = "main"; 11 13 };
+1
home/shared/packages.nix
··· 24 24 nvd 25 25 termusic 26 26 glab 27 + git-open 27 28 28 29 # Archiving and compression 29 30 zip
+15 -27
home/shared/zed-editor.nix
··· 109 109 inherit dock default_width; 110 110 button = false; 111 111 }; 112 - chat_panel = { 113 - inherit default_width; 114 - }; 115 112 outline_panel = { 116 113 inherit dock default_width; 117 114 button = false; ··· 123 120 terminal = { 124 121 button = false; 125 122 }; 126 - languages = { 127 - JavaScript = { 128 - formatter = { 129 - code_actions = { 123 + languages = 124 + let 125 + jsLike = { 126 + formatter = [ ]; 127 + code_actions_on_format = { 130 128 "source.fixAll.eslint" = true; 131 129 }; 132 130 }; 133 - }; 134 - TypeScript = { 135 - formatter = { 136 - code_actions = { 137 - "source.fixAll.eslint" = true; 138 - }; 139 - }; 140 - }; 141 - TSX = { 142 - formatter = { 143 - code_actions = { 144 - "source.fixAll.eslint" = true; 145 - }; 131 + in 132 + { 133 + JavaScript = jsLike; 134 + TypeScript = jsLike; 135 + TSX = jsLike; 136 + Nix = { 137 + language_servers = [ 138 + "nil" 139 + "!nixd" 140 + ]; 146 141 }; 147 142 }; 148 - Nix = { 149 - language_servers = [ 150 - "nil" 151 - "!nixd" 152 - ]; 153 - }; 154 - }; 155 143 lsp = { 156 144 nil = { 157 145 settings = {
+5
hosts/nixos/configuration.nix
··· 14 14 15 15 hardware = { 16 16 graphics.enable = true; 17 + nvidia = { 18 + open = true; 19 + }; 17 20 bluetooth = { 18 21 enable = true; 19 22 powerOnBoot = true; 20 23 }; 21 24 }; 25 + 26 + services.xserver.videoDrivers = [ "nvidia" ]; 22 27 23 28 swapDevices = [ 24 29 {
+32 -26
hosts/nixos/hardware-configuration.nix
··· 1 1 # Do not modify this file! It was generated by ‘nixos-generate-config’ 2 2 # and may be overwritten by future invocations. Please make changes 3 3 # to /etc/nixos/configuration.nix instead. 4 - { config, lib, pkgs, modulesPath, ... }: 4 + { 5 + config, 6 + lib, 7 + pkgs, 8 + modulesPath, 9 + ... 10 + }: 5 11 6 12 { 7 - imports = 8 - [ (modulesPath + "/installer/scan/not-detected.nix") 9 - ]; 13 + imports = [ 14 + (modulesPath + "/installer/scan/not-detected.nix") 15 + ]; 10 16 11 - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; 17 + boot.initrd.availableKernelModules = [ 18 + "xhci_pci" 19 + "ahci" 20 + "usbhid" 21 + "sd_mod" 22 + ]; 12 23 boot.initrd.kernelModules = [ ]; 13 24 boot.kernelModules = [ "kvm-intel" ]; 14 25 boot.extraModulePackages = [ ]; 15 26 16 - fileSystems."/" = 17 - { device = "/dev/disk/by-uuid/c95a25db-4d1a-4630-a889-658a2b07079b"; 18 - fsType = "ext4"; 19 - }; 27 + fileSystems."/" = { 28 + device = "/dev/disk/by-uuid/c95a25db-4d1a-4630-a889-658a2b07079b"; 29 + fsType = "ext4"; 30 + }; 20 31 21 - fileSystems."/boot" = 22 - { device = "/dev/disk/by-uuid/360C-743E"; 23 - fsType = "vfat"; 24 - options = [ "fmask=0077" "dmask=0077" ]; 25 - }; 32 + fileSystems."/mnt/hdd" = { 33 + device = "/dev/disk/by-uuid/ea4787f6-dedb-4357-ad14-96100cf2f178"; 34 + fsType = "ext4"; 35 + }; 26 36 27 - fileSystems."/mnt/hdd" = 28 - { device = "/dev/disk/by-uuid/ea4787f6-dedb-4357-ad14-96100cf2f178"; 29 - fsType = "ext4"; 30 - }; 37 + fileSystems."/boot" = { 38 + device = "/dev/disk/by-uuid/360C-743E"; 39 + fsType = "vfat"; 40 + options = [ 41 + "fmask=0077" 42 + "dmask=0077" 43 + ]; 44 + }; 31 45 32 46 swapDevices = [ ]; 33 - 34 - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 35 - # (the default) this is the recommended approach. When using systemd-networkd it's 36 - # still possible to use this option, but it's recommended to use it in conjunction 37 - # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 38 - networking.useDHCP = lib.mkDefault true; 39 - # networking.interfaces.amn0.useDHCP = lib.mkDefault true; 40 - # networking.interfaces.enp5s0.useDHCP = lib.mkDefault true; 41 47 42 48 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 43 49 hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+2 -15
modules/linux/default.nix
··· 1 - { pkgs, ... }: 1 + { ... }: 2 2 3 3 { 4 4 imports = [ 5 5 ../shared 6 6 ./environment.nix 7 - ./programs.nix 7 + ./programs 8 8 ./services 9 9 ]; 10 10 ··· 36 36 networking = { 37 37 hostName = "nixos"; 38 38 networkmanager.enable = true; 39 - }; 40 - 41 - xdg.portal = { 42 - enable = true; 43 - config.sway = { 44 - default = [ "gtk" ]; 45 - "org.freedesktop.impl.portal.Screenshot" = "wlr"; 46 - "org.freedesktop.impl.portal.ScreenCast" = "wlr"; 47 - }; 48 - extraPortals = with pkgs; [ 49 - xdg-desktop-portal-gtk 50 - xdg-desktop-portal-wlr 51 - ]; 52 39 }; 53 40 54 41 security.polkit.enable = true;
+7
modules/linux/programs.nix modules/linux/programs/default.nix
··· 1 1 { ... }: 2 2 3 3 { 4 + imports = [ 5 + ./hyprland.nix 6 + ./steam.nix 7 + ./uwsm.nix 8 + ]; 9 + 4 10 programs = { 5 11 adb.enable = true; 6 12 amnezia-vpn.enable = true; 7 13 nix-ld.enable = true; 8 14 ssh.startAgent = true; 9 15 bash.blesh.enable = true; 16 + gamemode.enable = true; 10 17 }; 11 18 }
+8
modules/linux/programs/hyprland.nix
··· 1 + { ... }: 2 + 3 + { 4 + programs.hyprland = { 5 + enable = true; 6 + withUWSM = true; 7 + }; 8 + }
+9
modules/linux/programs/steam.nix
··· 1 + { ... }: 2 + 3 + { 4 + programs.steam = { 5 + enable = true; 6 + gamescopeSession.enable = true; 7 + protontricks.enable = true; 8 + }; 9 + }
+14
modules/linux/programs/uwsm.nix
··· 1 + { ... }: 2 + 3 + { 4 + programs.uwsm = { 5 + enable = true; 6 + waylandCompositors = { 7 + hyprland = { 8 + prettyName = "Hyprland"; 9 + comment = "Hyprland compositor managed by UWSM"; 10 + binPath = "/run/current-system/sw/bin/Hyprland"; 11 + }; 12 + }; 13 + }; 14 + }
+5 -7
modules/linux/services/default.nix
··· 1 - { pkgs, ... }: 1 + { ... }: 2 2 3 3 { 4 4 imports = [ 5 5 ./gnome.nix 6 + ./greetd.nix 7 + ./noctalia.nix 6 8 ./openssh.nix 7 9 ./pipewire.nix 8 - ./wayland.nix 10 + ./solaar.nix 11 + ./udev.nix 9 12 ]; 10 - 11 - services = { 12 - solaar.enable = true; 13 - udev.packages = with pkgs; [ vial ]; 14 - }; 15 13 }
+3 -3
modules/linux/services/gnome.nix
··· 1 1 { ... }: 2 2 3 3 { 4 - services = { 5 - gnome.gnome-keyring.enable = true; 6 - gnome.gcr-ssh-agent.enable = false; 4 + services.gnome = { 5 + gnome-keyring.enable = true; 6 + gcr-ssh-agent.enable = false; 7 7 }; 8 8 }
+12
modules/linux/services/greetd.nix
··· 1 + { lib, pkgs, ... }: 2 + 3 + { 4 + services.greetd = { 5 + enable = true; 6 + settings = { 7 + default_session = { 8 + command = "${lib.getExe pkgs.tuigreet} --cmd 'uwsm start hyprland-uwsm.desktop'"; 9 + }; 10 + }; 11 + }; 12 + }
+9
modules/linux/services/noctalia.nix
··· 1 + { inputs, ... }: 2 + 3 + { 4 + imports = [ 5 + inputs.noctalia.nixosModules.default 6 + ]; 7 + 8 + services.noctalia-shell.enable = true; 9 + }
+7
modules/linux/services/udev.nix
··· 1 + { pkgs, ... }: 2 + 3 + { 4 + services.udev = { 5 + packages = with pkgs; [ vial ]; 6 + }; 7 + }
-14
modules/linux/services/wayland.nix
··· 1 - { pkgs, ... }: 2 - 3 - { 4 - services.greetd = { 5 - enable = true; 6 - settings = { 7 - default_session = { 8 - command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd sway"; 9 - user = "greeter"; 10 - }; 11 - }; 12 - }; 13 - security.pam.services.swaylock = { }; 14 - }
-1
modules/linux/services/xserver.nix docs/deprecated/xserver.nix
··· 1 - # This module has been replaced in favor of wayland.nix. Use it for reference. 2 1 { ... }: 3 2 4 3 {
modules/shared/assets/black.png

This is a binary file and will not be displayed.

modules/shared/assets/white.png

This is a binary file and will not be displayed.

+6
modules/shared/default.nix
··· 14 14 "flakes" 15 15 "pipe-operators" 16 16 ]; 17 + substituters = [ 18 + "https://vicinae.cachix.org" 19 + ]; 20 + trusted-public-keys = [ 21 + "vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc=" 22 + ]; 17 23 }; 18 24 }; 19 25
+9 -11
modules/shared/stylix.nix
··· 9 9 # - tomorrow-night 10 10 # - ashes 11 11 base16Scheme = "${pkgs.base16-schemes}/share/themes/github-dark.yaml"; 12 - image = ./assets/black.png; 13 12 fonts = with pkgs; { 14 13 serif = { 15 14 package = eb-garamond; ··· 20 19 name = "Inter"; 21 20 }; 22 21 monospace = { 23 - package = nerd-fonts.jetbrains-mono; 24 - name = "JetBrainsMono Nerd Font"; 22 + package = pkgs.lilex; 23 + name = "Lilex"; 25 24 }; 26 25 emoji = { 27 - package = nerd-fonts.jetbrains-mono; 28 - name = "JetBrainsMono Nerd Font"; 26 + package = pkgs.lilex; 27 + name = "Lilex"; 29 28 }; 30 29 }; 30 + cursor = { 31 + package = pkgs.nur.repos.adam0.bibata-modern-cursors-classic-hyprcursor; 32 + name = "Bibata-Modern-Classic-hyprcursor"; 33 + size = 24; 34 + }; 31 35 }; 32 - 33 - # TODO: 34 - # specialisation.light.configuration.stylix = { 35 - # image = lib.mkForce ./assets/white.png; 36 - # base16Scheme = lib.mkForce "${pkgs.base16-schemes}/share/themes/cupertino.yaml"; 37 - # }; 38 36 }