Skip to content

pirj/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Humble dotfiles

Born 2013. Written and cherry-picked with love.

What’s inside

Mostly tmux, vim, git, zsh, ruby. Should work in most Linux’es, OSX and BSD. Tested on ArchLinux, OSX 10.14 and OpenBSD.

With Awesome WM on ArchLinux:

Screenshot

Installation

git clone --recursive --depth 1 --single-branch https://github.com/pirj/dotfiles .

OSX specific

Tell iTunes not to grab the keys:

sudo su -
cd /Applications/iTunes.app/Contents/MacOS
mv iTunes iTunes.bak
touch iTunes
chflags uchg iTunes
chflags schg iTunes

Prevent Chrome from emailing the page when mistyping Command+Option+I with Command+Shift+I:

defaults write com.google.Chrome NSUserKeyEquivalents -dict-add 'Email Page Location' '\0'
defaults write com.google.Chrome.canary NSUserKeyEquivalents -dict-add 'Email Page Location' '\0'

No clamshell mode (installed via brew) and no backlight trick:

curl https://raw.githubusercontent.com/pirj/nobacklight/master/nobacklight.plist > ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/noclamshell.plist

Add the following to .ssh/config:

UseKeychain yes

Archlinux-specific

When bootstrapping the system with pacstrap, add base-devel, git, neovim and iwd to the list of packages to install.

Network connection

systemctl enable iwd
systemctl start iwd

Create /etc/iwd/main.conf:

[Scan]
DisablePeriodicScan=true
[General]
EnableNetworkConfiguration=true

And run iwctl:

station wlan0 scan
station wlan0 connect <hotspot>

Inspiration sources

I use to browse repositories on Github, and check other people’s dotfiles. dotshare.it is another interesting source.

Packages

On ArchLinux (pacman)

Query (-Q) package list without version numbers (-q), only those explicitly installed (-t) and not required directly by other packages (-tt), native (-n) and foreign (-m):

pacman -Qqettn >! .packages.native
pacman -Qqettm >! .packages.foreign

Install:

sudo pacman -S $(< .packages.native )
git clone https://aur.archlinux.org/aurget.git
(cd aurget && makepkg -si)
aurget -S $(< .packages.foreign )

On OSX (homebrew)

Show installed formulae that are not dependencies of another installed formula:

brew bundle dump

Install:

brew bundle --no-lock

How it works

Vundle that handles Vim plugins and Antidote that handles Zsh plugins are fetched as submodules. Antidote fetches all configured Zsh plugins on first start. In Vim, :PluginInstall installs all plugins.

NeoVim requires a specific Python package to run Python plugins:

python3 -m pip install --user --upgrade pynvim

For Ruby I’m currently using RVM, but it’s not in Homebrew, and it has to be installed by hand. It’s tempting to switch to rbenv+ruby-build

I really hope the rest of the configuration is self-explanatory.

About me

Phil Pirozhkov, software engineer