{ config, pkgs, ... }: let domain = "kennys.mom"; headplanePort = 3000; cookieSecret = "iQ0bUyaFgwaijWaSyZ1ILA9RwfywrbZ3"; yamlData = { server = { host = "0.0.0.0"; port = headplanePort; cookie_secret = cookieSecret; cookie_secure = false; }; headscale = { url = "https://headscale.${domain}"; config_path = "/var/lib/headscale/config.yaml"; config_strict = true; }; integration = { proc = { enabled = true; }; }; }; yamlFormat = pkgs.formats.yaml { }; configFile = yamlFormat.generate "headplane.yaml" yamlData; headplane = pkgs.stdenv.mkDerivation { pname = "headplane"; version = "test"; src = pkgs.fetchFromGitHub { owner = "dahjah"; repo = "headplane"; rev = "test"; sha256 = "1vs2cdh1w30cfrdf428k066chkh0ag03byrbr8c1i69984jq0jqv"; }; buildInputs = [ pkgs.nodejs_22 (pkgs.yarn.override { nodejs = pkgs.nodejs_22; }) ]; installPhase = '' export HOME=$PWD export PATH=${pkgs.nodejs_22}/bin:$PATH yarn install --ignore-engines --frozen-lockfile || yarn install --ignore-engines --network-concurrency 1 --frozen-lockfile yarn build mkdir -p $out/share/headplane cp -r build/* $out/share/headplane/ mkdir -p $out/bin cat > $out/bin/headplane <