# Archbox Installs Arch Linux inside a chroot enviroment. ## Why? Ever since I'm running some niche distros like Void, Solus, I had a problem finding softwares I need in their not-so-large repositories, also I don't like how flatpak and snap works. so i decided to create an Arch Linux chroot enviroment everytime I distrohop. Why Arch Linux? They have a really, really good repositories, oh and don't mention how big AUR is. ## Installation ### Installing Archbox It's pretty easy, just run ```install.sh``` as root. ### Installing chroot enviroment Before creating chroot enviroment, edit your username in ```/etc/archbox.conf```, then do : ``` sudo archbox --create ``` ### Removing chroot enviroment **IMPORTANT**, Make sure you've unmounted everything in chroot enviroment, if you're unsure which partitions must be unmounted, remove the init script and reboot, then delete the folder. ### Entering chroot enviroment To enter chroot, do : ``` archbox --enter ``` ### Executing commands in chroot enviroment To execute commands inside chroot envirotment, do : ``` archbox ``` for example, to update chroot, do : ``` archbox sudo pacman -Syu ``` ### Automount filesystem If you use runit, copy archbox folder inside ```runit/``` to whatever your distro store runit services and symlink it to whatever your distro store running runit services, if you don't use runit, you may need to create your own init script, or create a cronjob that runs on boot. ### Optional steps You may want to add this if you don't want to run archbox chroot without password : #### Sudo ``` %wheel ALL=(root) NOPASSWD: /usr/local/share/archbox/bin/archbox,/usr/local/share/archbox/bin/copyresolv,/usr/local/share/archbox/bin/remount_run ``` #### Doas ``` Idk you're on your own ``` ### Misc #### Lauching apps via rofi Instead of opening terminal everytime you want to run application inside chroot, you may want to launch rofi inside chroot, install rofi and do : ``` archbox rofi ``` #### Prompt If you use bash with nerd font you could add a nice little Arch Linux icon in your prompt, add : ``` [[ -e /etc/arch-release ]] && export PS1=" $PS1" ``` to your ```~/.bashrc``` #### Adding enviroment variables Edit ENV_VAR in ```/etc/archbox.conf```. For example, if you want to use qt5ct as Qt5 theme, edit it like this : ``` ENV_VAR="QT_QPA_PLATFORMTHEME=qt5ct" ``` An example with multiple enviroment variables. ``` ENV_VAR="QT_QPA_PLATFORMTHEME=qt5ct GTK_CSD=0 LD_PRELOAD=/var/home/lemniskett/git_repo/gtk3-nocsd/libgtk3-nocsd.so.0" ``` ### Known issues #### Void Musl (or any Musl-based distros, need confirmation) Although /run is mounted in chroot enviroment on boot, XDG_RUNTIME_DIR is not visible in chroot enviroment, remounting /run will make it visible. do : ``` archbox --remount-run ``` Tested in Void Linux musl