dotfiles
dotfiles copied to clipboard
my humble dotfiles
= 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:
image::.config/screenshot.jpg[Screenshot]
== Installation
git clone --recursive --depth 1 --single-branch https://github.com/pirj/dotfiles .
=== OSX specific
Tell iTunes http://superuser.com/questions/31925/what-can-i-do-to-stop-the-play-pause-button-from-opening-itunes/827710#827710[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'
https://github.com/pirj/noclamshell[No clamshell mode] (installed via brew) and https://github.com/pirj/nobacklight[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