Hey quick post on how I managed to get some of these apps running on my machine:

Android Studio

guix shell --container --network --emulate-fhs        -e $'(list (@@ (gnu packages gcc) gcc) "lib")'        --development ungoogled-chromium        nss nss-certs libgccjit alsa-lib bash grep sed file        libcxx libxkbfile openjdk fuse gtk gtk+ cups        --preserve='^DISPLAY$'        --share=/tmp        --preserve='^DBUS_' --expose=/var/run/dbus        --expose=/sys/dev --expose=/sys/devices --expose=/dev/dri --share=/home/user --share=/dev/kvm

Then I run the emulator with the following flags, they are needed otherwise it crashes.

user@linux ~/Android/Sdk/emulator [env]$ ./emulator -avd Pixel_6_Pro_API_33 -feature -Vulkan -writable-system

Burp Suite

# launch this with shell positionned in $HOME/
guix shell --container --network --emulate-fhs --preserve='DISPLAY|_JAVA.*|DBUS.*|QT.*|SDL.*|XDG.*' --expose=/var/run/dbus --expose=/run/user/$(id -u)  --expose=/sys/dev --expose=/sys/devices --expose=/dev/dri --share=/dev/kvm --development ungoogled-chromium --expression='(list (@@ (gnu packages gcc) gcc) "lib")' coreutils bash grep sed gcc-toolchain patchelf gtk+ dbus-glib libxt libevent openssl glibc file alsa-lib nss nss-certs cups openjdk gzip tar zlib freetype file fontconfig openssh libxext libx11 libxrender libxtst dbus

I think I must have given up on trying to make it work with Guix I don’t remember exactly why, I think it had to do with the embedded chromium browser not working fine, so I ended up just using nix IIRC.

NIXPKGS_ALLOW_UNFREE=1 nix profile install –impure nixpkgs#burpsuite

Bellard’s TextSynth

 guix shell --check --pure --expression='(list (@@ (gnu packages gcc) gcc) "lib")' coreutils bash grep sed gcc-toolchain patchelf gtk+ dbus-glib libxt libevent openssl glibc file alsa-lib libmicrohttpd libjpeg cuda-toolkit@12.3.2 nvidia-driver

FIRST_PART=$(echo "$LIBRARY_PATH" | cut -d ":" -f1)
SECOND_PART=$(echo "$LIBRARY_PATH" | cut -d ":" -f2)

patchelf --set-interpreter $FIRST_PART/ld-linux-x86-64.so.2 ts_server
patchelf --add-needed $FIRST_PART/libjpeg.so.62 ts_server
patchelf --add-needed $FIRST_PART/libmicrohttpd.so.12 ts_server
patchelf --add-needed $FIRST_PART/libstdc++.so.6 ts_server
patchelf --add-needed $FIRST_PART/libgcc_s.so.1 ts_server

patchelf --add-needed $FIRST_PART/libcublasLt.so.12  libnc_cuda.so
patchelf --add-needed $FIRST_PART/libcuda.so.1 libnc_cuda.so

./ts_sd --cuda -m sd_v2.1.bin -o out.jpg "an astronaut riding a horse"

./ts_sd --cuda -m sd_v2.1.bin -o out.jpg "an astronaut riding a horse" -t bf16

Tor Browser

cd Browser
guix shell --check --pure --expression='(list (@@ (gnu packages gcc) gcc) "lib")' coreutils bash grep sed gcc-toolchain patchelf gtk+ dbus-glib libxt libevent openssl glibc file alsa-lib
patchelf --set-interpreter $LIBRARY_PATH/ld-linux-x86-64.so.2 firefox.real
patchelf --set-interpreter $LIBRARY_PATH/ld-linux-x86-64.so.2 updater
patchelf --set-interpreter $LIBRARY_PATH/ld-linux-x86-64.so.2 TorBrowser/Tor/tor

LD_LIBRARY_PATH=$LIBRARY_PATH ./start-tor-browser

See https://gitlab.com/nonguix/nonguix/-/issues/112

Building a kernel

guix shell -D gcc-toolchain ncurses bison bc flex openssl@1.1.1l util-linux make autoconf coreutils sed diffutils bash grep libelf findutils elfutils gawk crypto++ perl gzip kmod

Don't forget to make clean if somethings weird

VSCodium

https://gitlab.com/nonguix/nonguix/-/issues/51

guix shell --container --network --emulate-fhs \
     -e $'(list (@@ (gnu packages gcc) gcc) "lib")' \
     --development ungoogled-chromium \
     nss nss-certs libgccjit alsa-lib bash grep sed file \
     libcxx libxkbfile openjdk fuse gtk gtk+ cups \
     --preserve='^DISPLAY$' \
     --share=/tmp \
     --preserve='^DBUS_' --expose=/var/run/dbus \
     --expose=/sys/dev --expose=/sys/devices --expose=/dev/dri
./VSCodium-1.78.2.23132.glibc2.17-x86_64.AppImage --appimage-extract-and-run