Giter Site home page Giter Site logo

dotfiles's Introduction

Goooseman's dotfiles

.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 for zsh.
    • 💻 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 using chezmoi templates.
    • Additional Ubuntu tweaks:
      • fs.inotify.max_user_watches is set to 524288 to prevent problems with Jest, Webpack and react-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

Installation

  1. 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
  1. Init dotfiles
  • chezmoi init --apply https://github.com/goooseman/dotfiles.git
  1. 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.

WIP

Current features are still WIP, help will be appreciated:

  • ⌨️ Android SDK - mandatory SDK for react-native development. Includes adb, android, emulator cli tools.
  • Android emulators automatic set up:
    • Nexus 5
    • Nexus 7
    • Nexus 10

Raspberry Pi

This project contains my configuration of raspberry pi headless media server including plex, qbittorrent, aria2 with web interface.

Setup

  1. Download Raspbian Stretch Lite image from official website and burn it to SD card. Create an empty ssh or ssh.txt file in the boot partition of the sd card.
  2. Boot raspberry, connect with ssh from other computer: ssh -o PubkeyAuthentication=no [email protected] (password: raspberry)
  3. Change user password: sudo passwd pi
  4. 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
  1. Init dotfiles: chezmoi init --apply https://github.com/goooseman/dotfiles.git
  2. Generate ssh key to access your Raspberry and copy them (on your local machine):
  1. Run setup script: ~/.dotfiles/setup/pi.sh
  2. sudo connectd_installer
  3. Reboot sudo reboot

TODO

dotfiles's People

Contributors

goooseman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.