Skip to content

mattplant/macFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

macFlow

Docs License: CC BY 4.0 Source Code License: MIT

Mac Host. Linux Development Flow.

Prerequisites

  • Hardware: A modern Apple Silicon Mac running macOS.
  • Storage: At least 20GB of free drive space (Less required for Headless-only setups).
  • Permissions: Admin access for Network/Sharing settings.

Design Philosophy

The core objective is to decouple the Development Workflow from the Operating System. We treat the machine as two distinct entities working in tandem.

Stability & Host Integrity

The foundational goal is to maintain the reliability of modern Apple Silicon and the macOS ecosystem for everyday use, while leveraging a Linux VM for development tasks.

  • Host Integrity: We keep macOS as the stable host for critical functions (Hardware drivers, Battery life, Wi-Fi stability) and high-performance native apps (Zoom, Teams, Office).
  • VM Performance: We ensure the Linux environment remains lightweight and disposable.

The Bridge (Integration)

To ensure a seamless flow, macFlow uses standard protocols to bypass driver limitations on Apple Silicon:

  • Files: macOS ~/macFlow directory is mounted into the VM via SSHFS.
  • Clipboard: Copy/Paste is handled via SPICE (Desktop Mode) or SSH (Headless Mode).
  • Identity: Git credentials are passed via SSH Agent Forwarding.

We connect the Host and Guest via a network bridge rather than fragile virtualization drivers.

Domain Role Responsibility
Host (macOS) The Office "Admin."
• Communication (Outlook, Slack)
• Hardware Abstraction (Wi-Fi, Power)
• Security (FileVault, Firewall)
Guest (Arch) The Workbench "The Flow."
TWM: Hyprland (VirtIO-GPU)
Code: VSCode / Neovim
Terminal: Foot / Zsh / Starship

Choose Your Flow

macFlow supports two distinct operating modes.

"Headless" Mode (The Core)

  • What it is: No Linux GUI. You use macOS native terminals (Ghostty/Kitty) and VSCode Remote to interact with the Linux engine.
  • Pros: Extremely lightweight, max battery efficiency, zero maintenance, native macOS fonts/rendering.
  • Cons: No tiling window manager logic; relies on macOS window management.

"Desktop" Mode (The Full Experience)

  • What it is: A full Tiling Window Manager environment inside the VM.
  • Pros: The complete tiling experience (Dwindle layout), distraction-free focus.
  • Cons: Higher resource usage.

Note: For the desktop philosophy see macFlow Desktop.

Build Steps

Every macFlow build requires these core steps:

The Desktop (Optional)

The Workbench (Optional)

Install the tools to enable efficient development work.

Directory Structure

macFlow/
├── docs/               # Documentation
│   ├── Guest-OS/       # Arch Linux installation and configuration
│   ├── Integration/    # SSH, SSHFS, and Bridge configuration
│   ├── Tools/          # VSCode, git config, etc.
│   ├── VM/             # UTM configuration
│   └── WM/             # Hyprland and Waybar configuration
├── dotfiles/           # Source configuration files (Stow targets)
├── LICENSE             # Source Code License (MIT)
├── LICENSE-DOCS.md     # Documentation License (CC BY 4.0)
└── README.md           # You are here

About

Mac Host. Linux Development Flow.

Topics

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE-DOCS.md

Stars

Watchers

Forks