No description
Find a file
2023-10-02 11:04:09 -06:00
apps initial commit 2023-09-16 10:01:33 -06:00
docker initial commit 2023-09-16 10:01:33 -06:00
Guix.app/Contents updated with x86_64 support 2023-10-02 10:22:43 -06:00
home initial commit 2023-09-16 10:01:33 -06:00
qemu updated script 2023-09-29 10:25:54 -06:00
ssh-cert initial commit 2023-09-16 10:01:33 -06:00
.gitignore initial commit 2023-09-16 10:01:33 -06:00
config.scm initial commit 2023-09-16 10:01:33 -06:00
LICENSE.txt initial commit 2023-09-16 10:01:33 -06:00
README.md updated readme 2023-10-02 11:04:09 -06:00
README.md.tmp Updated readme again 2023-09-16 16:02:05 -06:00
README.org Updated readme 2023-09-16 15:59:42 -06:00
README_old.md Updated readme 2023-09-16 15:59:42 -06:00
README_old.md.tmp Updated readme 2023-09-16 15:59:42 -06:00

Table of Contents

  1. MSG (Mac Subsystem for Guix)
    1. Description
  2. Now available for both Apple Silicon and Intel based Macs!
    1. README (WIP)
      1. Prerequisites:
      2. Installation
      3. Available Commands (after adding bashrc/zshrc options)
      4. Notes:
      5. Discord:
      6. 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! https://discord.gg/WSceSUhs6t

Interested in supporting the project?

Liberapay : https://liberapay.com/SuperKamiGuru/donate