These dotfiles are for macOS. On Linux — which is currently DICE, a flavour of Scientific Linux 7 — I use stuff that is in my Xmonad repo (and more).
Some of this work was inspired by /u/sptz's post on /r/macOS.
- window manager: yabai
- hotkeys: skhd
- keyboard customisation: karabiner elements
- vscode opacity: vibrancy
- terminal: iterm 2
- font: cascadia code
Files
Use the following commands (or notes) to apply the files from this repo. Files from this repo are in the dotfiles
folder. Commands assume you are in the home directory.
ln -s dotfiles/skhdrc .skhdrc
ln -s dotfiles/yabairc .yabairc
(->
means it's a symlink)
- add zsh stuff especially my modified zsh theme
- to make stuff be more like my experience using xmonad on DICE. which likely can never happen. it only worked because on Linux the super key was rarely used. (super was my mod key)
- get into spacemacs, could use https://github.com/easymotion/vim-easymotion#readme
The simple status bar that ships with yabai is used.
This setting mentioned below is enabled:
The status bar is not intended to be used with the macOS menu bar visible. You can turn on autohiding of the macOS menubar so that it only shows up when you move your cursor to access it: System Preferences -> General -> Automatically hide and show the menu bar.
Maybe we can switch to xmobar
? Maybe I shouldn't, I don't need a reason to have Haskell installed anymore. Cabal is awful — it doesn't support uninstall. Stack is meant for projects. Bye Haskell, I guess.
I use Karabiner (beta) to change some default keybinds
Complex modifications:
- Quit application by holding command-q (modified to use
left_command
as input, rather than just anycommand
) - PC-Style Home/End
- Cmd+Shift+X to Lock Screen
- This is not a default complex modification. See extra/karabiner.json.
- This works by mapping the input keybind to macOS' lock screen keybind:
ctrl + cmd + q
Simple modifications:
- Swap
left_command
andleft_option
, because myleft_command
needs me to press harder (I need to go to the Genius bar!) - Map
non_us_backslash
toright_command
. This makes it easier to switch spaces. Resolving #107 should get rid of this.
Also, I enabled Manipulate LED
under the Caps Lock LED
column on the "Devices" tab because otherwise the LED stops working.
- Restart
yabai
usinglaunchctl kickstart -k "gui/${UID}/homebrew.mxcl.yabai"
- Reload
skhd
usingskhd -r
orskhd --reload
I use scoop.
- Install
gh
using https://github.com/cli/cli scoop install msys2
scoop install ag
The difference between and MSYS2 MinGW
- MSYS2 is based on Cygwin and knows how to understand POSIX conventions like paths (
/usr/bin/
,/etc
) as well as special devices like/dev/null
,/dev/clipboard
, etc and many other things. The POSIX emulation layer is done insidemsys-2.0.dll
and incurs a performance penalty that can be significant for heavy file-centric software (e.g.git
). - MinGW is a set of toolchains to build native Windows applications.
- MSYS2 is slower than MinGW - so you should prefer to install using scoop than in MinGW.
TL;DR just prefer MinGW.