Code Monkey home page Code Monkey logo

specl-pair's Introduction

Installation

on a local virtualbox

  1. Clone this repo
  2. Install Vagrant and VirtualBox
  3. vagrant up
  4. vagrant ssh

This will create a clean dev environment with the newest GHC and Cabal. It also includes haskell-vim-now, a vim configured to be a Haskell IDE.

on a public pair programming server

  1. Clone this repo
  2. Install Vagrant
  3. Sign up at DigitalOcean
  4. Fill out your DigitalOcean client ID and API key in Vagrantfile
  5. vagrant plugin install vagrant-digitalocean
  6. vagrant box add digital_ocean https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box
  7. vagrant up --provider=digital_ocean
  8. vagrant ssh

You'll be logged in to a newly created DigitalOcean "droplet."

ps: for some reason I had to create a ssh key with a password otherwise I could not get ssh access to the box

Included software

  1. Ubuntu 16.04
  2. New GHC via Stack
  3. haskell-vim-now
  4. SixArm git config
  5. Firewall, hardened OpenSSH, Fail2ban
  6. Oh My ZSH, Tmux/wemux
  7. Mumble voice chat server (port 64738)

Pairing

To pair program with someone you can give them login access by running

pair github_name

They connect to your server by ssh-add'ing their Github SSH key and running ssh friend@[your-server-ip].

When you're done working with them, run

unpair

Tmux Keybindings

C-a |Split vertically
C-a _Split horizontally
C-hMove to leftward pane
C-lMove to rightward pane
C-jMove to downward pane
C-kMove to upward pane
C-a [Detach cursor to scroll (ENTER stops)
C-a cCreate new window
C-a [0-9]Switch to numbered window

SSH agent forwarding

To access your github repos on the pairing server while keeping your credentials safe on your lacal machine use agent forwarding.

Edit your local ~/.ssh/config file and add an entry for your pair server host.

Host [ip address]
  ForwardAgent yes

Before ssh'ing into the pairing server run

ssh-add ~/.ssh/[keyname]

and it will be available remotely. To test agent forwarding run this remotely

specl-pair's People

Contributors

begriffs avatar dnnx avatar nrolland avatar paniag avatar qzchenwl avatar

Watchers

 avatar  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.