{"id":25629685,"url":"https://github.com/weiland/mac-setup","last_synced_at":"2026-01-23T12:59:34.230Z","repository":{"id":73220530,"uuid":"166530567","full_name":"weiland/mac-setup","owner":"weiland","description":"💻 Mac Setup","archived":false,"fork":false,"pushed_at":"2024-01-12T14:20:55.000Z","size":138,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-01-13T04:13:58.649Z","etag":null,"topics":["fish","homebrew","init","macos","presets","scripts","setup","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weiland.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-01-19T09:41:55.000Z","updated_at":"2021-12-07T10:51:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"7a8d7403-cf3e-4fd9-bab7-361f197b8b3f","html_url":"https://github.com/weiland/mac-setup","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weiland%2Fmac-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weiland%2Fmac-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weiland%2Fmac-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weiland%2Fmac-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weiland","download_url":"https://codeload.github.com/weiland/mac-setup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240222484,"owners_count":19767465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fish","homebrew","init","macos","presets","scripts","setup","shell"],"created_at":"2025-02-22T19:17:35.101Z","updated_at":"2026-01-23T12:59:34.224Z","avatar_url":"https://github.com/weiland.png","language":"Shell","readme":"# Mac Setup\n\n\u003e [!IMPORTANT]\n\u003e I used to setup/reinstall a mac with this repo/scripts.\n\u003e In the recent years i moved over to _nix_ and _nix_darwin_ to manage my systems.  \n\u003e The new repo for setting up a mac/computer is at https://github.com/weiland/nix-config\n\n\n---\n\n## New Mac\n\nStarting with a brand new macOS:\n\n1. Make sure to be connected to a wifi network (or LAN)\n2. Configure TouchID when setting up\n3. Login to iCloud (but may skip photos) and activate Documents Sync\n4. Open _Terminal.app_\n\n\n### Bootstrap a new machine\n\nThis will do the very first steps for a new machine. The sudo password will be required.\nThe command line tools, homebrew and fish shell will be installed.\n\n```console\ncurl -sSL https://raw.githubusercontent.com/weiland/mac-setup/main/install | sh\n```\n\n## Homebrew\n\nInstall all software, casks, fonts and mac app store apps.\n\n```console\n# checkout Brewfile\nvim Brewfile\n\n# brewing\nbrew bundle\n```\n\n## Install nix\n\nfor macOS as multi-user\n\n```sh\nsh \u003c(curl -L https://nixos.org/nix/install) --darwin-use-unencrypted-nix-store-volume --daemon\n```\n\nor with fish:\n\n```fish\nsh ( curl -L https://nixos.org/nix/install | psub ) --darwin-use-unencrypted-nix-store-volume --daemon\n```\n\n### Install nix-darwin\n\n```sh\nnix-build https://github.com/LnL7/nix-darwin/archive/master.tar.gz -A installer\n\nmv /etc/nix/nix.conf /etc/nix/nix.conf.before-nix-darwin\n\n./result/bin/darwin-installer\n```\n\n### Install home-manager within nix-darwin\n\n```sh\nnix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager\nnix-channel --update\n```\n\nAdd home-manager to _~/.nixpkgs/darwin-configuration.nix_\n\n```nix\nimports = [ \u003chome-manager/nix-darwin\u003e ];\n```\n\n## Install dotfiles\n\n```console\nsh dotfiles.sh\n```\n\n## MacOS defauls\n\nCompare with it's original and review the settings in there.\n[History of `.macos`](https://github.com/mathiasbynens/dotfiles/commits/main/.macos) (last checked/updated 22. June 2021)\n\n```console\nsh macos.sh\n```\n\n## Manual settings\n\nSince `macos.sh` cannot catch everything...\n\n```console\n# Adjust Notification Center\n#defaults read com.apple.notificationcenterui\n\n# Set the right resolution (Default 1440x877 on MBP 13\")\ndefaults write com.apple.systempreferences \"NSWindow Frame Main Window Frame SystemPreferencesApp 8.0\" -string \"105 339 668 462 0 0 1440 877 \"\n# and for the display\ndefaults write com.apple.systempreferences \"NSWindow Frame Main Window Frame SystemPreferencesApp 8.0\" -string \"256 121 668 658 0 0 2560 1415\"\n\n```\n\n### karabiner (umlauts)\n\n- enable umlauts via karabiner elements\n\n### iTerm2\n\n- import config file\n- make alt key working\n\n### neovim\n\n```console\nmkdir ~/.local/share/nvim/plugged\n\nsh -c 'curl -fLo \"${XDG_DATA_HOME:-$HOME/.local/share}\"/nvim/site/autoload/plug.vim --create-dirs \\\n       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'\n\nnvim +PlugInstall +qa\n\n# spell checking\nmkdir -p ~/.local/share/nvim/site/spell\nmkdir -p ~/.local/share/nvim/undo\n```\n\n### JumpCut\n\n```console\ndefaults write net.sf.Jumpcut launchOnStartup -bool true\ndefaults write net.sf.Jumpcut launchOnLogin -bool true\n# does not work yet (set cmd+B as hotkey)\ndefaults write net.sf.Jumpcut mainHotkey -dict characters b charactersIgnoringModifiers b keyCode 11 modifierFlags 1048576\n```\n\n### ShiftIt\n\n```console\ndefaults write org.shiftitapp.ShiftIt shiftItshowMenu -bool false\n```\n\n### Volta (nodejs, npm and git-open)\n\n```console\nmkdir ~/.local/share/volta\n```\n\nExport volta's new home globally and\nappend volta's bin to global fish user path in `config.fish`:\n\n```console\nset -gx VOLTA_HOME ~/.local/share/volta\nfish_add_path -ga $VOLTA_HOME/bin\n```\n\n```console\nbrew install volta\n```\n\n## Other stuff\n\n1. Disable TouchBar as default\n2. Remove Siri from TouchBar (replace with Do-Not-Disturb)\n3. Map fn to show F keys\n4. (Re-map Capslock) Map paragraph/plus-minus to ESC\n\n\n## 1Password\n\n* Login and import my Vault\n\n\n## BetterTouchTool / Karabiner\n\n* import config (mostly for umlauts and mapping ESC)\n\n\n## Fantastical\n\n* Allow all access\n* Login to iCloud with App password\n* Disable Calendar Notifications\n* Add Exchange accounts with public folders\n\n## Finder\n\n* show paths\n* remove labels\n* add home\n* add sidebar items\n\n## Safari\n\n* Open Safari and login to GitHub and Instapaper\n\n## Mail\n\n* login to private and work accounts\n\n## Things 3\n\n* Login\n\n## Telegram\n\n* Login\n\n## Tweetbot\n\n* login to all accounts\n\n## TimeMachine\n\n* Enable encrypted backups\n* Add excluded items\n\n\n## Import previous configs etc\n\n2. fish history\n3. rupa-z/zoxide history (if nothing big has been changed)\n4. TimeMachine Exclude list\n\n## Import files from mounted volumes (e.g. old TM Backups etc)\n\n```sh\nrsync -av '/Volumes/Backup/data' ~/whereever\n```\n\n## Kepp the Mac up to date\n\n```sh\nsh update.sh\n```\n\n## Coming from an installed mac =\u003e new installtion\n\n* Make sure TimeMachine backup did work properly\n* Restart and press `Commmand + Shift + R`\n* Use Recovery Disk to download and install new Mac OS\n* On first boot: Hold `Command + Option + P + R` to clear NVRAM","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweiland%2Fmac-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweiland%2Fmac-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweiland%2Fmac-setup/lists"}