ds-laptop-setup is a script to setup a macOS laptop for Nesta's data science workflows. It installs the softwares described in the new starters laptop setup guide.
The script can be run multiple times, with any existing installations skipped or upgraded, without encountering any errors.
The script has been tested on macOS Sequoia (15.x) on Apple Silicon, but should run on Intel chips and older versions of macOS. Further testing will be implemented as necessary. Please file a bug report as an issue if you come across any errors.
Installation requires admin rights. For Nesta colleagues, please request admin permissions via the #ask-tech-nesta Slack channel.
Download and execute the script:
curl --remote-name https://raw.githubusercontent.com/nestauk/ds-laptop-setup/main/mac
sh mac 2>&1 | tee ~/laptop.log
Run with admin rights. You may be prompted to enter your password during the installation process, and select to install optional dependencies when the prompts appear. On MacOS, you do not see characters when typing your password in the shell.
If you encounter any errors, review the log:
less ~/laptop.log
Then submit an issue.
Command-line tools (Python):
- uv, another Python package manager and installer (all-in-one!)
- pyenv Python version manager
- pyenv-virtualenv, pyenv plugin to manage Python versions within virtual environments
- poetry, yet another Python package manager
- miniconda (optional), system package manager that we mainly use for our Python environment setup
- ruff for Python formatting and linting
Command-line tools (Other):
- git for version control
- awscli to interact with AWS from the command line
- homebrew package manager for installing software on your machine
- cookiecutter tool to build projects from templates
- Rust toolchain depended upon by many modern packages
Development tools:
- Visual Studio Code code editor, command line interface, and helpful extensions for easier development
- Docker for containerized development
- direnv to read environment variables from your directory
System setup:
- iTerm2 terminal
- zsh as your shell language
- Xcode developer tools, prerequisite for other applications
Test your changes by running the script on a fresh install of macOS. You can use the free and open source emulator UTM.
Tip: Make a fresh virtual machine with the installation of macOS completed and your user created and first launch complete. Then duplicate that machine to test the script each time on a fresh install that's ready to go.
This project derives from thoughtbot/laptop, with the approach and base script adapted to Nesta's data science development environment.