Files
dafitt fcf5d26558 quadlets: migrate from certificates & traefik to pki & caddy
- clanServices/quadlets: remove traefik container
- flake: remove certificates clanService
- clan: add pki clanService
- clanServices/quadlets: change quadlets import to include
  quadlet-specific clanService-exports
- clanServices/quadlets: enable caddy
- quadlets: add caddy
- quadlets: migrate to include clanService-exports to specify endpoints
2026-04-15 19:44:02 +02:00

68 lines
2.3 KiB
Nix

{
inputs = {
clan-core.url = "https://git.clan.lol/clan/clan-core/archive/main.tar.gz";
nixpkgs.follows = "clan-core/nixpkgs";
flake-parts.url = "github:hercules-ci/flake-parts";
flake-parts.inputs.nixpkgs-lib.follows = "clan-core/nixpkgs";
impermanence.url = "github:nix-community/impermanence"; # https://github.com/nix-community/impermanence
quadlet-nix.url = "github:mirkolenz/quadlet-nix/v1"; # https://github.com/mirkolenz/quadlet-nix
quadlet-nix.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager"; # https://github.com/nix-community/home-manager
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } (
{ lib, ... }:
{
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
imports = [
inputs.clan-core.flakeModules.default
];
# https://docs.clan.lol
clan = {
imports = [ ./clan.nix ];
specialArgs = { inherit inputs; };
modules = {
"@schallerclan/dns" = lib.modules.importApply ./clanServices/dns.nix {
clanLib = inputs.clan-core.lib;
};
"@schallerclan/poweroff" = lib.modules.importApply ./clanServices/poweroff.nix;
"@schallerclan/quadlets" = lib.modules.importApply ./clanServices/quadlets.nix;
"@schallerclan/sleep" = lib.modules.importApply ./clanServices/sleep.nix;
"@schallerclan/tailscale" = lib.modules.importApply ./clanServices/tailscale.nix;
"@schallerclan/users" = lib.modules.importApply ./clanServices/users.nix;
"@schallerclan/wakeonlan" = lib.modules.importApply ./clanServices/wakeonlan.nix;
};
};
perSystem =
{ pkgs, inputs', ... }:
{
devShells.default = pkgs.mkShell {
packages = [
inputs'.clan-core.packages.clan-cli
(pkgs.writeScriptBin "proxyport" ''
#!${pkgs.fishMinimal}/bin/fish
math "0x$(echo -n $argv[1] | sha256sum | string sub --length=8) % 10000 + 20000"
'')
];
};
};
}
);
}