From 6785a10d67d98ea2c7a364e21a0d88870f932014 Mon Sep 17 00:00:00 2001 From: nikita-ty754 Date: Mon, 8 Sep 2025 12:41:11 +0300 Subject: [PATCH 1/3] Added support for custom nix shell --- mobala-lib.sh | 10 ++++++++++ mobala.sh | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/mobala-lib.sh b/mobala-lib.sh index a3a6436..78ea8a4 100755 --- a/mobala-lib.sh +++ b/mobala-lib.sh @@ -59,12 +59,22 @@ export NIXIFIED=${NIXIFIED:-0} function nixify() { read -r -a args <<< "$(grep -v '^\s*$' $MOBALA_KEEP | grep -v '#' | sed "s/^/--keep /;s/$/ /" | tr '\n' ' ')" + local func_args=("$@") + local dev_shell=".#default" + local last_index=$(( ${#func_args[@]} - 1 )) + local last_arg="${func_args[$last_index]}" + + if [[ -n "$last_arg" ]]; then + dev_shell=".#$last_arg" + fi + if [[ -z "${IN_NIX_SHELL+x}" ]]; then echo "[info] Restarting in Nix..." export NIXIFIED=1 nix flake lock nix flake metadata exec nix develop \ + $dev_shell \ --ignore-environment \ --keep HOME \ --keep NIXIFIED \ diff --git a/mobala.sh b/mobala.sh index 0fcb671..8e03ef3 100755 --- a/mobala.sh +++ b/mobala.sh @@ -36,9 +36,14 @@ while [[ $idx -lt $arguments_length ]] ; do case "$arg" in --nix) idx=$((idx+1)) - shift && nixify "$@" + shift && nixify "$@" "" ;; + --nix=*) + dev_shell="${arg#--nix=}" + shift && nixify "$@" $dev_shell + ;; + --help) idx=$((idx+1)) print-help From 7ceb0011bf4eafea6488490ba3eac3553d5e255d Mon Sep 17 00:00:00 2001 From: ntyshchenko-playq Date: Mon, 8 Sep 2025 12:53:00 +0300 Subject: [PATCH 2/3] ref --- mobala-lib.sh | 7 +++---- mobala.sh | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/mobala-lib.sh b/mobala-lib.sh index 78ea8a4..68bdf40 100755 --- a/mobala-lib.sh +++ b/mobala-lib.sh @@ -60,13 +60,12 @@ function nixify() { read -r -a args <<< "$(grep -v '^\s*$' $MOBALA_KEEP | grep -v '#' | sed "s/^/--keep /;s/$/ /" | tr '\n' ' ')" local func_args=("$@") - local dev_shell=".#default" local last_index=$(( ${#func_args[@]} - 1 )) local last_arg="${func_args[$last_index]}" + local dev_shell=".#$last_arg" - if [[ -n "$last_arg" ]]; then - dev_shell=".#$last_arg" - fi + echo "Dev Shell: " + echo $dev_shell if [[ -z "${IN_NIX_SHELL+x}" ]]; then echo "[info] Restarting in Nix..." diff --git a/mobala.sh b/mobala.sh index 8e03ef3..206635f 100755 --- a/mobala.sh +++ b/mobala.sh @@ -36,7 +36,7 @@ while [[ $idx -lt $arguments_length ]] ; do case "$arg" in --nix) idx=$((idx+1)) - shift && nixify "$@" "" + shift && nixify "$@" "default" ;; --nix=*) From 54cc8617bb4dc04f1272526ff8ec54dcf53f7c38 Mon Sep 17 00:00:00 2001 From: ntyshchenko-playq Date: Mon, 8 Sep 2025 12:53:30 +0300 Subject: [PATCH 3/3] ref --- mobala-lib.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/mobala-lib.sh b/mobala-lib.sh index 68bdf40..2981a14 100755 --- a/mobala-lib.sh +++ b/mobala-lib.sh @@ -64,9 +64,6 @@ function nixify() { local last_arg="${func_args[$last_index]}" local dev_shell=".#$last_arg" - echo "Dev Shell: " - echo $dev_shell - if [[ -z "${IN_NIX_SHELL+x}" ]]; then echo "[info] Restarting in Nix..." export NIXIFIED=1