My NixOS configuration (mirror)

added new pc

+209 -37
+33 -33
flake.lock
··· 117 117 "zig2nix": "zig2nix" 118 118 }, 119 119 "locked": { 120 - "lastModified": 1739631851, 121 - "narHash": "sha256-zRJ603lCqtUnhpWAxXeW+AcCGYizgmgfVEw3j3Muaxk=", 120 + "lastModified": 1740342429, 121 + "narHash": "sha256-C6FfYeTuZJVe0Srdkmd7gFxKY+ObqDt2yhyvOHcxpNk=", 122 122 "owner": "ghostty-org", 123 123 "repo": "ghostty", 124 - "rev": "2d0940f6ae5e786bc83f7f2d21bc9c2cf862b418", 124 + "rev": "a52c603f163f2d6d8870f2535857a82d16790d59", 125 125 "type": "github" 126 126 }, 127 127 "original": { ··· 137 137 ] 138 138 }, 139 139 "locked": { 140 - "lastModified": 1739571712, 141 - "narHash": "sha256-0UdSDV/TBY+GuxXLbrLq3l2Fq02ciyKCIMy4qmnfJXQ=", 140 + "lastModified": 1740344845, 141 + "narHash": "sha256-5D9LkYjXu+jbdgzpr+jL5HTcH7ONMz6FChH1Nwudn48=", 142 142 "owner": "nix-community", 143 143 "repo": "home-manager", 144 - "rev": "6d3163aea47fdb1fe19744e91306a2ea4f602292", 144 + "rev": "6a2af4ffb26f812c353415c7316dff0a8b52b525", 145 145 "type": "github" 146 146 }, 147 147 "original": { ··· 158 158 "utils": "utils" 159 159 }, 160 160 "locked": { 161 - "lastModified": 1738064867, 162 - "narHash": "sha256-vaBgjmBHdkoTDPEy4YnTDvUvrbEXYftTnCtCZmw4EDo=", 161 + "lastModified": 1739910521, 162 + "narHash": "sha256-kgj4cal0PjXSYq2/XMWffe/eeWid6S2oYoYx09iI3YQ=", 163 163 "owner": "taj-ny", 164 164 "repo": "kwin-effects-forceblur", 165 - "rev": "d7e46df232327f3d506c69f99177f2311ea4cd75", 165 + "rev": "ebdb87add981c26c755e8b96e34db898c9131047", 166 166 "type": "github" 167 167 }, 168 168 "original": { ··· 222 222 "xwayland-satellite-unstable": "xwayland-satellite-unstable" 223 223 }, 224 224 "locked": { 225 - "lastModified": 1739627445, 226 - "narHash": "sha256-fl1kOwskXXa5dJsRcly9e+UaOTdjdvy8Jqg9WhKe0Nw=", 225 + "lastModified": 1740326457, 226 + "narHash": "sha256-C1tiPRIXI6Z5vd3pz26/JQ/p+VaG2eKD6PNk8ZqFW1E=", 227 227 "owner": "sodiboo", 228 228 "repo": "niri-flake", 229 - "rev": "b4f7ae09bc209e76944fed4648191dac8381ca76", 229 + "rev": "23b0234ac1b03709a0cec40e84d293f083859dc9", 230 230 "type": "github" 231 231 }, 232 232 "original": { ··· 255 255 "niri-unstable": { 256 256 "flake": false, 257 257 "locked": { 258 - "lastModified": 1739625307, 259 - "narHash": "sha256-BVTlrmelSAq+rlxwlRvsyZxHrmcviRu3aHJYG37Yq8c=", 258 + "lastModified": 1740251548, 259 + "narHash": "sha256-53kgDwNYEPIZadX5SEk7+OoTXycHm1QUF7x2XCoo9+U=", 260 260 "owner": "YaLTeR", 261 261 "repo": "niri", 262 - "rev": "f01c840ebe71f152906dbc6212f077fc72626f89", 262 + "rev": "bca65452882e1e616045e21a0a9a4a0b7024239b", 263 263 "type": "github" 264 264 }, 265 265 "original": { ··· 270 270 }, 271 271 "nixpkgs": { 272 272 "locked": { 273 - "lastModified": 1739446958, 274 - "narHash": "sha256-+/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc=", 273 + "lastModified": 1740126099, 274 + "narHash": "sha256-ozoOtE2hGsqh4XkTJFsrTkNxkRgShxpQxDynaPZUGxk=", 275 275 "owner": "NixOS", 276 276 "repo": "nixpkgs", 277 - "rev": "2ff53fe64443980e139eaa286017f53f88336dd0", 277 + "rev": "32fb99ba93fea2798be0e997ea331dd78167f814", 278 278 "type": "github" 279 279 }, 280 280 "original": { ··· 298 298 }, 299 299 "nixpkgs-stable": { 300 300 "locked": { 301 - "lastModified": 1739484910, 302 - "narHash": "sha256-wjWLzdM7PIq4ZAe7k3vyjtgVJn6b0UeodtRFlM/6W5U=", 301 + "lastModified": 1740162160, 302 + "narHash": "sha256-SSYxFhqCOb3aiPb6MmN68yEzBIltfom8IgRz7phHscM=", 303 303 "owner": "NixOS", 304 304 "repo": "nixpkgs", 305 - "rev": "0b73e36b1962620a8ac551a37229dd8662dac5c8", 305 + "rev": "11415c7ae8539d6292f2928317ee7a8410b28bb9", 306 306 "type": "github" 307 307 }, 308 308 "original": { ··· 314 314 }, 315 315 "nixpkgs_2": { 316 316 "locked": { 317 - "lastModified": 1739446958, 318 - "narHash": "sha256-+/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc=", 317 + "lastModified": 1740126099, 318 + "narHash": "sha256-ozoOtE2hGsqh4XkTJFsrTkNxkRgShxpQxDynaPZUGxk=", 319 319 "owner": "nixos", 320 320 "repo": "nixpkgs", 321 - "rev": "2ff53fe64443980e139eaa286017f53f88336dd0", 321 + "rev": "32fb99ba93fea2798be0e997ea331dd78167f814", 322 322 "type": "github" 323 323 }, 324 324 "original": { ··· 403 403 "systems": "systems_4" 404 404 }, 405 405 "locked": { 406 - "lastModified": 1739534392, 407 - "narHash": "sha256-OkDPZJm1gH3Fi8e+0km1ULrq8sLQS6wwjQqacz+w/ZA=", 406 + "lastModified": 1740244086, 407 + "narHash": "sha256-QHz9v9OlRYlHZA6YOnA0DlNU/hAuDZBpYqrNbr8FZzs=", 408 408 "owner": "notashelf", 409 409 "repo": "nvf", 410 - "rev": "4196be3ac8d374450314f8595f30d0b86accba11", 410 + "rev": "b248b5af59ffdfaf9f6fdd400a114f60718f0b31", 411 411 "type": "github" 412 412 }, 413 413 "original": { ··· 602 602 "nixpkgs": "nixpkgs_4" 603 603 }, 604 604 "locked": { 605 - "lastModified": 1739582274, 606 - "narHash": "sha256-qDVcTrCMixPzxb9rzgTXkHaF9jxz6ptmGbuzO6RhAhc=", 605 + "lastModified": 1739667343, 606 + "narHash": "sha256-fNEz+Yd0t9jXz27qKRMAEBradTwYBeBLOECx+ydG25s=", 607 607 "owner": "0xc000022070", 608 608 "repo": "zen-browser-flake", 609 - "rev": "66976a3e4a8ee9bf29f89c81b48b4f4126c619e3", 609 + "rev": "8c7f6ca49f87b4e114f775a4dad956ceb6df4220", 610 610 "type": "github" 611 611 }, 612 612 "original": { ··· 677 677 "rust-overlay": "rust-overlay_2" 678 678 }, 679 679 "locked": { 680 - "lastModified": 1739559468, 681 - "narHash": "sha256-AHvXptQMDghoIlR9xui6Zh3jT/SWtfHa1QPo/GYUd24=", 680 + "lastModified": 1739984347, 681 + "narHash": "sha256-uVCct8KcApApcl2dV6UQ/T5AjUAzk0DtyWjsVNZmvxo=", 682 682 "owner": "dj95", 683 683 "repo": "zjstatus", 684 - "rev": "34c430b6bab107a4eaddb1a434641c2b48ab6020", 684 + "rev": "378ea2602f374fa23f09b8a41648b0f2338cbe9b", 685 685 "type": "github" 686 686 }, 687 687 "original": {
+30
flake.nix
··· 96 96 } 97 97 ]; 98 98 }; 99 + thwomp = nixpkgs.lib.nixosSystem { 100 + system = "x86_64-linux"; 101 + 102 + specialArgs = { 103 + inherit inputs; 104 + hostname = "thwomp"; 105 + }; 106 + 107 + modules = [ 108 + ./hosts/thwomp/configuration.nix 109 + home-manager.nixosModules.home-manager 110 + { 111 + environment.systemPackages = [ 112 + ghostty.packages.x86_64-linux.default 113 + ]; 114 + nixpkgs.overlays = [ 115 + (final: prev: { 116 + zjstatus = zjstatus.packages.${prev.system}.default; 117 + }) 118 + ]; 119 + home-manager.useGlobalPkgs = true; 120 + home-manager.useUserPackages = true; 121 + home-manager.extraSpecialArgs = { 122 + inherit inputs; 123 + hostname = "thwomp"; 124 + }; 125 + home-manager.users.matthew_hre = import ./home/default.nix; 126 + } 127 + ]; 128 + }; 99 129 }; 100 130 formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; 101 131 };
-1
home/spotify-tui/default.nix
··· 3 3 withStreaming = true; 4 4 withDaemon = true; 5 5 withMediaControl = true; 6 - withLyrics = false; 7 6 withImage = true; 8 7 withNotify = true; 9 8 withSixel = false;
+91
hosts/thwomp/configuration.nix
··· 1 + # Edit this configuration file to define what should be installed on 2 + # your system. Help is available in the configuration.nix(5) man page 3 + # and in the NixOS manual (accessible by running ‘nixos-help’). 4 + { 5 + config, 6 + pkgs, 7 + ... 8 + }: let 9 + system = ../../system; 10 + in { 11 + imports = [ 12 + ./hardware-configuration.nix 13 + "${system}/core" 14 + "${system}/hardware/amd.nix" 15 + "${system}/hardware/bluetooth.nix" 16 + "${system}/network" 17 + "${system}/programs/discord.nix" 18 + "${system}/programs/fonts.nix" 19 + "${system}/programs/libre.nix" 20 + "${system}/programs/plasma.nix" 21 + "${system}/programs/steam.nix" 22 + "${system}/services/greetd.nix" 23 + "${system}/services/openssh.nix" 24 + "${system}/services/openvpn.nix" 25 + "${system}/services/pipewire.nix" 26 + ]; 27 + 28 + boot = { 29 + loader = { 30 + systemd-boot.enable = false; 31 + efi.efiSysMountPoint = "/boot"; 32 + efi.canTouchEfiVariables = true; 33 + grub = { 34 + enable = true; 35 + efiSupport = true; 36 + device = "nodev"; 37 + }; 38 + }; 39 + }; 40 + 41 + networking.hostName = "thwomp"; # Define your hostname. 42 + 43 + services.xserver.enable = true; 44 + 45 + services.xserver.xkb = { 46 + layout = "us"; 47 + variant = ""; 48 + }; 49 + 50 + # Enable CUPS to print documents. 51 + services.printing.enable = true; 52 + 53 + hardware.bluetooth.settings.General.Experimental = "true"; 54 + hardware.enableAllFirmware = true; 55 + 56 + hardware.graphics.enable = true; 57 + hardware.xone.enable = true; 58 + 59 + environment.sessionVariables = { 60 + NIXOS_OZONE_WL = "1"; 61 + ELECTRON_OZONE_PLATFORM_HINT = "auto"; 62 + }; 63 + 64 + environment.systemPackages = with pkgs; [ 65 + godot_4 66 + libnotify 67 + nomacs 68 + obsidian 69 + prismlauncher 70 + vim 71 + ]; 72 + 73 + programs = { 74 + firefox = { 75 + enable = true; 76 + }; 77 + fish.enable = true; 78 + _1password-gui = { 79 + enable = true; 80 + polkitPolicyOwners = ["matthew_hre"]; 81 + }; 82 + }; 83 + 84 + # This value determines the NixOS release from which the default 85 + # settings for stateful data, like file locations and database versions 86 + # on your system were taken. It‘s perfectly fine and recommended to leave 87 + # this value at the release version of the first install of this system. 88 + # Before changing this value read the documentation for this option 89 + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 90 + system.stateVersion = "24.11"; # Did you read the comment? 91 + }
+41
hosts/thwomp/hardware-configuration.nix
··· 1 + # Do not modify this file! It was generated by ‘nixos-generate-config’ 2 + # and may be overwritten by future invocations. Please make changes 3 + # to /etc/nixos/configuration.nix instead. 4 + { config, lib, pkgs, modulesPath, ... }: 5 + 6 + { 7 + imports = 8 + [ (modulesPath + "/installer/scan/not-detected.nix") 9 + ]; 10 + 11 + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; 12 + boot.initrd.kernelModules = [ ]; 13 + boot.kernelModules = [ "kvm-amd" ]; 14 + boot.extraModulePackages = [ ]; 15 + 16 + fileSystems."/" = 17 + { device = "/dev/disk/by-uuid/35db7edb-4156-4b1c-a12e-f0d60aa7008c"; 18 + fsType = "ext4"; 19 + }; 20 + 21 + fileSystems."/boot" = 22 + { device = "/dev/disk/by-uuid/18F3-3F78"; 23 + fsType = "vfat"; 24 + options = [ "fmask=0077" "dmask=0077" ]; 25 + }; 26 + 27 + swapDevices = 28 + [ { device = "/dev/disk/by-uuid/fe6f9730-5c4b-4be4-88b9-7c3ad195c30f"; } 29 + ]; 30 + 31 + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 32 + # (the default) this is the recommended approach. When using systemd-networkd it's 33 + # still possible to use this option, but it's recommended to use it in conjunction 34 + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 35 + networking.useDHCP = lib.mkDefault true; 36 + # networking.interfaces.eno1.useDHCP = lib.mkDefault true; 37 + # networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true; 38 + 39 + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 40 + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 41 + }
+3
system/hardware/amd.nix
··· 1 + { 2 + boot.initrd.kernelModules = [ "amdgpu" ]; 3 + }
-3
system/hardware/bluetooth.nix
··· 2 2 hardware.bluetooth = { 3 3 enable = true; 4 4 powerOnBoot = true; 5 - settings = { 6 - General.Enable = "Source,Sink,Media,Socket"; 7 - }; 8 5 }; 9 6 }
+11
system/services/pipewire.nix
··· 6 6 alsa.enable = true; 7 7 alsa.support32Bit = true; 8 8 pulse.enable = true; 9 + jack.enable = true; 10 + }; 11 + 12 + services.pipewire.wireplumber.extraConfig.bluetoothEnhancements = { 13 + "monitor.bluez.properties" = { 14 + "bluez5.enable-sbc-xq" = true; 15 + "bluez5.enable-msbc" = false; 16 + "bluez5.enable-hw-volume" = true; ### <<< Enables touch slider on headphones for fader gain, pause, and unpause functionality 17 + "bluez5.auto-connect" = ["a2dp_sink"]; ### <<< Autoconnect to HD 48khz mode on connect 18 + "bluez5.roles" = ["a2dp_sink" "a2dp_source"]; ### <<< This sets the BT driver role to a2dp sink and source, which are the HD 44.1khz and 48khz module modesets but doesnt load the modules for hsp, which is the handset driver that enables the mic. 19 + }; 9 20 }; 10 21 }