Skip to content

emylfy/macrift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

macrift

Preview every macOS change before it happens — then apply with one key

macrift main menus

GitHub Stars   License   Last Commit   CI


Why macrift?

Fresh Mac → full setup in minutes.

  • See before you touch — every system tweak shows a diff table before writing anything. 48 tweaks across 7 categories, all audited
  • 75 curated packages — 7 Homebrew bundles + Mac App Store, installed via multi-select
  • 11 bundled configs — terminal profiles, shell aliases, editor settings, dock layout — ready to apply
  • Profile export/import — save your entire setup (Brewfile, macOS defaults, dotfiles, editor settings, iTerm2, dock layout) and restore it anywhere

Quick Start

curl -fsSL https://raw.githubusercontent.com/emylfy/macrift/main/install.sh | bash

Installs to ~/.macrift, creates a global macrift command, and launches automatically. Doesn't touch your system until you choose what to apply.

Alternative: manual clone
git clone https://github.com/emylfy/macrift.git ~/.macrift && ~/.macrift/macrift.sh
CLI flags
Flag Description
--dry-run Show what would change without applying
--no-confirm Skip all confirmation prompts (auto-approve)
--log Write session log to ~/.macrift/macrift.log
--version Print version and exit
--help Show usage info

Features

Feature What it does
⚙️ System Tweaks Dock, Finder, Keyboard, Trackpad, Screenshots, Hot Corners, Misc
📦 Apps & Packages 7 Homebrew bundles, Mac App Store, Spotify, .brewbak backup
🎨 Customize Terminal, Shell, Editor, Dock Layout, Wallpapers, Profile Backup
🛡️ Security & Privacy Security status, privacy.sexy presets, hostname, encrypted DNS
🧹 Cleanup System cleanup via Mole — caches, logs, leftovers

⚙️ System Tweaks

Every tweak shows a diff table before applying. Choose individually or apply all at once.

Category What it does
Dock Autohide, tile size, animation speed, minimize effect, Spaces, recents
Finder Show hidden files & extensions, path bar, POSIX title, list view, no .DS_Store
Keyboard & Text Key repeat speed, press-and-hold, auto-correct, smart substitutions
Trackpad & Mouse Tap to click, tracking speed, right-click, drag windows anywhere
Screenshots Format, save location, shadow, date in filename
Hot Corners Interactive corner action picker
Misc Boot sound, app open dialog, save/print panels, window animations

📦 Apps & Packages

Homebrew Bundles — multi-select installer with 7 curated Brewfiles:

  • Development — git, gh, lazygit, node, python, go, rust, neovim, fzf, ripgrep, bat, eza, fd, fastfetch, macmon, mas, mole, scrcpy, t3-code, android-platform-tools...
  • Utilities — Raycast, Alfred, HiddenBar, Keka, AltTab, SoundSource, BetterDisplay, Logi Options+, Macs Fan Control, SuperCorners...
  • Browsers — Chrome, Arc, Zen, Ungoogled Chromium
  • Communication — Ayugram, Telegram, Discord, Slack, Zoom
  • Media — IINA, OBS, Spotify, Figma, ImageOptim, Affinity
  • Games — Steam, Heroic Games Launcher, Modrinth
  • Fonts — Fira Code, Maple Mono, JetBrains Mono (Nerd Fonts)

Mac App Store — install apps via mas with multiselect.

Export/import your packages with .brewbak backup files.

SpotifySpotX ad blocker + Spicetify customization framework + marketplace backup restore.

🛡️ Security & Privacy

Tool Description
Security Status FileVault, Firewall, SIP, Gatekeeper — at a glance; toggle Gatekeeper on/off
privacy.sexy Custom or standard macOS hardening preset
Hostname Set custom hostname — hide your name from the network
DNS Setup Choose from 11 providers: Cloudflare, Google, Quad9, OpenDNS, AdGuard, NextDNS, ControlD, and more

🧹 Cleanup

  • Homebrew Cleanupbrew cleanup --prune=all && brew autoremove
  • Deep Clean — powered by Mole, removes caches, logs, and leftover files

Customize

Complete environment setup from one menu.

🖥️ Terminal & Shell

Terminal — install & configure iTerm2 or Ghostty:

  • iTerm2 Dynamic Profiles — 3 presets (Cyberdrift, Nord Frost, Tokyo Night) with JetBrainsMono Nerd Font, auto-set as default
  • iTerm2 Defaults — GPU renderer, compact tabs, hidden scrollbar, focus follows mouse
  • Ghostty — config from config/ghostty/; Catppuccin Mocha and Latte themes downloaded automatically

ShellStarship prompt + FastFetch + .zshrc with modern aliases:

Shell aliases
Alias Tool
ls ll lt eza with icons and tree view
cat bat with syntax highlighting
grep ripgrep
find fd
g lg git, lazygit

📝 Code Editors

Shared settings.json applied to any of these editors:

Fira Code, format on save, ligatures, sidebar left, telemetry off.

Extensions — multi-select installer from config/vscode/extensions.txt; auto-detects code/cursor/codium CLI.

🗂️ Dock Layout

Config-file based dock management via dockutil:

  • Apply layout from config/dock.txt (one app name per line)
  • Clear Dock — remove all apps for a clean start
  • Add spacer — visual separator between groups
  • Reset — restore macOS default dock
🖼️ Wallpapers
📦 Profile Backup & Restore

Export your entire environment to a folder, import it on another Mac or after a clean install.

Includes: Brewfile, macOS defaults (Dock, Finder, Keyboard, Screenshots), dotfiles (.zshrc, Starship, FastFetch, Ghostty), editor settings (VSCode, Cursor, Zed), iTerm2 config, and dock layout.


MIT License · Changelog · Report a Bug

If this saved you time, a star helps others find it