summaryrefslogtreecommitdiffstats
path: root/modules/by-name/ni/nix/nix_wrapper.sh
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-11-06 19:00:07 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-11-06 19:00:59 +0100
commit2da934cf5fafbac67e9cff15a7936ebf589c43c6 (patch)
tree3dbc04e783e59e1ab9cc1eabc2ec0f158713c431 /modules/by-name/ni/nix/nix_wrapper.sh
parentmodules/rofi: Change configured terminal to foot (diff)
downloadnixos-config-2da934cf5fafbac67e9cff15a7936ebf589c43c6.zip
modules/nix: Make the nix wrapper actually work
Diffstat (limited to '')
-rwxr-xr-xmodules/by-name/ni/nix/nix_wrapper.sh16
1 files changed, 9 insertions, 7 deletions
diff --git a/modules/by-name/ni/nix/nix_wrapper.sh b/modules/by-name/ni/nix/nix_wrapper.sh
index 55b12dc9..489f10f1 100755
--- a/modules/by-name/ni/nix/nix_wrapper.sh
+++ b/modules/by-name/ni/nix/nix_wrapper.sh
@@ -1,23 +1,25 @@
#! /usr/bin/env sh
set -eu
+_NIX_WRAPPER_FALLBACK="${_NIX_WRAPPER_FALLBACK-false}"
-notify-send "Running nix via the wrapper."
+me="$(basename "$0")"
+notify-send "Running '$me' via the wrapper."
if [ "$_NIX_WRAPPER_FALLBACK" = "true" ]; then
# Allow skipping the size check.
- nix "$@"
+ "$me" "$@"
else
usage="$(btrfs filesystem usage /nix --raw 2>/dev/null)"
avail="$(echo "$usage" | grep 'Device size:' | cut -f 3 | sed 's/ //g')"
used="$(echo "$usage" | grep 'Used:' | cut -f 4 | head -n 1 | sed 's/ //g')"
- perc="$(printf "scale=3\n%d / %d\n" "$used" "$avail" | bc)"
- perc="$(printf "%d * 100\n" "$perc" | bc)"
+ perc="$(printf "scale=4\n%d / %d\n" "$used" "$avail" | bc)"
+ perc="$(printf "scale=2\n%s * 100\n" "0$perc" | bc)"
- if test -gt "$perc" "0.2"; then
- nix "$@"
+ if test "$(printf "%s >= 20\n" "$perc" | bc)" = "1"; then
+ "$me" "$@"
else
- echo "Not enough space free, in nix store: Only, $perc is still free."
+ echo "Not enough space free, in nix store: Only, $perc% is still free."
exit 3
fi
fi