diff --git a/clan.nix b/clan.nix index 0c3f47d..ae8cbb9 100644 --- a/clan.nix +++ b/clan.nix @@ -1,58 +1,29 @@ { # Ensure this is unique among all clans you want to use. - meta.name = "__CHANGE_ME__"; - meta.tld = "changeme"; + meta.name = "nut-clan"; + meta.tld = "nut"; inventory.machines = { - # Define machines here. - # jon = { }; + yadunut-mbp.machineClass = "darwin"; }; - # Docs: See https://docs.clan.lol/reference/clanServices - inventory.instances = { - - # Docs: https://docs.clan.lol/reference/clanServices/admin/ - # Admin service for managing machines - # This service adds a root password and SSH access. - admin = { - roles.default.tags.all = { }; - roles.default.settings.allowedKeys = { - # Insert the public key that you want to use for SSH access. - # All keys will have ssh access to all machines ("tags.all" means 'all machines'). - # Alternatively set 'users.users.root.openssh.authorizedKeys.keys' in each machine - "admin-machine-1" = "__YOUR_PUBLIC_KEY__"; - }; - }; - - # Docs: https://docs.clan.lol/reference/clanServices/zerotier/ - # The lines below will define a zerotier network and add all machines as 'peer' to it. - # !!! Manual steps required: - # - Define a controller machine for the zerotier network. - # - Deploy the controller machine first to initialize the network. - zerotier = { - # Replace with the name (string) of your machine that you will use as zerotier-controller - # See: https://docs.zerotier.com/controller/ - # Deploy this machine first to create the network secrets - roles.controller.machines."__YOUR_CONTROLLER__" = { }; - # Peers of the network - # tags.all means 'all machines' will joined - roles.peer.tags.all = { }; - }; - - # Docs: https://docs.clan.lol/reference/clanServices/tor/ - # Tor network provides secure, anonymous connections to your machines - # All machines will be accessible via Tor as a fallback connection method - tor = { - roles.server.tags.nixos = { }; - }; - }; + inventory.instances = { }; # Additional NixOS configuration can be added here. # machines/jon/configuration.nix will be automatically imported. # See: https://docs.clan.lol/guides/more-machines/#automatic-registration machines = { - # jon = { config, ... }: { - # environment.systemPackages = [ pkgs.asciinema ]; - # }; + "yadunut-mbp" = { + nixpkgs.hostPlatform = "aarch64-darwin"; + clan.core.networking.targetHost = "root@localhost"; + system.stateVersion = 6; + nix.enable = false; + users.users."yadunut".openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJXOpmWsAnl2RtOuJJMRUx+iJTwf2RWJ1iS3FqXJFzFG" + ]; + users.users."root".openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJXOpmWsAnl2RtOuJJMRUx+iJTwf2RWJ1iS3FqXJFzFG" + ]; + }; }; } diff --git a/flake.lock b/flake.lock index 9152806..dec7da1 100644 --- a/flake.lock +++ b/flake.lock @@ -14,11 +14,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1761923489, - "narHash": "sha256-hdN5xtX0uT1F8UXklGVqyiJViBFaLj/Tl+O5I5ylNQo=", - "rev": "0c885d05b62961fdd3e5768e337e8f8a507474c6", + "lastModified": 1762113984, + "narHash": "sha256-Gwah5F3ONMhvTYbsnJM4bAv0qcaI3wjz1Nq0rBGWVgo=", + "rev": "0f847b4799deee4a2c878ba69bda9c446fe16177", "type": "tarball", - "url": "https://git.clan.lol/api/v1/repos/clan/clan-core/archive/0c885d05b62961fdd3e5768e337e8f8a507474c6.tar.gz" + "url": "https://git.clan.lol/api/v1/repos/clan/clan-core/archive/0f847b4799deee4a2c878ba69bda9c446fe16177.tar.gz" }, "original": { "type": "tarball", @@ -81,11 +81,11 @@ ] }, "locked": { - "lastModified": 1760948891, - "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", + "lastModified": 1762040540, + "narHash": "sha256-z5PlZ47j50VNF3R+IMS9LmzI5fYRGY/Z5O5tol1c9I4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", + "rev": "0010412d62a25d959151790968765a70c436598b", "type": "github" }, "original": { @@ -102,11 +102,11 @@ ] }, "locked": { - "lastModified": 1761339987, - "narHash": "sha256-IUaawVwItZKi64IA6kF6wQCLCzpXbk2R46dHn8sHkig=", + "lastModified": 1762039661, + "narHash": "sha256-oM5BwAGE78IBLZn+AqxwH/saqwq3e926rNq5HmOulkc=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "7cd9aac79ee2924a85c211d21fafd394b06a38de", + "rev": "c3c8c9f2a5ed43175ac4dc030308756620e6e4e4", "type": "github" }, "original": { @@ -146,10 +146,10 @@ "nixpkgs": { "locked": { "lastModified": 315532800, - "narHash": "sha256-yDxtm0PESdgNetiJN5+MFxgubBcLDTiuSjjrJiyvsvM=", - "rev": "d7f52a7a640bc54c7bb414cca603835bf8dd4b10", + "narHash": "sha256-LDT9wuUZtjPfmviCcVWif5+7j4kBI2mWaZwjNNeg4eg=", + "rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386", "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre871443.d7f52a7a640b/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre887438.a7fc11be66bd/nixexprs.tar.xz" }, "original": { "type": "tarball", diff --git a/flake.nix b/flake.nix index 340c1b7..a602873 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,12 @@ }; in { - inherit (clan.config) nixosConfigurations nixosModules clanInternals; + inherit (clan.config) + nixosConfigurations + nixosModules + darwinConfigurations + clanInternals + ; clan = clan.config; # Add the Clan cli tool to the dev shell. # Use "nix develop" to enter the dev shell. @@ -30,10 +35,20 @@ "aarch64-darwin" "x86_64-darwin" ] - (system: { - default = clan-core.inputs.nixpkgs.legacyPackages.${system}.mkShell { - packages = [ clan-core.packages.${system}.clan-cli ]; - }; - }); + ( + system: + + let + pkgs = import nixpkgs { inherit system; }; + in + { + default = clan-core.inputs.nixpkgs.legacyPackages.${system}.mkShell { + packages = [ + clan-core.packages.${system}.clan-cli + pkgs.nil + ]; + }; + } + ); }; }