diff --git a/pkgs/vivado/vivado.nix b/pkgs/vivado/vivado.nix index 73f95c0..30b0710 100644 --- a/pkgs/vivado/vivado.nix +++ b/pkgs/vivado/vivado.nix @@ -6,19 +6,7 @@ lib, passt, runtimeShell, - enableMacSpoofing ? false, - macAddress ? - if enableMacSpoofing then - lib.warn '' - In order for licensing to work, you need to manually provide your licensed machine's MAC address. - This can be done in two ways: - a) Set an env var `XILINX_NIC_ID=xx:xx:xx:xx:xx:xx` - b) Override the package `(vivado.override { macAddress = "xx:xx:xx:xx:xx:xx"; })` - If both are configured, the environment variable takes precedence. - Run `vlm` to see the current licensing status of your installation. - '' "aa:aa:aa:aa:aa:aa" - else - null, + macAddress ? null, # also controlled by XILINX_NIC_ID env var extraProfile ? "", extraPkgs ? pkgs: [ ], @@ -316,36 +304,35 @@ buildFHSEnv (finalAttrs: rec { "--cap-add CAP_NET_ADMIN" "--cap-add CAP_NET_BIND_SERVICE" ]; - profile = - let - XILINX_NIC_ID = lib.optionalString enableMacSpoofing '' - : ''${XILINX_NIC_ID:=${macAddress}} - export XILINX_NIC_ID - ''; - in - '' - ${XILINX_NIC_ID} - export LC_NUMERIC="en_US.UTF-8" - export GDK_BACKEND=x11 - export DISPLAY="''${DISPLAY:-:0}" - export _JAVA_AWT_WM_NONREPARENTING=1 - export ELECTRON_OZONE_PLATFORM_HINT=x11 - source ${unwrapped}/opt/Xilinx/${version}/Vivado/settings64.sh - '' - + extraProfile; - runScript = - if enableMacSpoofing then - (lib.concatStringsSep " " [ - "${passt}/bin/pasta" - "--ns-mac-addr $XILINX_NIC_ID" - "--hostname $(hostname)" - "--runas $(whoami)" - "--ns-ifname eth0" - "--config-net" - "--netns-only" - ]) - else - ""; + profile = '' + ${lib.optionalString (!(isNull macAddress)) '' + : ''${XILINX_NIC_ID:=${macAddress}} + ''} + export LC_NUMERIC="en_US.UTF-8" + export GDK_BACKEND=x11 + export DISPLAY="''${DISPLAY:-:0}" + export _JAVA_AWT_WM_NONREPARENTING=1 + export ELECTRON_OZONE_PLATFORM_HINT=x11 + source ${unwrapped}/opt/Xilinx/${version}/Vivado/settings64.sh + init_cmd=() + if ! [ -z "''${XILINX_NIC_ID}" ]; then + init_cmd+=( + '${passt}/bin/pasta' + '--ns-mac-addr' + "$XILINX_NIC_ID" + '--hostname' + "$(hostname)" + '--runas' + "$(whoami)" + '--ns-ifname' + 'eth0' + '--config-net' + '--netns-only' + ) + fi + '' + + extraProfile; + runScript = ''''${init_cmd[@]}''; inherit (unwrapped) meta; })