diff --git a/.tsk/archive/tsk-3.tsk b/.tsk/archive/tsk-3.tsk new file mode 100644 index 0000000..24c7b8f --- /dev/null +++ b/.tsk/archive/tsk-3.tsk @@ -0,0 +1,2 @@ +finish migration to flake + diff --git a/.tsk/next b/.tsk/next index 00750ed..b8626c4 100644 --- a/.tsk/next +++ b/.tsk/next @@ -1 +1 @@ -3 +4 diff --git a/configuration.nix b/configuration.nix index c1d2d46..259a22b 100644 --- a/configuration.nix +++ b/configuration.nix @@ -30,7 +30,7 @@ # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you # accidentally delete configuration.nix. - system.copySystemConfiguration = true; + #system.copySystemConfiguration = true; # Automatic doc cache generation documentation.man.generateCaches = true; diff --git a/flake.lock b/flake.lock index 8c26b4d..85c5b1e 100644 --- a/flake.lock +++ b/flake.lock @@ -1,13 +1,72 @@ { "nodes": { + "determinate-nixd-aarch64-darwin": { + "flake": false, + "locked": { + "narHash": "sha256-g1r0dPwlUi1h96c4BuHzv9M2lWDqRy9bPDW9tRSq35I=", + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/macOS" + }, + "original": { + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/macOS" + } + }, + "determinate-nixd-aarch64-linux": { + "flake": false, + "locked": { + "narHash": "sha256-xn324irXG/EpUdUfUGFrlJNg23JN2cVArd5LsFPjGKc=", + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/aarch64-linux" + }, + "original": { + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/aarch64-linux" + } + }, + "determinate-nixd-x86_64-linux": { + "flake": false, + "locked": { + "narHash": "sha256-VPM5FOGwEjl56b7Edvg3sduvauPHCyXZ11fN9hcUdTU=", + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/x86_64-linux" + }, + "original": { + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.13.2/x86_64-linux" + } + }, + "determinite": { + "inputs": { + "determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin", + "determinate-nixd-aarch64-linux": "determinate-nixd-aarch64-linux", + "determinate-nixd-x86_64-linux": "determinate-nixd-x86_64-linux", + "nix": "nix", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1763536872, + "narHash": "sha256-QCYGGghBya+qsY59f1zzgYzxEzz+N9S7YRkVWDIDbgo=", + "rev": "f4e598cbb10021c93f73dd4c0cf01ec791ea53f9", + "revCount": 315, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.13.2/019a9b01-c0c6-7e1c-959e-98ac5b7675de/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/determinate/3" + } + }, "flake-compat": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -16,6 +75,69 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "determinite", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748821116, + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", + "revCount": 377, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.377%2Brev-49f0870db23e8c1ca0b5259734a02cd9e1e371a1/01972f28-554a-73f8-91f4-d488cc502f08/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/hercules-ci/flake-parts/0.1" + } + }, + "git-hooks-nix": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": [ + "determinite", + "nix" + ], + "nixpkgs": [ + "determinite", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "revCount": 1026, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/cachix/git-hooks.nix/0.1.1026%2Brev-80479b6ec16fefd9c1db3ea13aeb038c60530f46/0196d79a-1b35-7b8e-a021-c894fb62163d/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -44,43 +166,94 @@ ] }, "locked": { - "lastModified": 1747688870, - "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", + "lastModified": 1764398914, + "narHash": "sha256-YPrpwlVQidzQlMh0OnquaJR+58rKe9YNnuRis293Ilo=", "owner": "nix-community", "repo": "home-manager", - "rev": "d5f1f641b289553927b3801580598d200a501863", + "rev": "d0c5fdc48db6f19471b8adc954eca09194e68036", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.11", + "ref": "release-25.11", "repo": "home-manager", "type": "github" } }, + "nix": { + "inputs": { + "flake-parts": "flake-parts", + "git-hooks-nix": "git-hooks-nix", + "nixpkgs": "nixpkgs", + "nixpkgs-23-11": "nixpkgs-23-11", + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1763534330, + "narHash": "sha256-gTuB2qBdSKCKnZwENTqScs/pPBaZQOv6zZ1KJvV/ohk=", + "rev": "be871f9baf5366a220b5f25634eebab6f452a017", + "revCount": 23278, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.13.2/019a9af6-3d7b-71bc-bccd-8b18e147ad77/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/nix-src/%2A" + } + }, "nixpkgs": { "locked": { - "lastModified": 1751274312, - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", - "owner": "nixos", + "lastModified": 1761597516, + "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=", + "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55", + "revCount": 811874, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.811874%2Brev-daf6dc47aa4b44791372d6139ab7b25269184d55/019a3494-3498-707e-9086-1fb81badc7fe/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505" + } + }, + "nixpkgs-23-11": { + "locked": { + "lastModified": 1717159533, + "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-24.11", + "owner": "NixOS", "repo": "nixpkgs", + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", + "type": "github" + } + }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1756266583, - "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", + "lastModified": 1764242076, + "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", + "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", "type": "github" }, "original": { @@ -92,11 +265,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1754340878, - "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", + "lastModified": 1764494334, + "narHash": "sha256-x2xCEXUlU4Ap56+t5HaoReOQ/bV/bIQ5rzTn/m+V3HQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d542db745310b6929708d9abea513f3ff19b1341", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1759417375, + "narHash": "sha256-O7eHcgkQXJNygY6AypkF9tFhsoDQjpNEojw3eFs73Ow=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cab778239e705082fe97bb4990e0d24c50924c04", + "rev": "dc704e6102e76aad573f63b74c742cd96f8f1e6c", "type": "github" }, "original": { @@ -108,16 +297,16 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "gitignore": "gitignore", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1755960406, - "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", + "lastModified": 1763988335, + "narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", + "rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce", "type": "github" }, "original": { @@ -128,8 +317,9 @@ }, "root": { "inputs": { + "determinite": "determinite", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "pre-commit-hooks": "pre-commit-hooks" } diff --git a/flake.nix b/flake.nix index 0732a10..7567c1c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,26 +1,119 @@ { - description = "Home Manager configuration of noah"; + description = "Home Manager configuration for noah"; inputs = { # Specify the source of Home Manager and Nixpkgs. - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + determinite = { + url = "https://flakehub.com/f/DeterminateSystems/determinate/3"; + inputs.nixpkgs.follows = "nixpkgs"; + }; home-manager = { - url = "github:nix-community/home-manager/release-24.11"; + url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; pre-commit-hooks.url = "github:cachix/git-hooks.nix"; }; - outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, pre-commit-hooks, ... }@inputs: + outputs = + { self + , nixpkgs + , nixpkgs-unstable + , determinite + , home-manager + , pre-commit-hooks + , ... + }@inputs: let - system = "aarch64-darwin"; - pkgs = nixpkgs.legacyPackages.${system}; - unstable-pkgs = nixpkgs-unstable.legacyPackages.${system}; - supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + name = "misaki"; + system = "x86_64-linux"; + pkgs = import nixpkgs { + inherit system; + + }; + unstable = import nixpkgs-unstable { + inherit system; + config.allowUnfreePredicate = + pkg: + builtins.elem (pkgs.lib.getName pkg) [ + "plexmediaserver" + "teamspeak-server" + ]; + overlays = [ + (final: prev: { + # Override the version of Plex installed to be the latest + plexRaw = prev.plexRaw.overrideAttrs rec { + version = "1.43.0.10346-fc911a729"; + src = final.fetchurl { + url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; + sha256 = "jfQ11luQoafUYb5sGpvE7jPiErGt2HXVLwn70M/Hqyc="; + }; + }; + ## Override the json object that contains verions and hashes for Immich + #immich = prev.immich.override { sourcesJSON = ./overrides/immich-sources.json; }; + ## Fix errors wit numpy version failing to resolve in the immich ML package + #immich-machine-learning = prev.immich-machine-learning.overrideAttrs + # (finalAttrs: prevAttrs: { + # pythonRelaxDeps = prevAttrs.pythonRelaxDeps ++ [ "numpy" ]; + # }); + }) + ]; + }; + supportedSystems = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; in { + nixosConfigurations.${name} = inputs.nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = { inherit unstable; }; + modules = [ + determinite.nixosModules.default + ./configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.noah = ./home.nix; + home-manager.extraSpecialArgs = { + inherit unstable; + }; + + # Optionally, use home-manager.extraSpecialArgs to pass + # arguments to home.nix + } + #./hardware-configuration.nix + #./boot.nix + #./networking.nix + #./users.nix + #./packages.nix + #./services.nix + # See configuration.nix for more information on this one + #( + # { ... }: + # { + # time.timeZone = "America/Chicago"; + # i18n.defaultLocale = "en_US.UTF-8"; + # system.copySystemConfiguration = true; + # documentation.man.generateCaches = true; + # system.autoUpgrade = { + # enable = true; + # dates = "09:00"; + # randomizedDelaySec = "45min"; + # }; + # nix.gc.automatic = true; + # nix.gc.options = "--delete-older-than 8d"; + # system.stateVersion = "23.11"; # Did you read the comment? + # } + #) + ]; + specialArgs = { inherit home-manager nixpkgs-unstable; }; + }; homeConfigurations."noah" = home-manager.lib.homeManagerConfiguration { inherit pkgs; @@ -31,7 +124,7 @@ # Optionally use extraSpecialArgs # to pass through arguments to home.nix extraSpecialArgs = { - unstable = unstable-pkgs; + inherit unstable; }; }; checks = forAllSystems (system: { @@ -51,8 +144,10 @@ inherit (self.checks.${system}.pre-commit-check) shellHook; buildInputs = [ pkgs.nixfmt-rfc-style - ] ++ self.checks.${system}.pre-commit-check.enabledPackages; + ] + ++ self.checks.${system}.pre-commit-check.enabledPackages; }; }); + formatter.${system} = inputs.nixpkgs.legacyPackages.${system}.nixfmt-rfc-style; }; } diff --git a/noah-home.nix b/home.nix similarity index 93% rename from noah-home.nix rename to home.nix index 014c1e2..cb430fe 100644 --- a/noah-home.nix +++ b/home.nix @@ -1,15 +1,4 @@ -{ pkgs, lib, ... }: -let - unstable = import { - config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ - "jetbrains-toolbox" - "jetbrains.rust-rover" - "rust-rover" - "discord" - "plex" - ]; - }; -in +{ pkgs, lib, unstable, ... }: { home.packages = with pkgs; [ # main tool diff --git a/packages.nix b/packages.nix index fb501bc..d8b3d14 100644 --- a/packages.nix +++ b/packages.nix @@ -44,7 +44,7 @@ in # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - (pkgs.callPackage { }) + #(pkgs.callPackage { }) neovim appimage-run wget @@ -67,12 +67,12 @@ in # GPU stuff intel-gpu-tools - (ffmpeg-full.override { - withUnfree = true; - withMfx = false; - withSmallBuild = false; - withTensorflow = false; - }) + #(ffmpeg-full.override { + # withUnfree = true; + # withMfx = false; + # withSmallBuild = false; + # withTensorflow = false; + #}) libva libva-utils nvtopPackages.intel diff --git a/services.nix b/services.nix index 5c5c174..2ad8e69 100644 --- a/services.nix +++ b/services.nix @@ -1,35 +1,38 @@ { config , lib , pkgs +, unstable +, system , ... }: let - unstable = import { - config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ - "plexmediaserver" - "teamspeak-server" - ]; - overlays = [ - (final: prev: { - # Override the version of Plex installed to be the latest - plexRaw = prev.plexRaw.overrideAttrs rec { - version = "1.43.0.10346-fc911a729"; - src = final.fetchurl { - url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; - sha256 = "jfQ11luQoafUYb5sGpvE7jPiErGt2HXVLwn70M/Hqyc="; - }; - }; - ## Override the json object that contains verions and hashes for Immich - #immich = prev.immich.override { sourcesJSON = ./overrides/immich-sources.json; }; - ## Fix errors wit numpy version failing to resolve in the immich ML package - #immich-machine-learning = prev.immich-machine-learning.overrideAttrs - # (finalAttrs: prevAttrs: { - # pythonRelaxDeps = prevAttrs.pythonRelaxDeps ++ [ "numpy" ]; - # }); - }) - ]; - }; - _age = import { }; + #unstable = import unstable { + # inherit system; + # config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + # "plexmediaserver" + # "teamspeak-server" + # ]; + # overlays = [ + # (final: prev: { + # # Override the version of Plex installed to be the latest + # plexRaw = prev.plexRaw.overrideAttrs rec { + # version = "1.43.0.10346-fc911a729"; + # src = final.fetchurl { + # url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; + # sha256 = "jfQ11luQoafUYb5sGpvE7jPiErGt2HXVLwn70M/Hqyc="; + # }; + # }; + # ## Override the json object that contains verions and hashes for Immich + # #immich = prev.immich.override { sourcesJSON = ./overrides/immich-sources.json; }; + # ## Fix errors wit numpy version failing to resolve in the immich ML package + # #immich-machine-learning = prev.immich-machine-learning.overrideAttrs + # # (finalAttrs: prevAttrs: { + # # pythonRelaxDeps = prevAttrs.pythonRelaxDeps ++ [ "numpy" ]; + # # }); + # }) + # ]; + #}; + #age = import { }; in { @@ -136,6 +139,7 @@ in group = "nats"; serverName = "misaki"; dataDir = "/srv/shokuhou/applications/nats"; + validateConfig = false; settings = { authorization = { users = [ @@ -168,9 +172,9 @@ in ]; }; tls = { - cert_file = /srv/nats/nats.packetlost.dev/cert.pem; - key_file = /srv/nats/nats.packetlost.dev/key.pem; - ca_file = /srv/nats/minica.pem; + cert_file = "/srv/nats/nats.packetlost.dev/cert.pem"; + key_file = "/srv/nats/nats.packetlost.dev/key.pem"; + ca_file = "/srv/nats/minica.pem"; verify_and_map = true; }; jetstream = { @@ -210,7 +214,7 @@ in group = "nas"; }; services.syncthing = { - enable = true; + enable = false; openDefaultPorts = true; # disable the sync folder creation extraFlags = [ "--no-default-folder" ]; diff --git a/users.nix b/users.nix index 3089b21..85c3dc3 100644 --- a/users.nix +++ b/users.nix @@ -1,45 +1,38 @@ { pkgs, lib, ... }: -let - home-manager = builtins.fetchTarball - "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz"; -in { - - imports = [ - # Import home-manager first, it's required for other modules - (import "${home-manager}/nixos") - ]; # Declarative only optoins. # I don't want to allow ad-hoc modifying users on the system. # Users must be declared either as part of a package or in this file. users.mutableUsers = false; - # Define a user account. Don't forget to set a password with ‘passwd’. users.users.noah = { isNormalUser = true; shell = pkgs.fish; - extraGroups = [ "wheel" "video" "render" "nas" "nats" "litterbox" "httpd" ]; # Enable ‘sudo’ for the user. + extraGroups = [ + "wheel" + "video" + "render" + "nas" + "nats" + "litterbox" + "httpd" + ]; # Enable ‘sudo’ for the user. hashedPasswordFile = "/etc/nixos/noah-password"; - openssh.authorizedKeys.keys = - lib.strings.splitString "\n" (builtins.readFile (builtins.fetchurl { - url = "https://meta.sr.ht/~chiefnoah.keys"; - name = "chiefnoah.keys"; - # Update this with: - # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` - sha256 = "18x041l12wddzh071vr9kzlg751cf5qva36dp649zm5iv1x0mjyn"; - })); + openssh.authorizedKeys.keys = lib.strings.splitString "\n" ( + builtins.readFile ( + builtins.fetchurl { + url = "https://meta.sr.ht/~chiefnoah.keys"; + name = "chiefnoah.keys"; + # Update this with: + # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` + sha256 = "0s16lykn9ysd7wxqckhahqf8cjb9mv39ymf6xy0hb92nb40sfn68"; + } + ) + ); }; users.groups.nas.gid = 1001; users.groups.httpd.gid = 1002; users.groups.litterbox.gid = 1003; - - # I manage my home with home-manager - # Don't store packages in ~/.nix-profile, use /etc/profiles so we can build-vm - home-manager.useUserPackages = true; - # No more NIX_PATH, use system pkgs - home-manager.useGlobalPkgs = true; - - home-manager.users.noah = import ./noah-home.nix; }