Configuration for my NixOS based systems and Home Manager
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Migrate to flake based build

+386 -113
+2
.tsk/archive/tsk-3.tsk
··· 1 + finish migration to flake 2 +
+1 -1
.tsk/next
··· 1 - 3 1 + 4
+1 -1
configuration.nix
··· 30 30 # Copy the NixOS configuration file and link it from the resulting system 31 31 # (/run/current-system/configuration.nix). This is useful in case you 32 32 # accidentally delete configuration.nix. 33 - system.copySystemConfiguration = true; 33 + #system.copySystemConfiguration = true; 34 34 35 35 # Automatic doc cache generation 36 36 documentation.man.generateCaches = true;
+215 -25
flake.lock
··· 1 1 { 2 2 "nodes": { 3 + "determinate-nixd-aarch64-darwin": { 4 + "flake": false, 5 + "locked": { 6 + "narHash": "sha256-g1r0dPwlUi1h96c4BuHzv9M2lWDqRy9bPDW9tRSq35I=", 7 + "type": "file", 8 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/macOS" 9 + }, 10 + "original": { 11 + "type": "file", 12 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/macOS" 13 + } 14 + }, 15 + "determinate-nixd-aarch64-linux": { 16 + "flake": false, 17 + "locked": { 18 + "narHash": "sha256-xn324irXG/EpUdUfUGFrlJNg23JN2cVArd5LsFPjGKc=", 19 + "type": "file", 20 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/aarch64-linux" 21 + }, 22 + "original": { 23 + "type": "file", 24 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/aarch64-linux" 25 + } 26 + }, 27 + "determinate-nixd-x86_64-linux": { 28 + "flake": false, 29 + "locked": { 30 + "narHash": "sha256-VPM5FOGwEjl56b7Edvg3sduvauPHCyXZ11fN9hcUdTU=", 31 + "type": "file", 32 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/x86_64-linux" 33 + }, 34 + "original": { 35 + "type": "file", 36 + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/x86_64-linux" 37 + } 38 + }, 39 + "determinite": { 40 + "inputs": { 41 + "determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin", 42 + "determinate-nixd-aarch64-linux": "determinate-nixd-aarch64-linux", 43 + "determinate-nixd-x86_64-linux": "determinate-nixd-x86_64-linux", 44 + "nix": "nix", 45 + "nixpkgs": [ 46 + "nixpkgs" 47 + ] 48 + }, 49 + "locked": { 50 + "lastModified": 1763536872, 51 + "narHash": "sha256-QCYGGghBya+qsY59f1zzgYzxEzz+N9S7YRkVWDIDbgo=", 52 + "rev": "f4e598cbb10021c93f73dd4c0cf01ec791ea53f9", 53 + "revCount": 315, 54 + "type": "tarball", 55 + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.13.2/019a9b01-c0c6-7e1c-959e-98ac5b7675de/source.tar.gz" 56 + }, 57 + "original": { 58 + "type": "tarball", 59 + "url": "https://flakehub.com/f/DeterminateSystems/determinate/3" 60 + } 61 + }, 3 62 "flake-compat": { 4 63 "flake": false, 5 64 "locked": { 6 - "lastModified": 1747046372, 7 - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", 65 + "lastModified": 1696426674, 66 + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 8 67 "owner": "edolstra", 9 68 "repo": "flake-compat", 10 - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", 69 + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 11 70 "type": "github" 12 71 }, 13 72 "original": { ··· 16 75 "type": "github" 17 76 } 18 77 }, 78 + "flake-compat_2": { 79 + "flake": false, 80 + "locked": { 81 + "lastModified": 1761588595, 82 + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", 83 + "owner": "edolstra", 84 + "repo": "flake-compat", 85 + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", 86 + "type": "github" 87 + }, 88 + "original": { 89 + "owner": "edolstra", 90 + "repo": "flake-compat", 91 + "type": "github" 92 + } 93 + }, 94 + "flake-parts": { 95 + "inputs": { 96 + "nixpkgs-lib": [ 97 + "determinite", 98 + "nix", 99 + "nixpkgs" 100 + ] 101 + }, 102 + "locked": { 103 + "lastModified": 1748821116, 104 + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", 105 + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", 106 + "revCount": 377, 107 + "type": "tarball", 108 + "url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.377%2Brev-49f0870db23e8c1ca0b5259734a02cd9e1e371a1/01972f28-554a-73f8-91f4-d488cc502f08/source.tar.gz" 109 + }, 110 + "original": { 111 + "type": "tarball", 112 + "url": "https://flakehub.com/f/hercules-ci/flake-parts/0.1" 113 + } 114 + }, 115 + "git-hooks-nix": { 116 + "inputs": { 117 + "flake-compat": "flake-compat", 118 + "gitignore": [ 119 + "determinite", 120 + "nix" 121 + ], 122 + "nixpkgs": [ 123 + "determinite", 124 + "nix", 125 + "nixpkgs" 126 + ] 127 + }, 128 + "locked": { 129 + "lastModified": 1747372754, 130 + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", 131 + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", 132 + "revCount": 1026, 133 + "type": "tarball", 134 + "url": "https://api.flakehub.com/f/pinned/cachix/git-hooks.nix/0.1.1026%2Brev-80479b6ec16fefd9c1db3ea13aeb038c60530f46/0196d79a-1b35-7b8e-a021-c894fb62163d/source.tar.gz" 135 + }, 136 + "original": { 137 + "type": "tarball", 138 + "url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941" 139 + } 140 + }, 19 141 "gitignore": { 20 142 "inputs": { 21 143 "nixpkgs": [ ··· 44 166 ] 45 167 }, 46 168 "locked": { 47 - "lastModified": 1747688870, 48 - "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", 169 + "lastModified": 1764398914, 170 + "narHash": "sha256-YPrpwlVQidzQlMh0OnquaJR+58rKe9YNnuRis293Ilo=", 49 171 "owner": "nix-community", 50 172 "repo": "home-manager", 51 - "rev": "d5f1f641b289553927b3801580598d200a501863", 173 + "rev": "d0c5fdc48db6f19471b8adc954eca09194e68036", 52 174 "type": "github" 53 175 }, 54 176 "original": { 55 177 "owner": "nix-community", 56 - "ref": "release-24.11", 178 + "ref": "release-25.11", 57 179 "repo": "home-manager", 58 180 "type": "github" 59 181 } 60 182 }, 183 + "nix": { 184 + "inputs": { 185 + "flake-parts": "flake-parts", 186 + "git-hooks-nix": "git-hooks-nix", 187 + "nixpkgs": "nixpkgs", 188 + "nixpkgs-23-11": "nixpkgs-23-11", 189 + "nixpkgs-regression": "nixpkgs-regression" 190 + }, 191 + "locked": { 192 + "lastModified": 1763534330, 193 + "narHash": "sha256-gTuB2qBdSKCKnZwENTqScs/pPBaZQOv6zZ1KJvV/ohk=", 194 + "rev": "be871f9baf5366a220b5f25634eebab6f452a017", 195 + "revCount": 23278, 196 + "type": "tarball", 197 + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.13.2/019a9af6-3d7b-71bc-bccd-8b18e147ad77/source.tar.gz" 198 + }, 199 + "original": { 200 + "type": "tarball", 201 + "url": "https://flakehub.com/f/DeterminateSystems/nix-src/%2A" 202 + } 203 + }, 61 204 "nixpkgs": { 62 205 "locked": { 63 - "lastModified": 1751274312, 64 - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", 65 - "owner": "nixos", 206 + "lastModified": 1761597516, 207 + "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=", 208 + "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55", 209 + "revCount": 811874, 210 + "type": "tarball", 211 + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.811874%2Brev-daf6dc47aa4b44791372d6139ab7b25269184d55/019a3494-3498-707e-9086-1fb81badc7fe/source.tar.gz" 212 + }, 213 + "original": { 214 + "type": "tarball", 215 + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505" 216 + } 217 + }, 218 + "nixpkgs-23-11": { 219 + "locked": { 220 + "lastModified": 1717159533, 221 + "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", 222 + "owner": "NixOS", 66 223 "repo": "nixpkgs", 67 - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", 224 + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", 68 225 "type": "github" 69 226 }, 70 227 "original": { 71 - "owner": "nixos", 72 - "ref": "nixos-24.11", 228 + "owner": "NixOS", 73 229 "repo": "nixpkgs", 230 + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", 231 + "type": "github" 232 + } 233 + }, 234 + "nixpkgs-regression": { 235 + "locked": { 236 + "lastModified": 1643052045, 237 + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", 238 + "owner": "NixOS", 239 + "repo": "nixpkgs", 240 + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 241 + "type": "github" 242 + }, 243 + "original": { 244 + "owner": "NixOS", 245 + "repo": "nixpkgs", 246 + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 74 247 "type": "github" 75 248 } 76 249 }, 77 250 "nixpkgs-unstable": { 78 251 "locked": { 79 - "lastModified": 1756266583, 80 - "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", 252 + "lastModified": 1764242076, 253 + "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", 81 254 "owner": "nixos", 82 255 "repo": "nixpkgs", 83 - "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", 256 + "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", 84 257 "type": "github" 85 258 }, 86 259 "original": { ··· 92 265 }, 93 266 "nixpkgs_2": { 94 267 "locked": { 95 - "lastModified": 1754340878, 96 - "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", 268 + "lastModified": 1764494334, 269 + "narHash": "sha256-x2xCEXUlU4Ap56+t5HaoReOQ/bV/bIQ5rzTn/m+V3HQ=", 270 + "owner": "nixos", 271 + "repo": "nixpkgs", 272 + "rev": "d542db745310b6929708d9abea513f3ff19b1341", 273 + "type": "github" 274 + }, 275 + "original": { 276 + "owner": "nixos", 277 + "ref": "nixos-25.11", 278 + "repo": "nixpkgs", 279 + "type": "github" 280 + } 281 + }, 282 + "nixpkgs_3": { 283 + "locked": { 284 + "lastModified": 1759417375, 285 + "narHash": "sha256-O7eHcgkQXJNygY6AypkF9tFhsoDQjpNEojw3eFs73Ow=", 97 286 "owner": "NixOS", 98 287 "repo": "nixpkgs", 99 - "rev": "cab778239e705082fe97bb4990e0d24c50924c04", 288 + "rev": "dc704e6102e76aad573f63b74c742cd96f8f1e6c", 100 289 "type": "github" 101 290 }, 102 291 "original": { ··· 108 297 }, 109 298 "pre-commit-hooks": { 110 299 "inputs": { 111 - "flake-compat": "flake-compat", 300 + "flake-compat": "flake-compat_2", 112 301 "gitignore": "gitignore", 113 - "nixpkgs": "nixpkgs_2" 302 + "nixpkgs": "nixpkgs_3" 114 303 }, 115 304 "locked": { 116 - "lastModified": 1755960406, 117 - "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", 305 + "lastModified": 1763988335, 306 + "narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=", 118 307 "owner": "cachix", 119 308 "repo": "git-hooks.nix", 120 - "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", 309 + "rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce", 121 310 "type": "github" 122 311 }, 123 312 "original": { ··· 128 317 }, 129 318 "root": { 130 319 "inputs": { 320 + "determinite": "determinite", 131 321 "home-manager": "home-manager", 132 - "nixpkgs": "nixpkgs", 322 + "nixpkgs": "nixpkgs_2", 133 323 "nixpkgs-unstable": "nixpkgs-unstable", 134 324 "pre-commit-hooks": "pre-commit-hooks" 135 325 }
+105 -10
flake.nix
··· 1 1 { 2 - description = "Home Manager configuration of noah"; 2 + description = "Home Manager configuration for noah"; 3 3 4 4 inputs = { 5 5 # Specify the source of Home Manager and Nixpkgs. 6 - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; 6 + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; 7 7 nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; 8 + determinite = { 9 + url = "https://flakehub.com/f/DeterminateSystems/determinate/3"; 10 + inputs.nixpkgs.follows = "nixpkgs"; 11 + }; 8 12 home-manager = { 9 - url = "github:nix-community/home-manager/release-24.11"; 13 + url = "github:nix-community/home-manager/release-25.11"; 10 14 inputs.nixpkgs.follows = "nixpkgs"; 11 15 }; 12 16 pre-commit-hooks.url = "github:cachix/git-hooks.nix"; 13 17 }; 14 18 15 - outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, pre-commit-hooks, ... }@inputs: 19 + outputs = 20 + { self 21 + , nixpkgs 22 + , nixpkgs-unstable 23 + , determinite 24 + , home-manager 25 + , pre-commit-hooks 26 + , ... 27 + }@inputs: 16 28 let 17 - system = "aarch64-darwin"; 18 - pkgs = nixpkgs.legacyPackages.${system}; 19 - unstable-pkgs = nixpkgs-unstable.legacyPackages.${system}; 20 - supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; 29 + name = "misaki"; 30 + system = "x86_64-linux"; 31 + pkgs = import nixpkgs { 32 + inherit system; 33 + 34 + }; 35 + unstable = import nixpkgs-unstable { 36 + inherit system; 37 + config.allowUnfreePredicate = 38 + pkg: 39 + builtins.elem (pkgs.lib.getName pkg) [ 40 + "plexmediaserver" 41 + "teamspeak-server" 42 + ]; 43 + overlays = [ 44 + (final: prev: { 45 + # Override the version of Plex installed to be the latest 46 + plexRaw = prev.plexRaw.overrideAttrs rec { 47 + version = "1.43.0.10346-fc911a729"; 48 + src = final.fetchurl { 49 + url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; 50 + sha256 = "jfQ11luQoafUYb5sGpvE7jPiErGt2HXVLwn70M/Hqyc="; 51 + }; 52 + }; 53 + ## Override the json object that contains verions and hashes for Immich 54 + #immich = prev.immich.override { sourcesJSON = ./overrides/immich-sources.json; }; 55 + ## Fix errors wit numpy version failing to resolve in the immich ML package 56 + #immich-machine-learning = prev.immich-machine-learning.overrideAttrs 57 + # (finalAttrs: prevAttrs: { 58 + # pythonRelaxDeps = prevAttrs.pythonRelaxDeps ++ [ "numpy" ]; 59 + # }); 60 + }) 61 + ]; 62 + }; 63 + supportedSystems = [ 64 + "x86_64-linux" 65 + "aarch64-linux" 66 + "x86_64-darwin" 67 + "aarch64-darwin" 68 + ]; 21 69 forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 22 70 in 23 71 { 72 + nixosConfigurations.${name} = inputs.nixpkgs.lib.nixosSystem { 73 + inherit system; 74 + specialArgs = { inherit unstable; }; 75 + modules = [ 76 + determinite.nixosModules.default 77 + ./configuration.nix 78 + home-manager.nixosModules.home-manager 79 + { 80 + home-manager.useGlobalPkgs = true; 81 + home-manager.useUserPackages = true; 82 + home-manager.users.noah = ./home.nix; 83 + home-manager.extraSpecialArgs = { 84 + inherit unstable; 85 + }; 86 + 87 + # Optionally, use home-manager.extraSpecialArgs to pass 88 + # arguments to home.nix 89 + } 90 + #./hardware-configuration.nix 91 + #./boot.nix 92 + #./networking.nix 93 + #./users.nix 94 + #./packages.nix 95 + #./services.nix 96 + # See configuration.nix for more information on this one 97 + #( 98 + # { ... }: 99 + # { 100 + # time.timeZone = "America/Chicago"; 101 + # i18n.defaultLocale = "en_US.UTF-8"; 102 + # system.copySystemConfiguration = true; 103 + # documentation.man.generateCaches = true; 104 + # system.autoUpgrade = { 105 + # enable = true; 106 + # dates = "09:00"; 107 + # randomizedDelaySec = "45min"; 108 + # }; 109 + # nix.gc.automatic = true; 110 + # nix.gc.options = "--delete-older-than 8d"; 111 + # system.stateVersion = "23.11"; # Did you read the comment? 112 + # } 113 + #) 114 + ]; 115 + specialArgs = { inherit home-manager nixpkgs-unstable; }; 116 + }; 24 117 homeConfigurations."noah" = home-manager.lib.homeManagerConfiguration { 25 118 inherit pkgs; 26 119 ··· 31 124 # Optionally use extraSpecialArgs 32 125 # to pass through arguments to home.nix 33 126 extraSpecialArgs = { 34 - unstable = unstable-pkgs; 127 + inherit unstable; 35 128 }; 36 129 }; 37 130 checks = forAllSystems (system: { ··· 51 144 inherit (self.checks.${system}.pre-commit-check) shellHook; 52 145 buildInputs = [ 53 146 pkgs.nixfmt-rfc-style 54 - ] ++ self.checks.${system}.pre-commit-check.enabledPackages; 147 + ] 148 + ++ self.checks.${system}.pre-commit-check.enabledPackages; 55 149 }; 56 150 }); 151 + formatter.${system} = inputs.nixpkgs.legacyPackages.${system}.nixfmt-rfc-style; 57 152 }; 58 153 }
+1 -12
noah-home.nix home.nix
··· 1 - { pkgs, lib, ... }: 2 - let 3 - unstable = import <nixos-unstable> { 4 - config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 5 - "jetbrains-toolbox" 6 - "jetbrains.rust-rover" 7 - "rust-rover" 8 - "discord" 9 - "plex" 10 - ]; 11 - }; 12 - in 1 + { pkgs, lib, unstable, ... }: 13 2 { 14 3 home.packages = with pkgs; [ 15 4 # main tool
+7 -7
packages.nix
··· 44 44 # List packages installed in system profile. To search, run: 45 45 # $ nix search wget 46 46 environment.systemPackages = with pkgs; [ 47 - (pkgs.callPackage <agenix/pkgs/agenix.nix> { }) 47 + #(pkgs.callPackage <agenix/pkgs/agenix.nix> { }) 48 48 neovim 49 49 appimage-run 50 50 wget ··· 67 67 68 68 # GPU stuff 69 69 intel-gpu-tools 70 - (ffmpeg-full.override { 71 - withUnfree = true; 72 - withMfx = false; 73 - withSmallBuild = false; 74 - withTensorflow = false; 75 - }) 70 + #(ffmpeg-full.override { 71 + # withUnfree = true; 72 + # withMfx = false; 73 + # withSmallBuild = false; 74 + # withTensorflow = false; 75 + #}) 76 76 libva 77 77 libva-utils 78 78 nvtopPackages.intel
+34 -30
services.nix
··· 1 1 { config 2 2 , lib 3 3 , pkgs 4 + , unstable 5 + , system 4 6 , ... 5 7 }: 6 8 let 7 - unstable = import <nixos-unstable> { 8 - config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 9 - "plexmediaserver" 10 - "teamspeak-server" 11 - ]; 12 - overlays = [ 13 - (final: prev: { 14 - # Override the version of Plex installed to be the latest 15 - plexRaw = prev.plexRaw.overrideAttrs rec { 16 - version = "1.43.0.10346-fc911a729"; 17 - src = final.fetchurl { 18 - url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; 19 - sha256 = "jfQ11luQoafUYb5sGpvE7jPiErGt2HXVLwn70M/Hqyc="; 20 - }; 21 - }; 22 - ## Override the json object that contains verions and hashes for Immich 23 - #immich = prev.immich.override { sourcesJSON = ./overrides/immich-sources.json; }; 24 - ## Fix errors wit numpy version failing to resolve in the immich ML package 25 - #immich-machine-learning = prev.immich-machine-learning.overrideAttrs 26 - # (finalAttrs: prevAttrs: { 27 - # pythonRelaxDeps = prevAttrs.pythonRelaxDeps ++ [ "numpy" ]; 28 - # }); 29 - }) 30 - ]; 31 - }; 32 - _age = import <agenix/modules/age.nix> { }; 9 + #unstable = import unstable { 10 + # inherit system; 11 + # config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 12 + # "plexmediaserver" 13 + # "teamspeak-server" 14 + # ]; 15 + # overlays = [ 16 + # (final: prev: { 17 + # # Override the version of Plex installed to be the latest 18 + # plexRaw = prev.plexRaw.overrideAttrs rec { 19 + # version = "1.43.0.10346-fc911a729"; 20 + # src = final.fetchurl { 21 + # url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; 22 + # sha256 = "jfQ11luQoafUYb5sGpvE7jPiErGt2HXVLwn70M/Hqyc="; 23 + # }; 24 + # }; 25 + # ## Override the json object that contains verions and hashes for Immich 26 + # #immich = prev.immich.override { sourcesJSON = ./overrides/immich-sources.json; }; 27 + # ## Fix errors wit numpy version failing to resolve in the immich ML package 28 + # #immich-machine-learning = prev.immich-machine-learning.overrideAttrs 29 + # # (finalAttrs: prevAttrs: { 30 + # # pythonRelaxDeps = prevAttrs.pythonRelaxDeps ++ [ "numpy" ]; 31 + # # }); 32 + # }) 33 + # ]; 34 + #}; 35 + #age = import <agenix/modules/age.nix> { }; 33 36 in 34 37 { 35 38 ··· 136 139 group = "nats"; 137 140 serverName = "misaki"; 138 141 dataDir = "/srv/shokuhou/applications/nats"; 142 + validateConfig = false; 139 143 settings = { 140 144 authorization = { 141 145 users = [ ··· 168 172 ]; 169 173 }; 170 174 tls = { 171 - cert_file = /srv/nats/nats.packetlost.dev/cert.pem; 172 - key_file = /srv/nats/nats.packetlost.dev/key.pem; 173 - ca_file = /srv/nats/minica.pem; 175 + cert_file = "/srv/nats/nats.packetlost.dev/cert.pem"; 176 + key_file = "/srv/nats/nats.packetlost.dev/key.pem"; 177 + ca_file = "/srv/nats/minica.pem"; 174 178 verify_and_map = true; 175 179 }; 176 180 jetstream = { ··· 210 214 group = "nas"; 211 215 }; 212 216 services.syncthing = { 213 - enable = true; 217 + enable = false; 214 218 openDefaultPorts = true; 215 219 # disable the sync folder creation 216 220 extraFlags = [ "--no-default-folder" ];
+20 -27
users.nix
··· 1 1 { pkgs, lib, ... }: 2 - let 3 - home-manager = builtins.fetchTarball 4 - "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz"; 5 - in 6 2 { 7 - 8 - imports = [ 9 - # Import home-manager first, it's required for other modules 10 - (import "${home-manager}/nixos") 11 - ]; 12 3 # Declarative only optoins. 13 4 # I don't want to allow ad-hoc modifying users on the system. 14 5 # Users must be declared either as part of a package or in this file. 15 6 users.mutableUsers = false; 16 7 17 - 18 8 # Define a user account. Don't forget to set a password with ‘passwd’. 19 9 users.users.noah = { 20 10 isNormalUser = true; 21 11 shell = pkgs.fish; 22 - extraGroups = [ "wheel" "video" "render" "nas" "nats" "litterbox" "httpd" ]; # Enable ‘sudo’ for the user. 12 + extraGroups = [ 13 + "wheel" 14 + "video" 15 + "render" 16 + "nas" 17 + "nats" 18 + "litterbox" 19 + "httpd" 20 + ]; # Enable ‘sudo’ for the user. 23 21 hashedPasswordFile = "/etc/nixos/noah-password"; 24 - openssh.authorizedKeys.keys = 25 - lib.strings.splitString "\n" (builtins.readFile (builtins.fetchurl { 26 - url = "https://meta.sr.ht/~chiefnoah.keys"; 27 - name = "chiefnoah.keys"; 28 - # Update this with: 29 - # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` 30 - sha256 = "18x041l12wddzh071vr9kzlg751cf5qva36dp649zm5iv1x0mjyn"; 31 - })); 22 + openssh.authorizedKeys.keys = lib.strings.splitString "\n" ( 23 + builtins.readFile ( 24 + builtins.fetchurl { 25 + url = "https://meta.sr.ht/~chiefnoah.keys"; 26 + name = "chiefnoah.keys"; 27 + # Update this with: 28 + # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` 29 + sha256 = "0s16lykn9ysd7wxqckhahqf8cjb9mv39ymf6xy0hb92nb40sfn68"; 30 + } 31 + ) 32 + ); 32 33 }; 33 34 34 35 users.groups.nas.gid = 1001; 35 36 users.groups.httpd.gid = 1002; 36 37 users.groups.litterbox.gid = 1003; 37 - 38 - # I manage my home with home-manager 39 - # Don't store packages in ~/.nix-profile, use /etc/profiles so we can build-vm 40 - home-manager.useUserPackages = true; 41 - # No more NIX_PATH, use system pkgs 42 - home-manager.useGlobalPkgs = true; 43 - 44 - home-manager.users.noah = import ./noah-home.nix; 45 38 }