Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kurone-kito/setup.macos

đŸ’» Desktop environment preference for macOS Ventura (Apple Sillicon and intel supported); since 2019.3
https://github.com/kurone-kito/setup.macos

asdf desktop-environment-preference homebrew macos macos-setup mkcert nodejs prezto setup-development-environment shell-script

Last synced: 19 days ago
JSON representation

đŸ’» Desktop environment preference for macOS Ventura (Apple Sillicon and intel supported); since 2019.3

Awesome Lists containing this project

README

        

# 🍎 Auto setup for developing environment on macOS

Desktop environment preference for macOS Sonoma
(Apple Silicon and Intel supported)
macOS Sonoma (Apple Silicon / intel äžĄćŻŸćżœ)
ć‘ă‘ăźäœœæ„­ç’°ćąƒă‚»ăƒƒăƒˆă‚ąăƒƒăƒ—ă‚čクăƒȘプト

## Overview

Fully automate the installation and settings of the app to make it easier
to create an environment when you buy a new Mac.
æ–°ă—ă„ Mac ă‚’èłŒć…„ă—ăŸéš›ă«ă€ă‚ˆă‚Šæ‰‹è»œă«ç’°ćąƒæ§‹çŻ‰ă™ă‚‹ăŸă‚ă«ă€
ケプăƒȘăźă‚€ăƒłă‚čăƒˆăƒŒăƒ«ă‚„èš­ćźšă‚’ć…šè‡Șć‹•ćŒ–ă—ăŸă™ă€‚

## Usage

First, **give the terminal "full disk access" privileges** by seeing the
following URL.
æœ€ćˆă«ă€ä»„äž‹ăź URL ă‚’ć‚è€ƒă«ă—ăŠă€
**ă‚żăƒŒăƒŸăƒŠăƒ«ă«ăƒ•ăƒ«ăƒ‡ă‚Łă‚čă‚Żă‚ąă‚Żă‚»ă‚čæš©é™ă‚’äžŽăˆăŠăă ă•ă„ă€‚**

Then just run the following command! You can also start it by
double-clicking from the Finder app.
æŹĄă«ä»„äž‹ăźă‚łăƒžăƒłăƒ‰ă‚’ćźŸèĄŒă™ă‚‹ă ă‘ă§ă™ïŒ
Finder ă‹ă‚‰ăƒ€ăƒ–ăƒ«ă‚ŻăƒȘăƒƒă‚Żă§è”·ć‹•ă—ăŠă‚‚æ§‹ă„ăŸă›ă‚“ă€‚

```sh
./setup
```

The script used to use the Ansible, but now it didn't because it's a bit
too lengthy.
か぀おは Ansible ă‚’äœżç”šă—ăŠă„ăŸă—ăŸăŒă€
ć°‘ă€…ć†—é•·ă™ăŽă‚‹ăŸă‚ä»ŠăŻäœżç”šă—ăŠă„ăŸă›ă‚“ă€‚

## Details

### Apps install

When the interactive operation is required, implemented voice notifications
as much as possible.
ćŻŸè©±çš„ăȘæ“äœœăŒćż…èŠă«ăȘる栮搈、
ă§ăă‚‹é™ă‚ŠéŸłćŁ°ă§ăźé€šçŸ„ă‚’ă™ă‚‹ă‚ˆă†ă«ćźŸèŁ…ă—ăŠă„ăŸă™ă€‚

Unless otherwise specified, as a general rule, install via Homebrew or Cask.
ç‰č筆ăȘき栮搈、掟扇べしど Homebrew ăŸăŸăŻ Cask ç”Œç”±ă§ă‚€ăƒłă‚čăƒˆăƒŒăƒ«ă—ăŸă™ă€‚

CLI Apps

| note | description |
| :-----: | :---------------------------------------------------------------------------------- |
| **`!`** | **DEPENDENCIES**: Removing this app may cause this setup to stop working correctly. |
| `-A` | without Apple Silicon Processor |

#### Benchmark

