.dotfiles and ansible setup playbook for nodejs, js and even react-native developer working on MacOS/Ubuntu/ElementaryOS
This project consists of two parts:
.dotfiles
for zsh including for oh-my-zsh with some custom aliases, boot scripts and path variables additions- Ansible setup playbook which you need to run on a fresh install of the system which will automatically install everything you need for a comfortable work, such as:
- 🔤 Firacode font - cool font for developers with ligatures.
- ⌨️ fnm -
nvm
replacement. Installs different nodejs on your machine. Ansible will install nodejs 10.14 automatically and make it default. - ⌨️ zsh -
bash
replacement..dotfiles
folder includes a lot of additional stuff forzsh
. - 💻 VS Code - development IDE. Includes
code
cli tool. Following settings will automatically applied:- font changed to Fira Code
- ligatures enabled
- rulers at width 80, 100, 120 are added
- preview mode disabled (clicking the file opens it in a persistant editor)
- extentions automatically installed:
- Gitlens
- Tslint
- Eslint
- Prettier
- 💻 Sublime Text - text editor. Includes
subl
cli tool. - 💻 Sublime Merge - GIT client from the authors of Sublime Text. Includes
smerge
cli tool. - 💻 Robo 3T - MongoDB explorer tool
- 💻 Reactotron - inspector for React Native projects.
- 💻 Postman - API development and testing tool.
- 💻 Android Studio - development IDE for Android developers (needed for
react-native
development). - ⌨️ Docker - application containerization.
- ⌨️ git-flow-avh - git extension to work with Git Flow branching model easily.
- ️️⌨️ micro - terminal-based text editor.
- ⌨️ wifi-password - cli to get the password of currently connected to WiFi network. MacOS only
- Additional tweaks:
git
name and email are asked and set up usingchezmoi
templates.
- Additional Ubuntu tweaks:
fs.inotify.max_user_watches
is set to 524288 to prevent problems withJest
,Webpack
andreact-native
because of watchers number.
Legend
- 💻 For GUI tools (can be launched using Applications)
- ⌨️ For CLI tools (can be launched in the Terminal)
- 🔤 For fonts
- Install chezmoi
- On Mac OS:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install twpayne/taps/chezmoi
- On Ubuntu:
sudo apt install git
wget https://github.com/twpayne/chezmoi/releases/download/v1.4.1/chezmoi_1.4.1-527_linux_amd64.deb
sudo dpkg -i chezmoi_1.4.1-527_linux_amd64.deb
- Init dotfiles
chezmoi init --apply https://github.com/goooseman/dotfiles.git
- If you want to set up your computer automatically
- On Mac:
~/.dotfiles/setup/osx.sh
- Open Terminal.app, then Preferences -> Profiles
- Profile: Desert (click Default button to make it default one)
- Font: Fira Code (should be already selected)
- On Ubuntu
~/.dotfiles/setup/ubuntu.sh
Provide your user account password if BECOME password is asked.
Current features are still WIP, help will be appreciated:
- ⌨️ Android SDK - mandatory SDK for
react-native
development. Includesadb
,android
,emulator
cli tools. - Android emulators automatic set up:
- Nexus 5
- Nexus 7
- Nexus 10
This project contains my configuration of raspberry pi headless media server including plex, qbittorrent, aria2 with web interface.
- Download
Raspbian Stretch Lite
image from official website and burn it to SD card. Create an emptyssh
orssh.txt
file in the boot partition of the sd card. - Boot raspberry, connect with ssh from other computer:
ssh -o PubkeyAuthentication=no pi@raspberrypi.local
(password:raspberry
) - Change user password:
sudo passwd pi
- Install chezmoi:
sudo apt-get install git
wget https://github.com/twpayne/chezmoi/releases/download/v1.4.2/chezmoi_1.4.2-621_linux_armel.deb
sudo dpkg -i chezmoi_1.4.2-621_linux_armel.deb
- Init dotfiles:
chezmoi init --apply https://github.com/goooseman/dotfiles.git
- Generate ssh key to access your Raspberry and copy them (on your local machine):
ssh-copy-id -i ~/.ssh/pi.pub -o PubkeyAuthentication=no pi@raspberrypi.local
- Run setup script:
~/.dotfiles/setup/pi.sh
sudo connectd_installer
- Reboot
sudo reboot