termux: create .nix-defexpr/channels/nixpkgs/.keep via activation (home-manager cannot link into symlinked dir)

This commit is contained in:
2026-08-07 03:35:19 +03:00
parent 58c6e5d48e
commit d5d62393e3
2 changed files with 11 additions and 4 deletions
-4
View File
@@ -62,10 +62,6 @@
".ssh/authorized_keys".text = ''
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKduJia+unaQQdN6X5syaHvnpIutO+yZwvfiCP4qKQ/P
'';
# nix-on-droid's session-init adds ~/.nix-defexpr/channels to NIX_PATH
# unconditionally; nix warns about the missing dir on every invocation.
# Making it exist silences the warning.
".nix-defexpr/channels/nixpkgs/.keep".text = "";
};
};
programs = {
+11
View File
@@ -49,6 +49,17 @@ in
fi
'';
# nix-on-droid's session-init adds ~/.nix-defexpr/channels to NIX_PATH
# unconditionally; nix warns about the missing dir on every invocation.
# Making it exist silences the warning. Must be done in activation (not
# home-manager): ~/.nix-defexpr/channels is a symlink into
# ~/.local/state/nix/profiles/channels, which home-manager cannot link
# into.
build.activation.nixdefexpr = ''
$DRY_RUN_CMD mkdir -p "${config.user.home}/.nix-defexpr/channels/nixpkgs"
$DRY_RUN_CMD touch "${config.user.home}/.nix-defexpr/channels/nixpkgs/.keep"
'';
# runit service tree: ~/service/<name>/{run,log/run}. run/ and log/run are
# symlinks into the nix store (read-only is fine; runsvdir writes only to
# the <name>/supervise dirs). /etc/service is symlinked for `sv status`.