aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rwxr-xr-xmodules/by-name/di/direnv/landrun-fish.sh6
-rw-r--r--modules/by-name/di/direnv/module.nix17
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