Coder Social home page Coder Social logo

dotfiles's Introduction

Introduction

This repository contains utilities to help replicate a development environment across machines.

Installation

To install, clone the repository and run the setup script with the following commands:

$ git clone https://github.com/wfa207/dotfiles.git
$ cd dotfiles
$ python -m setup

The script is interactive, so expect to be prompted for input while it runs. Moreover, individual scripts can be run by executing:

$ python -m setup.<path>.<to>.<desired>.<script>

For example, if we wanted to setup the Python development environment (not included in the main setup script above), we could run

$ python -m setup.languages.python

Terminal Utilities

iTerm

iTerm settings should be updated automatically via the setup script. If for whatever reason, the settings are not updated, there are several items to check:

  • Enable preference-loading from the setup/terminal/iterm/config_files folder via the settings in General > Preferences pane in iTerm
    • The "Load preferences from a custom folder or URL" option should be checked
    • Make sure to set "Save Changes" to Automatically
  • Set iTerm's font to a Powerline-enabled font (i.e. Inconsolata) for Powerline-Shell to display correctly
  • Color schemes can be imported from the color_schemes/ directory

Powerline

Powerline helps format the terminal prompt to provide more information on repo status, working directory, etc.

Tmux

Tmux is a powerful tool that essentially splits a single terminal window into as many panes and windows as you want. It also persists "sessions" even after you close the window (unless the Tmux session is explicitly destroyed).

Supported Editors

VSCode

VS Code is currently my preferred editor, setup with VIM key bindings given that's what I'm accustomed to and the Synthwave theme, which I think is pretty nifty.

Vim

I've opted to use VSCode's Vim emulation over traditional Vim given the more streamlined extension management in VSCode. I've kept the Vim setup, nonetheless, and the following instructions might still prove helpful if there's a reason to pick up Vim again.

Check if your version of Vim has the +clipboard option, by running $ vim --version. If it isn't enabled, then you'll have to install the latest version of Vim; you can do this by running $ brew install vim (brew should install vim with the +clipboard option enabled):

Note: It may be smart to add the --with-client-server option, which supports X11 clipboard, allowing you to copy to the system clipboard even when ssh'd into a machine. Homebrew doesn't enable this by default, and I haven't yet looked into adding this in this repo.

Supported Languages

Languages can be setup separately by running:

$ cd dotfiles
$ python -m setup.languages

Languages are not yet packaged with the main setup script, as different environments may require different language-specific tooling that the included script is opinionated about.

Python

The included Python environment script will install:

  • Poetry and Pyenv for dependency and version management, respectively
  • Several Python versions, including 2.7.15 and versions spanning 3.6 to 3.7
  • Language servers for better code introspection (i.e. Jedi / Python Language Server)

Javascript

The included Javascript environment script will install:

dotfiles's People

Contributors

wfa207 avatar

Watchers

James Cloos 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.