# Table of Contents
1. [MSG (Mac Subsystem for Guix)](#msg-mac-subsystem-for-guix)
1. [Description](#description)
2. [Now available for both Apple Silicon and Intel based Macs!](#compatible)
1. [README (WIP)](#readme-wip)
1. [Prerequisites:](#prerequisites)
2. [Installation](#installation)
3. [Available Commands (after adding bashrc/zshrc options)](#available-commands-after-adding-bashrczshrc-options)
4. [Notes:](#notes)
5. [Discord:](#discord)
6. [Interested in supporting the project?](#interested-in-supporting-the-project)
# MSG (Mac Subsystem for Guix)
## Description
MSG is an attempt to create a native-like experience for GUIX on MacOS,
using methods inspired by others like Podman/Docker/Lima.
# Now available for both Apple Silicon and Intel based Macs!
## README (WIP)
### Prerequisites:
- qemu
- wget
- git
- xquartz (optional for GUI applications)
### Installation
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 :
alias guix="ssh -i $HOME/.guix/ssh-cert/msg_rsa admin@127.0.0.1 -p 9001 'guix'"
alias guix-env='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-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 -X -i $HOME/.guix/ssh-cert/msg_rsa admin@127.0.0.1 -p 9001"
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)
- 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:
- 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:
Feel free to join the discord server and ask questions/share your
experiences!
### Interested in supporting the project?
Liberapay :