summaryrefslogtreecommitdiff
path: root/hosts/ades/thin-shim.nix
diff options
context:
space:
mode:
authorSimon Parri <simonparri@ganzeria.com>2025-05-27 22:02:57 -0500
committerSimon Parri <simonparri@ganzeria.com>2025-05-29 17:00:04 -0500
commit66755e8a78211ed38c8d6b282d5221d97f0fe664 (patch)
treeff4b3bb83c8c2ef061050f82bed8fcb41d5cef51 /hosts/ades/thin-shim.nix
parent6c1ee2e94f7e3fb2b13732208118f798805f45c4 (diff)
downloadnixos-config-66755e8a78211ed38c8d6b282d5221d97f0fe664.tar.gz
nixos-config-66755e8a78211ed38c8d6b282d5221d97f0fe664.zip
hosts/ades: Add initial version of live ISO with ades' configuration
Diffstat (limited to 'hosts/ades/thin-shim.nix')
-rw-r--r--hosts/ades/thin-shim.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/hosts/ades/thin-shim.nix b/hosts/ades/thin-shim.nix
new file mode 100644
index 0000000..a9f931b
--- /dev/null
+++ b/hosts/ades/thin-shim.nix
@@ -0,0 +1,41 @@
+pkgs:
+let
+ inherit (builtins)
+ map elem;
+
+ inherit (pkgs) stdenv;
+in
+pkg: inst:
+stdenv.mkDerivation {
+ pname = pkg.pname + "-shim";
+ version = pkg.version;
+ nativeBuildInputs = [pkg];
+ dontUnpack = true;
+ buildPhase = ''
+if [ -d ${pkg}/bin ]; then
+ mkdir -p "$out/bin"
+ for exe in $(ls "${pkg}/bin/"); do
+ cat >"$out/bin/$exe" <<EOF
+#!/bin/sh
+
+term=urxvt
+which \$term >/dev/null 2>&1 || term=xterm
+
+if [ "\$DISPLAY" ]; then
+ \$term -e nix shell '${inst}' --command '$exe' \$*
+else
+ nix shell '${inst}' --command '$exe' \$*
+fi
+EOF
+ chmod +x "$out/bin/$exe"
+ done
+fi
+
+for dir in "share/applications" "share/icons"; do
+ if [ -d "${pkg}/$dir" ]; then
+ mkdir -p "$out/$dir"
+ cp -a "${pkg}/$dir/"* "$out/$dir"
+ fi
+done
+'';
+}