> For the complete documentation index, see [llms.txt](https://founders-and-coders.gitbook.io/coursebook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://founders-and-coders.gitbook.io/coursebook/src/course/precourse/installation-list.md).

# Installation List

## For OSX Users:

* Install [Brew](http://brew.sh/)
* Optional: iTerm2

## For Linux Users:

| Distro                               | Base                              | Package Manager                                         |
| ------------------------------------ | --------------------------------- | ------------------------------------------------------- |
| [Ubuntu](https://www.ubuntu.com/)    | [Debian](https://www.debian.org/) | [APT](https://help.ubuntu.com/lts/serverguide/apt.html) |
| [Linux Mint](https://linuxmint.com/) | [Debian](https://www.debian.org/) | [APT](https://help.ubuntu.com/lts/serverguide/apt.html) |

* Ubuntu and Linux Mint are probably the two most used desktop Linux distros out there. Mint is becoming increasingly popular and in a lot of ways, is more beginner-friendly than Ubuntu. It also uses up less memory resource (the most lightweight Mint edition is XFCE), and will be better suited to slower machines.

## For Windows Users:

* For the course you'll **need** to install a Linux operating system on your machine and dual boot - students in the past who have tried to use Windows always encounter big setbacks with installation problems and general incompatibility issues.
* Be sure to back up your files before you start, in case anything goes wrong. You will still be able to use Windows alongside Linux and if everything goes right, you won't lose any data.
* It's not as scary as it sounds! There are a lot of articles online to help you. Due to a lot of different OS configurations you may be best off searching google for your specific OS + distro (eg: "dual boot windows 10 and Ubuntu"). However here are some links that may be useful:
* [How to install Ubuntu 18.04 alongside Windows 10](https://askubuntu.com/questions/1031993/how-to-install-ubuntu-18-04-alongside-windows-10)
* [Dual boot Linux on other Windows OS's](https://www.howtogeek.com/214571/how-to-dual-boot-linux-on-your-pc/)
* We shall have a couple of FAC students and alumni available at the installation party to guide you through installing linux. Please come along if you have Windows OS.
* Finally please do not hesistate to come to a meetup or contact us on slack if you are having trouble, we can help!

If you're having hardware or permissions issues when dual booting, you may be able to use [Windows Subsystem for Linux](https://wiki.ubuntu.com/WSL). If you're going down this route, please make sure postgres is installed correctly too.

## Chromebook Users:

* Chromebooks [all now officially run Linux](https://www.techradar.com/uk/news/all-chromebooks-will-now-be-linux-ready) and [setting it up on older machines](https://support.google.com/chromebook/answer/9145439?hl=en-GB) is pretty simple, too.

## For Everyone:

* Install and manage Node.js using [nvm](https://github.com/creationix/nvm). &#x20;

  Note: We will be covering Node.js during the course. If you are curious and would like some background reading, [Art of Node](https://github.com/maxogden/art-of-node) is a great resource.
* [Install PostgreSQL](https://github.com/coding-wiki/learn-sql/blob/master/postgresql/setup.md)
* Install a text editor of your choice. We recommend:
  * [VS Code](https://code.visualstudio.com/) - because of it's source control and liveShare features
* Install Chrome
* [Setup SSH access to your Github account](https://help.github.com/articles/generating-an-ssh-key/)
* Install [Postman](https://www.postman.com/)
* Chrome extensions:
  * JSONView
* Make sure to explore your editors plugin ecosystem for useful plugins:
  * [VSCode Marketplace](https://marketplace.visualstudio.com/VSCode) - we recommend prettier and Rainbow Brackets
* Download the [Slack Desktop Client](https://slack.com/intl/en-gb/downloads) - the interface is easier to manage the different workspaces you'll be part of
* ...but don't be overwhelmed, you don't *need* to install anything further
