public-clan/flake.nix

64 lines
2.3 KiB
Nix

{
description = "These are some clan machines which all connect to a public clan network";
inputs.clan-core.url = "git+https://git.clan.lol/clan/clan-core";
outputs =
{ self, clan-core, ... }@inputs:
{
inherit
(clan-core.lib.buildClan {
clanName = "democlan";
directory = self;
machines = {
localsend =
{ pkgs, lib, ... }:
{
imports = [ inputs.clan-core.clanModules.waypipe ];
clanCore.machineDescription = "play around with localsend";
clanCore.machineIcon = "${pkgs.localsend}/share/icons/hicolor/512x512/apps/localsend.png";
clanCore.facts.secretStore = "vm";
clanCore.facts.publicStore = "vm";
clan.services.waypipe.enable = true;
clan.networking.zerotier.networkId = "a0cbf4b62a5113d8";
environment.systemPackages = [ pkgs.localsend ];
networking.firewall.interfaces."zt+".allowedTCPPorts = [ 53317 ];
clan.services.waypipe.command = [ (lib.getExe pkgs.localsend) ];
};
};
})
clanInternals
nixosConfigurations
;
devShells.x86_64-linux.default =
clan-core.inputs.nixpkgs.legacyPackages.x86_64-linux.mkShellNoCC
{ packages = [ inputs.clan-core.packages.x86_64-linux.clan-cli ]; };
packages.x86_64-linux.default =
clan-core.inputs.nixpkgs.legacyPackages.x86_64-linux.writeScriptBin "clan"
''
set -euo pipefail
${
clan-core.inputs.nixpkgs.legacyPackages.x86_64-linux.lib.getExe
inputs.clan-core.packages.x86_64-linux.clan-cli
} --flake ${self} vms run $@
'';
packages.aarch64-linux.default =
clan-core.inputs.nixpkgs.legacyPackages.aarch64-linux.writeScriptBin "clan"
''
set -euo pipefail
${
clan-core.inputs.nixpkgs.legacyPackages.aarch64-linux.lib.getExe
inputs.clan-core.packages.aarch64-linux.clan-cli
} --flake ${self} vms run $@
'';
devShells.aarch64-linux.default =
clan-core.inputs.nixpkgs.legacyPackages.aarch64-linux.mkShellNoCC
{ packages = [ inputs.clan-core.packages.aarch64-linux.clan-cli ]; };
};
}