This repository has no description
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788{ config, lib, inputs, system, ...}:let cfg = config.z34.homelabServer;in{ options.z34.homelabServer = with lib; { enable = mkEnableOption "Enable homelabServer"; forgejo = mkOption { type = types.bool; default = false; description = "Enable forgejo"; }; hostname = mkOption { type = types.str; description = "Hostname for the homelab server"; }; ipAddr = mkOption { type = types.str; description = "IP address for the homelab server"; }; nic = mkOption { type = types.str; description = "Network interface card"; default = "ens18"; }; ollama = mkOption { type = types.bool; default = false; description = "Enable ollama"; }; hypervisor = mkOption { type = types.bool; default = false; description = "Enable hypervisor"; }; };
config = lib.mkIf cfg.enable { services.nginx.enable = cfg.forgejo; networking.hostName = cfg.hostname; environment.systemPackages = [ inputs.agenix.packages.${system}.default ]; z34.network-discovery.enable = true; z34 = { ollama.enable = cfg.ollama; cluster.enable = true; forgejo.enable = cfg.forgejo; static-addr = { enable = true; nic = cfg.nic; hostname = cfg.hostname; ipAddr = cfg.ipAddr; }; hypervisor.enable = cfg.hypervisor; }; services.tangled.knot = { enable = true; package = inputs.tangled.packages.${system}.knot; appviewEndpoint = "https://knot.lab.parsed.blue"; server = { owner = "did:plc:lmbqdiakhujyhxeursbhbmpz"; hostname = "knot.lab.parsed.blue"; dev = true; }; }; };
imports = [ ./linux.nix ./features/cluster.nix ./features/email.nix ./features/network-discovery.nix ./features/static-addr.nix ./features/forgejo.nix ./features/kube-master.nix ./features/kube-node.nix ./features/ollama.nix ./features/hypervisor.nix inputs.agenix.nixosModules.default inputs.tangled.nixosModules.knot ];}