diff --git a/bin/wg-add-external-qrcode b/bin/wg-add-external-qrcode index bd0910627680e897ffe924e37389c9706ed46f74..aefe0d09b458a663a1c88ea248fc4e31dc0a4c18 100755 --- a/bin/wg-add-external-qrcode +++ b/bin/wg-add-external-qrcode @@ -32,7 +32,7 @@ fi hostname=$1 -readonly config_file_path="$MACHINES_PATH/external/$hostname/wg_gateway.json" +readonly config_file_path="$MACHINES_PATH/external/$hostname/qnet.json" if [[ ! -f $config_file_path ]] then diff --git a/configuration.nix b/configuration.nix index e5a3d1aef75e0d535b8d1529201715dc58694fd2..96239da55c29a134b8317eb52926f8eab590b384 100644 --- a/configuration.nix +++ b/configuration.nix @@ -2,6 +2,7 @@ { name, path, channel, isIso, extraLayersDir, flakeInputs, flakeOutputs, system, extraOverlays }: { lib, config, pkgs, ... }: +with lib; let installResult = builtins.fromJSON (builtins.readFile (path + "/install-result.json")); @@ -83,4 +84,17 @@ in # Default hostname ist machine directory name networking.hostName = lib.mkDefault name; + + queezle.qnet = + let + qnetFile = path + "/qnet.json"; + exists = builtins.pathExists qnetFile; + qnet = if exists then builtins.fromJSON (builtins.readFile qnetFile) else null; + in if exists then { + enable = mkDefault true; + address = mkDefault qnet.address; + allowedIPs = mkDefault qnet.allowedIPs; + peerEndpoint = mkDefault qnet.peerEndpoint; + publicKey = mkDefault qnet.publicKey; + } else {}; } diff --git a/machine-manager.nix b/machine-manager.nix index 2db4f4754fdf5ebefba366e079e7558553389a46..8bbd9019c916ac9ac28b4c300756f9e297375726 100644 --- a/machine-manager.nix +++ b/machine-manager.nix @@ -1,7 +1,7 @@ # applied by this repositories flake { flakeInputs, flakeOutputs }: # applied by outer flake -{ extraFlakeInputs, extraFlakeOutputs, machinesDir, extraLayersDir, extraOverlays ? [] }: +{ extraFlakeInputs, extraFlakeOutputs, machinesDir, extraModules, extraLayersDir, extraOverlays ? [] }: with builtins; with flakeInputs.nixpkgs.lib; @@ -35,6 +35,7 @@ let flakeOutputs = finalFlakeOutputs; channel = machineChannels.${name}; }) + extraModules ] ++ optional isMobileNixos (import "${flakeInputs.mobile-nixos}/lib/configuration.nix" { device = mobileNixosDevice; }); _module.args.flakeInputs = finalFlakeInputs; _module.args.flakeOutputs = finalFlakeOutputs;