Enable sudo with Touch ID:
sudo vi /etc/pam.d/sudo
# Add the following line to the top, below the header:
# auth sufficient pam_tid.so
As per a note on mission control I've enabled "Group windows by application"
defaults write com.apple.dock expose-group-apps -bool true && killall Dock
As per this note I've also disabled "Displays have separate spaces".
As per this note disable window open animations:
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
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 .skhdrcln -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_commandas 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_commandandleft_option, because myleft_commandneeds me to press harder (I need to go to the Genius bar!) - Map
non_us_backslashtoright_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
yabaiusinglaunchctl kickstart -k "gui/${UID}/homebrew.mxcl.yabai" - Reload
skhdusingskhd -rorskhd --reload
I use scoop.
- Install
ghusing https://github.com/cli/cli scoop install msys2scoop 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.dlland 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. [email protected]