{"id":15715965,"url":"https://github.com/kinoute/macos-setup","last_synced_at":"2025-05-12T21:14:21.200Z","repository":{"id":146859851,"uuid":"217381172","full_name":"kinoute/macos-setup","owner":"kinoute","description":"A few scripts to setup a new macOS machine for development.","archived":false,"fork":false,"pushed_at":"2024-04-14T15:56:20.000Z","size":631,"stargazers_count":16,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-02T01:06:01.333Z","etag":null,"topics":["bash","brew","dev-setup","dotfiles","iterm2","mac","macos","macos-setup","scripts","sublime-text","zsh"],"latest_commit_sha":null,"homepage":"","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/kinoute.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"kinoute","custom":"https://paypal.me/whattheshot"}},"created_at":"2019-10-24T19:38:03.000Z","updated_at":"2024-03-28T12:16:55.000Z","dependencies_parsed_at":"2024-08-28T14:35:54.134Z","dependency_job_id":null,"html_url":"https://github.com/kinoute/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/kinoute%2Fmacos-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kinoute%2Fmacos-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kinoute%2Fmacos-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kinoute%2Fmacos-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kinoute","download_url":"https://codeload.github.com/kinoute/macos-setup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249942038,"owners_count":21348949,"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","brew","dev-setup","dotfiles","iterm2","mac","macos","macos-setup","scripts","sublime-text","zsh"],"created_at":"2024-10-03T21:43:33.601Z","updated_at":"2025-04-20T18:31:01.921Z","avatar_url":"https://github.com/kinoute.png","language":"Shell","funding_links":["https://github.com/sponsors/kinoute","https://paypal.me/whattheshot"],"categories":[],"sub_categories":[],"readme":"# macOS setup for Development\n\nSometimes, I have to reinstall everything I need on brand new Macs or Hackintoshes. After getting tired of doing it – especially tweaking macOS manually, I decided to regroup everything here.\n\n**Don't run everything blindlessly.** I reunited these scripts for my own use, a lot of commands or packages may not suit you. Please fork the project or review the files to comment things you don't want.\n\n## Full Installation\n\nIf you want to install _everything_, just do:\n\n```sh\ngit clone git@github.com:kinoute/macos-setup.git\ncd macos-setup\nbash install.sh\n```\n\nIf you can't run the script, you might have to change its attributes. Just do:\n\n```bash\nchmod +x install.sh\n```\n\nWhen started, you will be asked for your password just once in order to install/edit several things on macOS.\n\nThis script basically calls a few [sub-scripts](scripts) that do their own business listed below.\n\n## Manual Installation\n\nIf there are some packages or applications you don't want to install, you have two choices:\n\n* Either you edit the installation files and remove the things you don't want ;\n* Either you run manually the only installation sub-scripts you're interested in.\n\nHere are all the sub-scripts that are called when running the full installation:\n\n### brew.sh\n\nThis [script](scripts/brew.sh) first checks if you have [homebrew](https://brew.sh) installed on your machine. If not, it downloads and installs it. Then it installs a lot of binaries through homebrew.\n\nTo only run this script, do:\n\n```sh\n# important to run the script from the project's directory\nbash scripts/brew.sh \n# you might need to do chmod +x brew.sh before to run this script\n```\n\nThe comments inside the file speak for themselves but to sum up, this script installs:\n\n* A few languages (python, php, zsh, go, node) ;\n* Updated tools (vim, grep, openssh, screen) ;\n* GNU tools (sed, find, locate, xargs...) ;\n* Useful binaries (git, imagemagick, pv, rename, tree, jq, ffmpeg, ripgrep, wget, htop, watch...) ;\n* Some macOS dev-related apps (iTerm2, Sublime Text, VirtualBox, Brave, Miniconda, VSCode..) ;\n* Some random macOS apps (flux, Spotify, VLC, Lulu, Onyx, Transmission, Slack..) ;\n* Some Safari extensions (Adguard, Nightlight) ;\n* Docker and lazydocker to manage easily our containers/images ;\n* The Roboto-Mono font and its powerline version for iTerm 2 / Zsh ;\n* macOS Quicklook plugins (markdown, video, csv, zip, Jupyter notebooks, json..) ;\n* Tools to fix codes automatically (php-cs-fixer, rubocop, autopep8..) ;\n* _Optional:_ Hackintoshes stuff if needed (Karabiner Elements to modify keys).\n\n### conda.sh\n\nThis [script](scripts/conda.sh) only copies some useful Deep Learning environments to `~/.conda`. You can create an environment based one of these files with `conda create`.\n\n### git.sh\n\nThis [script](scripts/git.sh) checks if you have already set up a `.gitconfig`file. If not, it asks for your git username and email and copies a `.gitignore` file containing famous and useful files/folders to ignore on your projects.\n\n### macos.sh\n\nThis [script](scripts/macos.sh) changes a lot of macOS settings for better performance and productivity. You can review all the modifications within the file by reading the comments of each line.\n\n### ssh.sh\n\nThis [script](scripts/ssh.sh) first checks if you already have a SSH key generated. If not, it will generate one for you asking for some additional informations like your email or a passphrase. It will automatically add the new SSH Key to your macOS Keychain and available to use immmediately on your system (and on your clipboard).\n\n### terminal.sh\n\nThis [script](scripts/terminal.sh) sets Zsh as your default shell if you installed it through the script `brew.sh`). It will install the Oh-My-Zsh framework as well and useful plugins like syntax highlighting, auto-suggestions, and nice terminal font.\n\nAlso, It will install useful VIM plugins, load some nice iTerm2 preferences and copy a few configuration files for `screen`, `wget` or `conda`.\n\n## Credits\n\nMade by Yann Defretin. Heavily inspired by:\n* https://github.com/holman/dotfiles\n* https://github.com/mathiasbynens/dotfiles\n* https://github.com/LukeSmithxyz/voidrice\n* https://github.com/thoughtbot/dotfiles\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkinoute%2Fmacos-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkinoute%2Fmacos-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkinoute%2Fmacos-setup/lists"}