From 1c9249426a274884f8104e26ca63e4b3b3578687 Mon Sep 17 00:00:00 2001 From: Joe Mou Date: Mon, 13 Apr 2026 20:47:25 -0400 Subject: mojo: Refactor --- hostnix/mojo/flake.nix | 105 +++++++++++++++++-------------------------------- 1 file changed, 35 insertions(+), 70 deletions(-) (limited to 'hostnix/mojo/flake.nix') diff --git a/hostnix/mojo/flake.nix b/hostnix/mojo/flake.nix index 9c6ca1c..319dfad 100644 --- a/hostnix/mojo/flake.nix +++ b/hostnix/mojo/flake.nix @@ -8,79 +8,44 @@ nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = inputs@{ self, nix-darwin, nixpkgs, nixpkgs-unstable }: - let - configuration = { pkgs, ... }: { - environment.systemPackages = let - # TODO is there a better way to do this? - pkgsUnstable = import nixpkgs-unstable { - localSystem = pkgs.stdenv.system; - config.allowUnfree = true; + outputs = + inputs@{ + self, + nix-darwin, + nixpkgs, + nixpkgs-unstable, + }: + let + configuration = + { pkgs, pkgsUnstable, ... }: + { + nix.settings.experimental-features = "nix-command flakes"; + + # Set Git commit hash for darwin-version. + system.configurationRevision = self.rev or self.dirtyRev or null; + + # Used for backwards compatibility, please read the changelog before changing. + # $ darwin-rebuild changelog + system.stateVersion = 6; + + # The platform the configuration will be used on. + nixpkgs.hostPlatform = "aarch64-darwin"; }; - in - [ - pkgs.direnv - pkgs.nix-direnv - (pkgs.writeShellScriptBin "claude" '' - exec /usr/bin/sandbox-exec -f ${self}/claude.sb \ - -D TARGET_DIR=$HOME/src \ - -D TMP_DIR=/tmp \ - -D HOME_DIR=$HOME \ - -D CACHE_DIR=$HOME/.cache \ - ${pkgsUnstable.claude-code}/bin/claude \ - --allow-dangerously-skip-permissions "$@" - '') - pkgsUnstable.jujutsu - ]; - - # $ chsh -s /run/current-system/sw/bin/bash - environment.shells = [ pkgs.bashInteractive ]; - programs.bash.completion.enable = true; - - nix.settings.experimental-features = "nix-command flakes"; - - system.primaryUser = "joe"; - - # Set Git commit hash for darwin-version. - system.configurationRevision = self.rev or self.dirtyRev or null; - - # Used for backwards compatibility, please read the changelog before changing. - # $ darwin-rebuild changelog - system.stateVersion = 6; - - # The platform the configuration will be used on. - nixpkgs.hostPlatform = "aarch64-darwin"; - - nixpkgs.config.allowUnfree = true; - }; - - apps = { pkgs, ... }: { - homebrew = { - enable = true; - # Enable after nix-darwin 25.11 - # enableBashIntegration = true; - caskArgs.require_sha = true; - onActivation.cleanup = "uninstall"; - brews = [ "mas" ]; - casks = [ - # Swap Command/Option, simulate fn, default fn1-12, reverse scroll. - "karabiner-elements" - # Scroll by lines and universal back/forward. - "linearmouse" - ]; - masApps = { - "Ghostery Privacy Ad Blocker" = 6504861501; - "Kagi for Safari" = 1622835804; - "KeePassium (KeePass passwords)" = 1435127111; - Xcode = 497799835; + in + { + darwinConfigurations.mojo = nix-darwin.lib.darwinSystem { + specialArgs = { + pkgsUnstable = import nixpkgs-unstable { + system = "aarch64-darwin"; + config.allowUnfree = true; + }; }; + modules = [ + configuration + ./modules/apps.nix + ./modules/system.nix + ]; }; }; - in - { - darwinConfigurations.mojo = nix-darwin.lib.darwinSystem { - modules = [ configuration apps ]; - }; - }; } -- cgit v1.3.1