summaryrefslogtreecommitdiff
path: root/hostnix/mojo/flake.nix
diff options
context:
space:
mode:
authorJoe Mou <dev@mou.fo>2026-03-17 19:45:31 -0400
committerJoe Mou <dev@mou.fo>2026-03-17 19:46:16 -0400
commitcdaa324b510f5ddbb11c7d19b20e2750d1e5cff0 (patch)
treef78f56a2bbe21ac1a512a01e42c9bbdf88c8e9a4 /hostnix/mojo/flake.nix
parent1cebf605994cf506f933e5ad33a863061eb2a1a8 (diff)
Initial nix-darwin flake for mojo
Diffstat (limited to 'hostnix/mojo/flake.nix')
-rw-r--r--hostnix/mojo/flake.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/hostnix/mojo/flake.nix b/hostnix/mojo/flake.nix
new file mode 100644
index 0000000..913d702
--- /dev/null
+++ b/hostnix/mojo/flake.nix
@@ -0,0 +1,46 @@
+{
+ description = "nix-darwin system flake";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-25.11-darwin";
+ nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+ nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
+ 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;
+ };
+ in
+ [
+ pkgsUnstable.claude-code
+ pkgsUnstable.jujutsu
+ ];
+
+ 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";
+
+ nixpkgs.config.allowUnfree = true;
+ };
+ in
+ {
+ darwinConfigurations.mojo = nix-darwin.lib.darwinSystem {
+ modules = [ configuration ];
+ };
+ };
+}