You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On a nix system the main ASDF static script files are in a read only directory under the nix store which is generated on building the environment. All files that require write permissions and are generated are taken care by XDG and ASDF environment variables storing then under the users home directory..
However, there is one issue that I have found which is setting ASDF global.
The issue here is that sed wants to create a temporary file under the nix store.
A fix would be to make it use the system's temporary directory and/or add an ASDF environment variable to set it manually
(maybe .asdfrc aswell)
Steps to Reproduce
setup nix
install asdf via nixpkgs
install asdf-python plugin
install python 3.11.3 via asdf
asdf global python python 3.11.3
Expected Behaviour
To set python (or other specified plugin and version ) as the global version
Actual Behaviour
asdf global python 3.11.3
sed: couldn't open temporary file /nix/store/496bar1jwx2a646wnyqzhvqw8iq3pz8i-home-manager-files/sed3ylRgw: Permission denied
Environment
> asdf info
OS:
Darwin Andrews-MBP 22.5.0 Darwin Kernel Version 22.5.0: Mon Apr 24 20:53:44 PDT 2023; root:xnu-8796.121.2~5/RELEASE_ARM64_T8103 arm64
SHELL:
zsh 5.9 (aarch64-apple-darwin21.6.0)
ASDF VERSION:
v0.11.3
ASDF ENVIRONMENT VARIABLES:
ASDF_DATA_DIR=/Users/andrew/.local/share/asdf
ASDF_DIR=/nix/store/hymd5xkvyjr76ppw3pwf2plnzyp0yspa-asdf-vm-0.11.3/share/asdf-vm
ASDF_CONFIG_FILE=/Users/andrew/.config/asdf/asdfrc
ASDF INSTALLED PLUGINS:
nodejs
python
rust
# --------------------------------------------------------> nix-info -m
- system: `"aarch64-darwin”` - host os: `Darwin 22.5.0, macOS 13.4` - multi-user?: `yes` - sandbox: `no` - version: `nix-env (Nix) 2.13.3` - channels(andrew): `””` - channels(root): `””` - nixpkgs: `/nix/store/w18hyx1dwk4pa591rjyv5g6w0ayf3qcz-source`# ------------------------------------------------------------------>echo$TMPDIR/var/folders/tg/wd1yw6m12mz7vyb1nw2wz9n80000gn/T/# ------------------------------------------------------------------> sed --versionsed (GNU sed) 4.9# ------------------------------------------------------------------> which sed/run/current-system/sw/bin/sed which is a symbolic link to the nix store /run/current-system/sw/bin/sed -> /nix/store/c3g4kbjz47jksvzid2qarxnx8mqdacr1-gnused-4.9/bin/sed# -------------------------------------------------------------------The directory Sed tried to write to is in fact root of nix home-managers Applications directory under nix store. /nix/store/496bar1jwx2a646wnyqzhvqw8iq3pz8i-home-manager-files/this contains "Applications/Home manager Apps" which is symbolically linked to the main macOS Applications directory. I have no idea why sed is trying to temporary store data here.
asdf plugins affected (if relevant)
seems to be most if not all plugins
I think its asdf itself.
The text was updated successfully, but these errors were encountered:
Describe the Bug
On a nix system the main ASDF static script files are in a read only directory under the nix store which is generated on building the environment. All files that require write permissions and are generated are taken care by XDG and ASDF environment variables storing then under the users home directory..
However, there is one issue that I have found which is setting ASDF global.
The issue here is that sed wants to create a temporary file under the nix store.
A fix would be to make it use the system's temporary directory and/or add an ASDF environment variable to set it manually
(maybe .asdfrc aswell)
Steps to Reproduce
Expected Behaviour
To set python (or other specified plugin and version ) as the global version
Actual Behaviour
Environment
asdf plugins affected (if relevant)
seems to be most if not all plugins
I think its asdf itself.
The text was updated successfully, but these errors were encountered: