{ config, lib, pkgs, self, ... }: let cfg = config.jopejoe1.nix; in { options.jopejoe1.nix = { enable = lib.mkEnableOption "Enable Nix"; }; config = lib.mkIf cfg.enable { nix = { settings = { substituters = [ "https://cache.nixos.org" "https://nix-community.cachix.org" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; trusted-users = [ "root" ]; sandbox = true; require-sigs = true; max-jobs = "auto"; auto-optimise-store = true; allowed-users = [ "*" ]; experimental-features = [ "nix-command" "flakes" ]; warn-dirty = false; use-xdg-base-directories = true; }; package = pkgs.nix; registry = { home-manager.flake = self.inputs.home-manager; nixos-hardware.flake = self.inputs.nixos-hardware; nur.flake = self.inputs.nur; system.flake = self; nixpkgs.to = { type = "path"; path = pkgs.path; }; }; nixPath = [ "nixpkgs=${self.inputs.nixpkgs}" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]; }; environment.systemPackages = with pkgs; [ deploy-rs nixfmt nixpkgs-fmt nix-index nix-prefetch-git nixpkgs-review nurl nix-init ]; home-manager = { useGlobalPkgs = true; useUserPackages = true; backupFileExtension = "backup"; }; system.stateVersion = "24.05"; services.openssh.enable = true; }; }