* MSG (Mac Subsystem for Guix) :PROPERTIES: :CUSTOM_ID: msg-mac-subsystem-for-guix :END: ** Description :PROPERTIES: :CUSTOM_ID: description :END: MSG is an attempt to create a native-like experience for GUIX on MacOS, using methods inspired by others like Podman/Docker/Lima. * !!!!Currently only compatible with M1/M2 Macs :PROPERTIES: :CUSTOM_ID: currently-only-compatible-with-m1m2-macs :END: ** README (WIP) :PROPERTIES: :CUSTOM_ID: readme-wip :END: *** Prerequisites: :PROPERTIES: :CUSTOM_ID: prerequisites :END: - qemu - wget - git - xquartz (optional for GUI applications) *** Installation :PROPERTIES: :CUSTOM_ID: installation :END: 1. clone the project using =git clone https://pagure.io/MSG/msg-qemu.git ~/.guix= 2. copy Guix.app from ~/.guix to your Applications folder 3. Run the guix application (this will take a minute to download the most recent image) 4. add these lines to your shell rc file (bashrc/zshrc) to access the guix environment from MacOS : #+begin_example alias guix="ssh -i $HOME/.guix/ssh-cert/msg_rsa admin@127.0.0.1 -p 9001 'guix'" alias guix-env='f(){ ssh -i $HOME/.guix/ssh-cert/msg_rsa admin@127.0.0.1 -p 9001 /home/admin/.guix-profile/bin/$@; unset -f f; }; f' alias guix-app='f(){ ssh -X -i $HOME/.guix/ssh-cert/msg_rsa admin@127.0.0.1 -p 9001 /home/admin/.guix-profile/bin/$@; unset -f f; }; f' alias guix-shell="ssh -i $HOME/.guix/ssh-cert/msg_rsa admin@127.0.0.1 -p 9001" #+end_example 5. Make sure to restart your terminal or source your shellrc file after editing it (e.g =source ~/.bashrc=) *** Available Commands (after adding bashrc/zshrc options) :PROPERTIES: :CUSTOM_ID: available-commands-after-adding-bashrczshrc-options :END: - guix : A straight passthrough to the guix application - guix-shell: Connect to the vm over ssh - guix-env : Can be used to pass cli commands interactively - guix-app : Used to passthrough X11 applications from the vm to macos using xquartz *** Notes: :PROPERTIES: :CUSTOM_ID: notes :END: - Currently =guix-env sudo guix system reconfigure /etc/config.scm= is not supported. You must use =guix-shell= to ssh into the environment and then run =sudo guix system reconfigure /etc/config.scm= - The host home directory is mounted as /mnt/macos in the virtual environment - The default user/credentials are admin/admin - For xquartz to be able to display X11 apps forwarded from the vm, you must open xquartz and go to Top Menu->Xquartz->Settings->Security->Enable 'Allow connections from network clients' - If xquartz is enabled, you can use the .app files under ~/.guix/apps to launch guix programs from macos *** Discord: :PROPERTIES: :CUSTOM_ID: discord :END: Feel free to join the discord server and ask questions/share your experiences! https://discord.gg/TqMDT6Gf6W *** Interested in supporting the project? :PROPERTIES: :CUSTOM_ID: interested-in-supporting-the-project :END: Liberapay : https://liberapay.com/SuperKamiGuru/donate