- [cloc](https://github.com/AlDanial/cloc)
- [fastfetch](https://github.com/fastfetch-cli/fastfetch)

#### Configuration tools

- [chezmoi](https://www.chezmoi.io/)

#### Convert tools for Media binary

- [FFmpeg](https://www.ffmpeg.org/)
- [ImageMagick](https://imagemagick.org/index.php)
- [libvips](https://libvips.github.io/libvips/)

#### Convert tools for Texts

- [groff](https://www.gnu.org/software/groff/)
- [jq](https://stedolan.github.io/jq/)
- [nkf](https://osdn.net/projects/nkf/)

#### Database

- [SQLite](https://www.sqlite.org/)

#### Development

- [ANTLR](https://www.antlr.org/)
- [asdf](http://asdf-vm.com/)
- plugin: [asdf-dotnet](https://github.com/hensou/asdf-dotnet)
- [.NET](https://dotnet.microsoft.com/) (via asdf-dotnet)
- v6.0
- v8.0
- plugin: [asdf-nodejs](https://github.com/asdf-vm/asdf-nodejs) (via asdf)
- [Node.js](https://nodejs.org/) (via asdf-nodejs)
- v18 LTS Hydrogen
- v20 LTS Iron
- v22
- plugin: [asdf-python](https://github.com/danhper/asdf-python) (via asdf)
- [Python](https://www.python.org) (via asdf-python)
- v2
- v3 (via deep dependencies of the Homebrew packages: e.g., AWS CLI, and others)
- [CMake](https://cmake.org)
- **`!`** Command Line Tools for Xcode (via xcode-select CLI)
- **`!`** [gawk: GNU awk utility](https://www.gnu.org/software/gawk/)
- **`!`** [GCC: the GNU Compiler Collection](https://gcc.gnu.org)
- [Microsoft .NET SDK](https://dotnet.microsoft.com/)
- [lv2: LADSPA v2](https://lv2plug.in/)
- `(-A)` [Mono](https://www.mono-project.com/)
- **`!`** [Rust](https://www.rust-lang.org/)
- [shellcheck](https://www.shellcheck.net)
- [vrc-get](https://vrc-get.anatawa12.com/)

#### Documentation

- [mdp](https://github.com/visit1985/mdp)
- [pandoc](https://pandoc.org/)
- [wkhtmltopdf](https://wkhtmltopdf.org/)

#### Files management

- [bat](https://github.com/sharkdp/bat)
- [broot](https://dystroy.org/broot/)
- [fzf](https://github.com/junegunn/fzf)
- [myside](https://github.com/mosen/mysides)
- [p7zip](https://sourceforge.net/projects/p7zip/)
- [rename](http://plasmasturm.org/code/rename/)
- [rsync](https://rsync.samba.org/)

#### Packages manager

- [Homebrew](https://brew.sh/) (directly install)
- **`!`** [mas-cli](https://github.com/mas-cli/mas)
- [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD)
- [Whalebrew](https://github.com/whalebrew/whalebrew)

#### Runtime

- [AdoptOpenJDK](https://adoptopenjdk.net/)
- [Apple Rosetta 2](https://support.apple.com/HT211861)
via Apple Software Update

#### Testing

- [Microsoft PICT](https://jaccz.github.io/pairwise/)
- [mkcert](https://mkcert.dev/)
- [Mozilla Network Security Services](https://developer.mozilla.org/en/docs/Mozilla/Projects/NSS)
- [ngrok](https://ngrok.com/)

#### Version control system

- [Apache Subversion](https://subversion.apache.org/)
- [Gist](http://defunkt.io/gist/)
- **`!`** [Git](https://git-scm.com/)
- **`!`** [Git Large File Storage](https://git-lfs.github.com/)
- [git-delta: A viewer for git and diff output](https://github.com/dandavison/delta)
- [git-vrc](https://github.com/anatawa12/git-vrc) (via cargo)
- [GitHub CLI](https://cli.github.com/)
- [GLab: GitLab CLI tool](https://glab.readthedocs.io/)

#### Remote

- [awscli](https://aws.amazon.com/cli/)
- [aws-nuke](https://github.com/rebuy-de/aws-nuke)
- [AWS SAM CLI](https://aws.amazon.com/serverless/sam/)
- **`!`** [curl](https://curl.se)
- **`!`** [GNU wget](https://www.gnu.org/software/wget/)
- [minicom](https://salsa.debian.org/minicom-team/minicom)
- [Mosh](https://mosh.org)
- [nmap](https://nmap.org/)
- [OpenVPN](https://openvpn.net/)
- [inetutils: GNU network utilities](https://www.gnu.org/software/inetutils/)
- [Tor](https://www.torproject.org/)

#### Shell

- [bats-core](https://bats-core.readthedocs.io/)
- [lporg](https://github.com/blacktop/lporg)
- [Microsoft PowerShell](https://microsoft.com/PowerShell)
- [Prezto](https://github.com/sorin-ionescu/prezto) (via Git)
- [Powerlevel10k](https://github.com/romkatv/powerlevel10k) (via Prezto)
- [The Fuck](https://github.com/nvbn/thefuck)
- [tmux](https://github.com/tmux/tmux)
- **`!`** [zsh-completions](https://github.com/zsh-users/zsh-completions)

#### Signature

- **`!`** [GnuPG: The GNU Privacy Guard](https://gnupg.org/)
- **`!`** [PINEntry for Mac](https://github.com/GPGTools/pinentry)
- **`!`** [Unbound](https://www.nlnetlabs.nl/projects/unbound/)

#### System

- **`!`** [Coreutils: GNU Core Utilities](https://www.gnu.org/software/coreutils/coreutils.html)
- [gotop](https://github.com/xxxserxxx/gotop)
- [htop](https://htop.dev)
- [Mackup](https://github.com/lra/mackup)
- **`!`** [Proctools: pgrep, pkill and pfind for Darwin](http://proctools.sourceforge.net/)

#### Text Browsing

- [cheat](https://github.com/cheat/cheat)
- [links](http://links.twibright.com/)
- [tldr pages](https://tldr.sh)

#### Text editors

- [GNU Nano](https://www.nano-editor.org)
- [Neovim](https://neovim.io/)
- [Vim](https://www.vim.org/)

#### Virtualizations

- [act](https://github.com/nektos/act)
- [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner)
- [Parallels Virtualization SDK](https://www.parallels.com/products/desktop/download/)
- [Vagrant](https://www.vagrantup.com/)
- plugins (via Vagrant)
- `(-A)` [vagrant-disksize](https://github.com/sprotheroe/vagrant-disksize)
- [Vagrant Parallels Provider](https://parallels.github.io/vagrant-parallels/)
- [Vagrant Reload Provisioner](https://github.com/aidanns/vagrant-reload)
- `(-A)` [vagrant-vbguest](https://github.com/dotless-de/vagrant-vbguest)

#### Others

- [gti](https://r-wos.org/hacks/gti)
- [Nyancat CLI](http://nyancat.dakko.us/)
- [sl](https://github.com/mtoyoda/sl)

Desktop Apps

Apps that exist in the Mac App Store are temporarily not installed by this
script. It's because the installation is unstable and very slow.
Mac App Store ă‹ă‚‰ă‚€ăƒłă‚čăƒˆăƒŒăƒ«ćŻèƒœăȘケプăƒȘは、
こぼă‚čクăƒȘăƒ—ăƒˆă§ăŻæš«ćźšçš„ă«ă‚€ăƒłă‚čăƒˆăƒŒăƒ«ă—ăȘă„ă‚ˆă†ă«ă—ăŠă„ăŸă™ă€‚
ă‚€ăƒłă‚čăƒˆăƒŒăƒ«ăŒäžćź‰ćźšă‹ă€éžćžžă«äœŽé€ŸăšăȘるためです。

| note | description |
| :-----: | :---------------------------------------------------------------------------------- |
| **`!`** | **DEPENDENCIES**: Removing this app may cause this setup to stop working correctly. |
| `-A` | without Apple Silicon Processor |

#### 3D Modeling

- [Blender](https://www.blender.org/)
- [FreeCAD](https://www.freecadweb.org/)

#### Audios, Videos, and Broadcasting

- [Amazon Prime Video](https://www.primevideo.com/) (via Mac App Store)
- [Apple GarageBand](https://www.apple.com/mac/garageband/)
(via Mac App Store)
- [Apple iMovie](https://www.apple.com/imovie/) (via Mac App Store)
- [Apple Logic Pro](https://www.apple.com/logic-pro/)
(via Mac App Store)
- [iZotope Product Portal](https://www.izotope.com/)
- [OBS Studio](https://obsproject.com/)
- [Restream Chat](https://restream.io/chat/)
- [Rogue Amoeba Audio Hijack](https://rogueamoeba.com/audiohijack/)
- [Rogue Amoeba Loopback](https://rogueamoeba.com/loopback/)
- [Sonic Visualiser](https://sonicvisualiser.org/)
- [Voicepeak](https://www.ah-soft.com/voice/)

#### Authentication

- `(-A)` [Keybase](https://keybase.io/)

#### Benchmark

- [Blackmagic Disk Speed Test](https://apps.apple.com/app/blackmagic-disk-speed-test/id425264550)
(via Mac App Store)
- [MAXON Cinebench](https://www.maxon.net/ja/cinebench) (via Mac App Store)

#### Cloud storages

- [Adobe Creative Cloud](https://www.adobe.com/creativecloud.html)
- [Microsoft OneDrive](https://www.microsoft.com/microsoft-365/onedrive)
- [OmniPresence](https://www.omnigroup.com/more)

#### Development

- [ALCOM](https://vrc-get.anatawa12.com/alcom/)
- [Android Studio](https://developer.android.com/studio)
- [Apple Developer](https://apps.apple.com/us/app/apple-developer/id640199958)
(via Mac App Store)
- **`!`** [Apple Xcode](https://developer.apple.com/xcode/) (via Mac App Store)
- [Apple TestFlight](https://testflight.apple.com/) (via Mac App Store)
- [Figma](https://www.figma.com/downloads/)
- [React Native Debugger](https://github.com/jhen0409/react-native-debugger)
- [Unity Hub](https://unity3d.com/)
- Unity version 2019.4.31f1 (via Unity Hub)
- Unity version 2022.3.6f1 (via Unity Hub)
- with the common modules
- Module: Android Build Support
- Module: Windows Build Support (Mono)
- Module: Documentation
- Module: Language Pack (Japanese)

#### Devices

- [scrcpy](https://github.com/Genymobile/scrcpy)
- [Canon Satera MF Printer driver](https://cweb.canon.jp/satera/mfp/)
- `(-A)` [Haptic Touch Bar](https://www.haptictouchbar.com)
(Troublesome to determine whether or not the TouchBar is present)
- [Karabiner-Elements](https://karabiner-elements.pqrs.org)
- [logicool G Hub](https://gaming.logicool.co.jp/innovation/g-hub.html)
- [Raspberry Pi Imager](https://www.raspberrypi.org/software/)
- [X-Mirage](https://www.x-mirage.jp/)

#### Documents and Office apps

- [Amazon Kindle](https://www.amazon.com/kindle) (via Mac App Store)
- [ChatGPT](https://chatgpt.com/)
- [Manta](https://getmanta.app/) (via Mac App Store)
- [Apple Keynote](https://www.apple.com/keynote/) (via Mac App Store)
- [Apple Numbers](https://www.apple.com/numbers/) (via Mac App Store)
- [Apple Pages](https://www.apple.com/pages/) (via Mac App Store)
- [Microsoft Excel](https://www.microsoft.com/microsoft-365/excel)
(via Mac App Store)
- [Microsoft OneNote](https://www.microsoft.com/microsoft-365/onenote)
(via Mac App Store)
- [Microsoft PowerPoint](https://www.microsoft.com/microsoft-365/powerpoint)
(via Mac App Store)
- [Microsoft Word](https://www.microsoft.com/microsoft-365/word)
(via Mac App Store)

#### Games

- [Human Resource Machine](http://tomorrowcorporation.com/humanresourcemachine)
(via Mac App Store)
- [Minecraft Java Edition](https://www.minecraft.net/)
- [Steam](https://store.steampowered.com/)

#### Memos and Tasks

- [Grammarly](https://www.grammarly.com/) (via Mac App Store)
- [Microsoft To Do](https://todo.microsoft.com/) (via Mac App Store)
- [Notion](https://www.notion.so/)
- [OmniFocus](https://www.omnigroup.com/omnifocus/) (via Mac App Store)

#### Messaging and Socials

- [Discord](https://discord.com/)
- [Facebook Messenger](https://www.messenger.com/) (via Mac App Store)
- [LINE](https://line.me/) (via Mac App Store)
- [Microsoft Skype](https://www.skype.com/)
- [Microsoft Teams](https://www.microsoft.com/ja-jp/microsoft-teams/group-chat-software)
- [Slack](https://slack.com/) (via Mac App Store)
- [Twitter](https://twitter.com/) (via Mac App Store)
- [Zoom](https://zoom.us/)

#### Remote

- [Amazon Workspaces](https://clients.amazonworkspaces.com/)
- [Apple Remote Desktop](http://www.apple.com/remotedesktop/) (via Mac App Store)
- [Microsoft Remote Desktop](https://apps.apple.com/app/microsoft-remote-desktop/id1295203466)
(via Mac App Store)
- [OpenVPN Connect](https://openvpn.net/client-connect-vpn-for-mac-os/)
- [Real VNC Viewer](https://www.realvnc.com/connect/download/viewer/)
- [SwitchHosts](https://switchhosts.vercel.app)
- [TeamViewer](https://www.teamviewer.com/)

#### Terminal

- [term](https://github.com/liyanage/macosx-shell-scripts/blob/master/term)
- [terminal-notifier](https://github.com/julienXX/terminal-notifier)

#### Text editors

- [Cursor](https://www.cursor.so/)
- [Sublime Text](https://www.sublimetext.com/)
- [Visual Studio Code](https://code.visualstudio.com/)

#### Virtualizations

- [DOSBox-X](https://dosbox-x.com)
- [Docker Desktop](https://www.docker.com/products/docker-desktop)
- [Parallels Desktop](https://www.parallels.com/) (via Mac App Store)
- `(-A)` [Oracle VM Virtualbox + Extension Pack](https://www.virtualbox.org/)

#### Web browsers

- [Google Chrome](https://www.google.com/chrome/)
- `(-A)` [Chromium](https://www.chromium.org/Home)
- [Insomnia](https://insomnia.rest/)
- [Mozilla Firefox ESR](https://www.mozilla.org/firefox/)
- [Tor Browser](https://www.torproject.org/projects/torbrowser.html)
- Some extensions for Apple Safari (via Mac App Store)
- [Grammarly for Safari](https://apps.apple.com/app/grammarly-for-safari/id1462114288)

Fonts

| note | description |
| :-----: | :---------------------------------------------------------------------------------- |
| **`!`** | **DEPENDENCIES**: Removing this app may cause this setup to stop working correctly. |

- **`!`** [癜æș: HackGen Nerd](https://github.com/yuru7/HackGen)
- [IBM Plex](https://www.ibm.com/plex/)
- [Lato](https://fonts.google.com/specimen/Lato)
- **`!`** [Meslo LG](https://github.com/andreberg/Meslo-Font)

### Install the upgrade script

Install a script to upgrade the installed app with just one command.
ăČăšă€ăźă‚łăƒžăƒłăƒ‰ă ă‘ă§ă€
ă‚€ăƒłă‚čăƒˆăƒŒăƒ«ă—ăŸă‚ąăƒ—ăƒȘă‚’ă‚ąăƒƒăƒ—ă‚°ăƒŹăƒŒăƒ‰ă™ă‚‹ă‚čクăƒȘăƒ—ăƒˆă‚’ă‚€ăƒłă‚čăƒˆăƒŒăƒ«ă—ăŸă™ă€‚

Usage & Details

```sh
~/bin/update
```

- Upgrade the apps installed via the Homebrew
- Upgrade the plugins of Vagrant
- Upgrade the Docker images
- Upgrade the Prezto
- Upgrade the asdf (.NET, Node.js, and Python)

### Pulls some docker images

list

| Image | Tag |
| :---------------------------- | :--------------------------------------------------------------------------------------- |
| `hello-world` | _`latest`_ |
| `alpine` | _`latest`_ |
| `busybox` | _`latest`_ |
| `debian` | _`latest`_ |
| `ubuntu` | _`latest`_ |
| `docker` | `dind`, `git`, _`latest`_ |
| `node` | `18`, `18-alpine`, `18-slim`, `20`, `20-alpine`, `20-slim`, `22`, `22-alpine`, `22-slim` |
| `gitlab/gitlab-runner` | _`latest`_ |
| `ghcr.io/catthehacker/ubuntu` | `act-22.04`, `act-latest`, ~~`ubuntu:full-20.04`~~, ~~`ubuntu:full-latest`~~ |

### Initialize for Zsh / Prezto / Powerlevel10k

The script creates a symbolic link to the Prezto default profile.
Also, add a definition so that you can scan under the `~/.zsh.d` folder
when starting the interactive shell.
ă‚»ăƒƒăƒˆă‚ąăƒƒăƒ— ă‚čクăƒȘプトは Prezto æ—ąćźšăźăƒ—ăƒ­ăƒ•ă‚Ąă‚€ăƒ«ăžă€
ă‚·ăƒłăƒœăƒȘックăƒȘăƒłă‚Żă‚’äœœæˆă—ăŸă™ă€‚ćŒæ™‚ă«ă€ćŻŸè©±ă‚·ă‚§ăƒ«é–‹ć§‹æ™‚ă« `~/.zsh.d`
ăƒ•ă‚©ăƒ«ăƒ€é…äž‹ă‚’ă‚čă‚­ăƒŁăƒłă§ăă‚‹ă‚ˆă†ćźšçŸ©ă‚’èżœćŠ ă—ăŠă„ăŸă™ă€‚

### Initialize for web-frontend development environment

The script creates and installs a local CA in the system root store,
and generates locally-trusted certificates using the mkcert.
ă‚»ăƒƒăƒˆă‚ąăƒƒăƒ— ă‚čクăƒȘプトは mkcert ă‚’äœżç”šă—ăŠă€ă‚·ă‚čăƒ†ăƒ ăƒ«ăƒŒăƒˆă‚čăƒˆă‚ąă«ăƒ­ăƒŒă‚«ăƒ«
CA ă‚’äœœæˆă—ăŠă‚€ăƒłă‚čăƒˆăƒŒăƒ«ă—ă€ăƒ­ăƒŒă‚«ăƒ«ă§äżĄé Œă§ăă‚‹èšŒæ˜Žæ›žă‚’ç”Ÿæˆă—ăŸă™ă€‚

Also, by starting Firefox in this process, if the root store does not exist,
it will be initialized.
ăŸăŸă€ă“ăźć·„çš‹ă§ Firefox ă‚’è”·ć‹•ă™ă‚‹ă“ăšă«ă‚ˆă‚Šă€
ăƒ«ăƒŒăƒˆă‚čトケが歘朹しăȘă„ć Žćˆă€ćˆæœŸćŒ–ă—ăŸă™ă€‚

### Customization of macOS desktop

See: [https://macos-defaults.com/](https://macos-defaults.com/)

## See also

- Depended repository: [kurone-kito/dotfiles](https://github.com/kurone-kito/dotfiles)

## Playground

Using Vagrant and Virtualbox, you can try out the script in a virtual
environment.
Vagrant ず Virtualbox ă‚’äœżç”šă—ăŠă€ä»źæƒłç’°ćąƒă§ă‚čクăƒȘăƒ—ăƒˆă‚’è©Šă™ă“ăšăŒă§ăăŸă™ă€‚

```sh
vagrant up
```

The script can also be attempted via the `test` script, but this script is
not maintained and is deprecated.
こぼă‚čクăƒȘプトを `test` ă‚čクăƒȘăƒ—ăƒˆç”Œç”±ă§ă‚‚è©ŠèĄŒćŻèƒœă§ă™ăŒă€
こぼă‚čクăƒȘプトはメンテナンă‚čしどいăȘă„ăźă§éžæŽšć„šă§ă™ă€‚

## Contributing

Welcome to contribute to this repository! For more details,
please refer to [CONTRIBUTING.md](.github/CONTRIBUTING.md).

## License

MIT