{"id":16653593,"url":"https://github.com/norm/macos_setup","last_synced_at":"2025-06-10T15:08:48.348Z","repository":{"id":66550717,"uuid":"405642870","full_name":"norm/macos_setup","owner":"norm","description":"My preferences and code used when setting up up a new macOS machine","archived":false,"fork":false,"pushed_at":"2022-02-14T07:53:11.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T17:49:49.516Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/norm.png","metadata":{"files":{"readme":"README.markdown","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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-12T13:00:46.000Z","updated_at":"2022-02-07T16:03:25.000Z","dependencies_parsed_at":"2023-02-28T13:31:01.662Z","dependency_job_id":null,"html_url":"https://github.com/norm/macos_setup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fmacos_setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fmacos_setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fmacos_setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fmacos_setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/norm","download_url":"https://codeload.github.com/norm/macos_setup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fmacos_setup/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259098651,"owners_count":22804793,"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":[],"created_at":"2024-10-12T09:45:59.531Z","updated_at":"2025-06-10T15:08:48.313Z","avatar_url":"https://github.com/norm.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"macOS setup\n===========\n\nSetting up a new macOS installation from scratch, rather than using the\nMigration Assistant or restoring from backups/copies.\n\n\n## After installing macOS\n\nCreate the non-primary account first. I use [`king`](https://flickr.com/photos/tags/kingofthebritons).\n\n* Do not sign into iCloud.\n* System Preferences → Users \u0026 Groups → Login Options → Display login window\n  as: Name and password.\n* Add primary account. I use `norm`.\n* Right-click on account for Advanced Options → Login shell: /bin/bash.\n* System Preferences → Sharing → set the Computer Name.\n* System Preferences → Software Update; install any outstanding updates.\n\nRestart the computer, then log into primary account.\n\n* Sign into iCloud.\n* Set Desktop \u0026 Documents Folders to be synced.\n* Open Finder, wait for the Desktop, Documents, and iCloud Drive folders\n  to fully download.\n\nLog out, and into non-primary account.\n\n* Open Terminal:\n\n```\n# this copies some preserved preferences (eg Terminal) into \n# Library/Preferences *before* the app is used so cfprefsd\n# caches my preferred settings, not the defaults\nsudo su -\ncd ~norm\nDocuments/macos/copy_prefs.sh\n```\n\nRestart the computer, log into the primary account.\n\n* App Store → Store → Sign in; download 1Password, and unlock it.\n* System Preferences → Security \u0026 Privacy → Privacy → Full Disk Access → add Terminal.\n* System Preferences → Security \u0026 Privacy → Privacy → Accessibility → add Terminal.\n* Open Terminal.\n\n```bash\n# setup enough tools to get kitout working\nxcode-select --install\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\ngit clone git@github.com:norm/macos_setup Code/norm/macos_setup\ncd Code/norm/macos_setup\n./setup/install.sh\n\n# install a modern bash using homebrew\nbrew install coreutils bash\nbrew pin bash\ntarget=$(realpath /usr/local/bin/bash)\nrm /usr/local/bin/bash \u0026\u0026 install -m755 $target /usr/local/bin/bash\nsudo chsh -s /usr/local/bin/bash norm\n\n# install everything else using kitout\ncurl -o /tmp/kitout https://raw.githubusercontent.com/norm/kitout/main/kitout.sh\ninstall -m0755 /tmp/kitout /usr/local/bin/kitout\nkitout .\n```\n\nDone-zo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorm%2Fmacos_setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnorm%2Fmacos_setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorm%2Fmacos_setup/lists"}