wprater / dotfiles

My mostly shell-related config files--.bashrc, .bash_profile, .inputrc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

Config files for various tools I use, or have used in the past, such as fish, git, jed, Sublime Text, Atom and Visual Studio Code.

It's very unlikely that anyone will want to use this directly; the more interesting directories are:

  • fish - configuration and startup files for fish shell.
  • bin - hacky little bash scripts for various things.
  • fish functions - more scripts, generally those that are awkward/impossible to write in bash.
  • etc/git/templates - git hooks
  • docker - Dockerfile

Prerequisites

Getting locale-related errors when going through these steps?

  1. Generate missing locales: locale-gen en_GB.UTF-8

git

Ubuntu OS X
sudo apt-get install git-core Install Xcode

No sudo? (If, for example, you're on a Gandi VPS.)

  1. Login as root: ssh root@server
  2. Install sudo: apt-get install sudo
  3. Edit /etc/sudoers: visudo
  4. Add the line: mjs ALL=(ALL) NOPASSWD:ALL

Don't want to install Xcode?

Run git and install the command-line tools. (This also saves a lot of diskspace.)

fish

Ubuntu

Via PPA:

  1. Install apt-add-repository: sudo apt-get install software-properties-common
  2. Add fish PPA: https://launchpad.net/~fish-shell/+archive/ubuntu/release-2

Via DEB:

  1. Download appropriate package from https://launchpad.net/~fish-shell/+archive/ubuntu/release-2/+packages.
  2. Install via e.g. sudo dpkg -i fish_2.3.0-1~trusty_amd64.deb.

OS X

Via brew:

brew install fish

Don't already have brew?

If you want to install into /usr/local ...

See http://brew.sh.

If you want to install somewhere else ...

See alternative installs. (Installing into ~/local/homebrew, and symlinking brew into ~/local/homebrew/bin might be a good option.)

Note that the binaries are symlinked into whatever directory brew is installed into. (So if brew is symlinked into /usr/local/bin, then all executables installed by brew will be symlinked into there as well.) This can be useful if you want to install brew in your home directory, but symlink binaries into /usr/local/bin.

Other Platforms

See http://fishshell.com/.

Installation

$ cd $HOME
$ git clone https://github.com/ithinkihaveacat/dotfiles.git .dotfiles
$ cd $HOME/.dotfiles
# Pull from ro repo, push to rw
$ git remote set-url origin --push git@github.com:ithinkihaveacat/dotfiles.git
$ ./update                                 # if brew in PATH
$ PATH=~/local/homebrew/bin:$PATH ./update # if brew not in PATH
# On OS X, logout and login again

Note that update may be destructive—if you have "unmanaged" files in locations such as ~/Library/KeyBindings or ~/Library/Fonts, they will be wiped out!

(Though it is safe to run update multiple times.)

Manual Changes

All Platforms

jed

If you have problems installing jed from packages, it can be installed manually via something like:

# slang
wget http://www.jedsoft.org/snapshots/slang-pre2.3.1-40.tar.gz
# extract
./configure --prefix=$HOME/local --libdir=$HOME/local/homebrew/lib --includedir=$HOME/local/homebrew/include --without-x --without-png
make
make install

# jed
wget http://www.jedsoft.org/snapshots/jed-pre0.99.20-111.tar.gz
# extract
./configure --prefix=$HOME/local --libdir=$HOME/local/homebrew/lib --includedir=$HOME/local/homebrew/include --without-x
make
make install

direnv

git clone https://github.com/direnv/direnv
cd direnv
env DESTDIR=$HOME/local make install

nodejs-install

curl -s https://raw.githubusercontent.com/wilmoore/nodejs-install/master/bin/nodejs-install > $HOME/local/bin/nodejs-install
chmod +x $HOME/local/bin/nodejs-install

macOS

(See this script for some tips on how to change some of these settings automatically.)

Configure Terminal

Import the etc/Solarized-Dark.terminal profile. (See this script for some information on how to do this automatically.)

Configure keyboard

  • Open System Preferences > Keyboard
    • Open Shortcuts > Services > File and Folders, enable "New Terminal at Folder".
    • Open Text, disable "Correct spelling automatically".

Add Lock Screen option to Menu Bar

Configure via "Keychain Access" preferences.

Add Volume Controls to Menu Bar

Configure via the "Sound" system preference panel.

Disable local Time Machine backups

$ sudo tmutil disablelocal

Install "Network Link Conditioner"

https://developer.apple.com/download/more/?q=Additional%20Tools

This provides a way to simulate degraded network conditions (more info).

Install GitHub theme for iA Writer

See https://ia.net/writer/templates/.

Disable Hot Corners

Via System Preferences.

Ubuntu

Emacs Keybindings

Get emacs keybindings across all gtk apps (source):

$ gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"

Compose Key

Set the compose key to Caps Lock so that you can e.g. hold down Caps Lock and type --- to get an mdash.

Fonts

Open "System Settings", change the fonts as below:

Fonts

Terminal

Change Colour Scheme

Run the following gconftool commands to set Solarized colours correctly:

http://stackoverflow.com/a/7734960

Change Font

Use "Profile Preferences" to change the default font.

Make Alt Available

Open "Keyboard Shortcuts" and unselect "Enable menu access keys". (Otherwise Alt is used for accessing the menu.)

Change Size

Edit "Default" profile, change custom default terminal size to 100 columns, 60 rows.

Manually Installing Binaries?

Put them in ~/local/bin, and man pages (if you have them) in ~/local/share/man/man?. (man --path lists the man page search path.)

Author

mjs@beebo.org

About

My mostly shell-related config files--.bashrc, .bash_profile, .inputrc

License:Apache License 2.0


Languages

Language:Shell 91.9%Language:AppleScript 4.3%Language:Dockerfile 1.5%Language:Perl 1.5%Language:CSS 0.4%Language:CoffeeScript 0.3%