{"id":27837054,"url":"https://github.com/Swiss-Mac-User/macOS-scripted-setup","last_synced_at":"2025-05-02T18:06:09.113Z","repository":{"id":160022171,"uuid":"524757288","full_name":"Swiss-Mac-User/macOS-scripted-setup","owner":"Swiss-Mac-User","description":"A scripted macOS setup for automatic User configurations and App installations.","archived":false,"fork":false,"pushed_at":"2024-05-05T07:03:37.000Z","size":639,"stargazers_count":26,"open_issues_count":4,"forks_count":2,"subscribers_count":3,"default_branch":"installer","last_synced_at":"2024-05-06T07:37:28.120Z","etag":null,"topics":["bash","dotfiles-macos","macos","macos-defaults","macos-setup"],"latest_commit_sha":null,"homepage":"https://swissmacuser.ch/macos-scripted-setup-automate-user-settings-app-installations/?utm_source=github\u0026utm_medium=macOS-scripted-setup","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Swiss-Mac-User.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-08-14T19:07:14.000Z","updated_at":"2024-05-05T12:40:06.000Z","dependencies_parsed_at":"2024-04-27T11:44:58.679Z","dependency_job_id":null,"html_url":"https://github.com/Swiss-Mac-User/macOS-scripted-setup","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swiss-Mac-User%2FmacOS-scripted-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swiss-Mac-User%2FmacOS-scripted-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swiss-Mac-User%2FmacOS-scripted-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swiss-Mac-User%2FmacOS-scripted-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Swiss-Mac-User","download_url":"https://codeload.github.com/Swiss-Mac-User/macOS-scripted-setup/tar.gz/refs/heads/installer","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252084833,"owners_count":21692163,"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":["bash","dotfiles-macos","macos","macos-defaults","macos-setup"],"created_at":"2025-05-02T18:06:07.462Z","updated_at":"2025-05-02T18:06:09.102Z","avatar_url":"https://github.com/Swiss-Mac-User.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"Automate your macOS setup\n===\n\n**Welcome to the macOS Scripted Setup.\u003cbr\u003eThis project helps Mac users quickly and easily set up a new computer or useraccount by automatically configuring a range of system settings and installing commonly used applications.**\n\n\u003e [!TIP]\n\u003e The scripted setup was tested on Intel-based Macs \u0026 Apple Silicon Macs\n\u003e On macOS 12 Monterey up to macOS 14 Sonoma\n\n\n## What is this?\n\nThe macOS Scripted Setup is **perfect for users who want to save time and avoid the hassle of manually changing settings and installing apps**. The whole project, but particularly the configuration file, is **portable** - so you can keep them on a USB-stick for the next Mac setup. Give it a try and streamline your new Mac setup process!\n\n![Screenshot of macOS Scripted Setup in action](/README_demo.png?raw=true)\n\nThe script is easy to use and can be run directly from the Terminal application, as a regular user or admin user. It automatically performs a series of commands to change default macOS settings and download applications. It's designed to be widely backward and forward compatible with various macOS versions.\n\n**All settings can be configured.** Some features include enabling the firewall, setting better security features, customising the Finder, Dock, and Mission Control for better productivity; and many more. Additionally, the script installs applications such as browsers, media players, productivity apps, and web development tools.\n\n### What is being done exactly?\n\n\u003cdetails\u003e\n\u003csummary\u003eSee what features, settings, and applications can be changed / installed\u003c/summary\u003e\n\n### The script can change the following settings:\n\n* FileVault, macOS Firewall, Mission Control, Control Centre, Finder, Dock, git, SSH Key, adds Userhome folders, Menu bar clock, Fast User Switching, and [more](https://github.com/Swiss-Mac-User/macOS-scripted-setup/tree/installer/Usersettings).\n\n### …and is capable of installing these Apps:\n\nSome Apps are downloaded from the official websites, other are added through Homebrew or its Mac App Store CLI extension.\n\n* 1Password, AlDente, Beyond Compare, Boop, Brave, Composer, Discord, Docker, eqMac, Fig, Firefox, Fork, GasMask, Git, Google Chrome, Homebrew, Keka, LinearMouse, MAMP, Nova, Pixelmator Pro, Quick Look plugins, Rosetta 2, Safari extensions, Sequel Ace, SonarQube, Spotify, Steam, Strongbox, Telegram, Transmission, Tresorit, Warp, Xcode Command Line Tools, Xnapper, and [more](https://github.com/Swiss-Mac-User/macOS-scripted-setup/tree/installer/Applications).\n\u003c/details\u003e\n\n\n## How to use\n\n### 📥 Download macOS Scripted Setup\n\nAutomatic download with this command in the `Terminal.app` from Applications » Utilities:\n\n```bash\ncurl -SL \"https://github.com/Swiss-Mac-User/macOS-scripted-setup/archive/refs/heads/installer.zip\" | tar xz -C \"$HOME/Downloads\" \u0026\u0026 open \"$HOME/Downloads/macOS-scripted-setup-installer\"\n```\n\n→ Alternatively you can manually download \u0026 extract the latest «Source code (zip)» [from Releases](/../../releases) to your `~/Downloads/` folder.\n\n### ⚙️ Configure your preferences\n\n1. Duplicate the file `config.default.sh` as `config.sh`\n\n2. Open `config.sh` in a Text editor (e.g. `TextEdit.app`)\n\n3. …and change all settings to your personal preferences, using `true`/`false`.\n\n\u003e [!WARNING]\n\u003e If no `config.sh`-file is present, the setup will use the default configs from `config.default.sh`!\u003c/sup\u003e\n\n#### Advanced settings\n\u003cdetails\u003e\n\u003csummary\u003eConfiguring custom bash commands to run\u003c/summary\u003e\n\nIf you want to run additional bash commands as part of the setup, you can duplicate the template-file `mycommands.template.sh` as `mycommands.sh`, and populate it with any commands. These custom commands will be executed LAST in the whole setup (see the `run.sh` file).\n\n\u003c/details\u003e\n\n\n### 🚀 Start the scripted Setup\n\nMaybe now is the time to [grab a coffee ☕️](https://bmc.link/swissmacuser/)…\n\n1. Open the «Terminal.app» from Applications » Utilities\n\n2. Paste the following command to the Terminal.app:\n\n```bash\ncd ~/Downloads/macOS-scripted-setup-installer/ \u0026\u0026 chmod +x ./run.sh \u0026\u0026 ./run.sh\n```\n\n3. Now start the setup by pressing `Return` \u0026  watch the magic happen…\n\n\u003e [!TIP]\n\u003e **Occasionally you have to interact** when instructions show up, such as to sign-in on the Mac App Store.\n\n#### ✨ That's it - happy installation! :)\n\n\n## Requests for changes\n\n### Issues and feature requests\nReport an [Issue](/../../issues) or start a [new Discussion](/../../discussions) for feedback or help.\n\n### Contributions\nFeel free to [fork this project](/../../fork) and add Pull Requests for any suggested changes or additions!\n\n\n---\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://bmc.link/swissmacuser/\"\u003e\n    \u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-yellow.png\" alt=\"Support this project with a Coffee.\" height=\"40\" width=\"172\"\u003e\n\u003c/a\u003e\u003c/p\u003e\n\n### Inspiration and Kudos\n\nA **BIG «THANK YOU»** to these inspiring and helfpful sources! 🫶 Make sure to check them out and leave a kudos.\n\n* Yann Bertrand's awesome work with «[macOS-defaults](https://github.com/yannbertrand/macos-defaults)»\n* Patrick Force's approach with «[macOSa](https://github.com/rockholla/macosa)» (which was a bit too complex for my use case…)\n* Ryan Pavlick's helpful «[add_to_dock](https://github.com/ryanpavlick/add_to_dock)» bash scripts\n* Mathias Bynens's epic «[dotfiles](https://github.com/mathiasbynens/dotfiles)» (particularly its [.macos](https://github.com/mathiasbynens/dotfiles/blob/main/.macos))!\n* Big KUDOS to «[Homebrew](https://github.com/Homebrew/install)» and the «[Mac App Store command line interface](https://github.com/mas-cli/mas)»! 👏\n* MacRumors «[Dock to Show Running Apps Only](https://www.macrumors.com/how-to/macos-dock-show-active-apps/)», Ask Different «[identify if Filevault is enabled](https://apple.stackexchange.com/q/70969/86244)» and «[Check if OS X user is Administrator](https://apple.stackexchange.com/a/179531/86244)»\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSwiss-Mac-User%2FmacOS-scripted-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSwiss-Mac-User%2FmacOS-scripted-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSwiss-Mac-User%2FmacOS-scripted-setup/lists"}