{ pkgs, config, lib, ... }: { nix = { package = pkgs.nix; # SEE: https://github.com/NixOS/nix/issues/4119#issuecomment-1734738812 settings.sandbox = "relaxed"; extraOptions = '' experimental-features = nix-command flakes repl-flake extra-platforms = x86_64-darwin aarch64-darwin x86_64-linux ''; }; # Right now the documentation build is broken. # TODO(jwall): Add this back when they work again. documentation.enable = false; # I'm not a zealot about this one. nixpkgs.config.allowUnfree = true; nixpkgs.overlays = [ (self: super: { neovim = super.neovim.override { viAlias = true; vimAlias = true; }; }) ]; # TODO(zaphar): Move this to a module. launchd.user.agents.ipfs = { serviceConfig = { ProgramArguments = [ "${pkgs.kubo}/bin/ipfs" "daemon" "--init" ]; KeepAlive = true; RunAtLoad = true; }; }; services.node-exporter.enable = true; services.prometheus.enable = true; # TODO launchd.user.agents.prometheus; # Use a custom configuration.nix location. # $ darwin-rebuild switch -I darwin-config=$HOME/.config/nixpkgs/darwin/configuration.nix # environment.darwinConfig = "$HOME/.config/nixpkgs/darwin/configuration.nix"; # Auto upgrade nix package and the daemon service. services.nix-daemon.enable = true; #services.spacebar.enable = true; #services.spacebar.package = "${pkgs.spacebar}"; # Create /etc/bashrc that loads the nix-darwin environment. # programs.bash.enable = true; # default shell on catalina # programs.fish.enable = true; system.defaults = { finder.AppleShowAllExtensions = true; }; system.systemBuilderArgs = lib.mkIf (config.nix.settings.sandbox == "relaxed") { sandboxProfile = '' (allow file-read* file-write* process-exec mach-lookup (subpath "${builtins.storeDir}")) ''; }; # Used for backwards compatibility, please read the changelog before changing. # $ darwin-rebuild changelog system.stateVersion = 4; }