dotfiles
dotfiles copied to clipboard
Shell-related config files and scripts
About
Config files for various tools I use, or have used in the past, such as fish, git, jed, 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 - 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
The idempotent install script handles a few different operating systems and package managers (past and present) has a some interesting constructions that may be useful.
Prerequisites
Getting locale-related errors when going through these steps?
- Generate missing locales:
locale-gen en_GB.UTF-8
git
Ubuntu | OS X |
---|---|
sudo apt-get install git-core |
xcode-select --install (or install Xcode) |
No
sudo
? (If, for example, you're on a Gandi VPS.)
- Login as root:
ssh root@server
- Install
sudo
:apt-get install sudo
- Edit
/etc/sudoers
:visudo
- Add the line:
mjs ALL=(ALL) NOPASSWD:ALL
fish
Ubuntu
sudo apt-get install fish
OS X
Via brew
:
brew install fish
# add fish's full path to /etc/shells
chsh -s /full/path/to/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 symlinkingbrew
into~/local/homebrew/bin
might be a good option.)Note that the binaries are symlinked into whatever directory
brew
is installed into. (So ifbrew
is symlinked into/usr/local/bin
, then all executables installed bybrew
will be symlinked into there as well.) This can be useful if you want to installbrew
in your home directory, but symlink binaries into/usr/local/bin
.
Other Platforms
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 [email protected]:ithinkihaveacat/dotfiles.git
$ ./update # if macOS and brew in PATH
$ PATH=~/local/homebrew/bin:$PATH ./update # if macOS and 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
macOS
(See this script for some tips on how to change some of these settings automatically.)
Configure Terminal
Import the [etc/Solarized Dark.terminal
](etc/Solarized Dark.terminal) profile, and set it to the "default". (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.
Install optional fonts
See https://typography.guru/journal/awesome-catalina-fonts/.
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:
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.)