diff options
Diffstat (limited to 'modules/by-name')
| -rwxr-xr-x | modules/by-name/di/direnv/landrun-fish.sh | 6 | ||||
| -rw-r--r-- | modules/by-name/di/direnv/module.nix | 17 |
2 files changed, 19 insertions, 4 deletions
diff --git a/modules/by-name/di/direnv/landrun-fish.sh b/modules/by-name/di/direnv/landrun-fish.sh index 66add23a..2220db20 100755 --- a/modules/by-name/di/direnv/landrun-fish.sh +++ b/modules/by-name/di/direnv/landrun-fish.sh @@ -12,6 +12,7 @@ landrun \ --env IN_DIRENV_SANDBOX=true \ --env TMPDIR="$_new_tmp" \ --rox /nix/store \ + --rox /run/wrappers/bin/sudo \ --rw "$_new_tmp" \ --ro /etc/ \ --ro /proc/ \ @@ -20,8 +21,11 @@ landrun \ --rw "$HOME/.cache" \ --ro "$HOME/.local/share/nix/trusted-settings.json" \ --rw "$HOME/.local/share/nix/repl-history" \ + --rw "$HOME/.local/share/ssh/known_hosts" \ + --ro "$HOME/.local/share/ssh/id_ed25519.pub" \ --rw "$HOME/.local/share/task/" \ --rw "$HOME/.local/share/nvim/" \ + --rw "$HOME/.local/state/nvim/" \ --rw "$HOME/.local/share/cargo/" \ --rw "$HOME/.local/share/ctpv/" \ --rw "$HOME/.local/share/direnv/" \ @@ -30,8 +34,10 @@ landrun \ --ro "$HOME/.config/task/" \ --ro "$HOME/.config/nvim/" \ --ro "$HOME/.config/turtle/" \ + --ro "$HOME/.config/git/" \ --rwx "$PWD" \ --connect-tcp 80 \ + --connect-tcp 22 \ --connect-tcp 443 \ -- fish --login "$@" diff --git a/modules/by-name/di/direnv/module.nix b/modules/by-name/di/direnv/module.nix index 9c2975c3..fc800f35 100644 --- a/modules/by-name/di/direnv/module.nix +++ b/modules/by-name/di/direnv/module.nix @@ -52,10 +52,19 @@ in { ${direnvPkg} export fish | source end - function _direnv_hook --on-event fish_preexec --on-variable PWD - if not set --query IN_DIRENV_SANDBOX; and set --query SHOULD_SANDBOX_DIRENV; and ${direnvPkg} status | grep 'Found RC path' --invert-match | grep 'No .envrc or .env loaded' --quiet - # We found a rc path, but none are loaded. So we can start our shell. - ${lib.getExe landrun-fish} --interactive --command='_direnv_export_eval' + function _direnv_hook --on-variable PWD + if not set --query IN_DIRENV_SANDBOX; + and set --query SHOULD_SANDBOX_DIRENV; + and ${direnvPkg} status | grep 'Found RC path' --quiet; + and ${direnvPkg} status | grep 'No .envrc or .env loaded' --quiet + + # We found a RC path, but no RC file is loaded. So we can start our shell and + # load it. + ${lib.getExe landrun-fish} --init-command='_direnv_export_eval' + + # After the user exists (via Ctrl+D), they probably want to change the + # directory. + ll else _direnv_export_eval end |
