# \~/.\*
This repository lives at `~/`, and contains
[dotfiles](https://wiki.archlinux.org/title/Dotfiles).
These dotfiles enable a terminal-first, near-exclusively mouseless workflow on
macOS, especially when used with a
[`FuthakBloom`](https://github.com/jxddk/FuthakBloom) keyboard.
Portability, compatibility, and broad appeal are not this project's aims, but
elegance, readability, and piquing niche interest certainly are. That is to say,
cloning this repository into your home directory probably won't get you
anywhere, but poking around and pilfering interesting snippets could turn out to
be a great use of your time.
Some highlights of this repository are:
- [JonathanDarker (`~/.config/jonathandarker/`)](./../.config/jonathandarker/):
Color scheme inspired by JetBrain's Darcula.
- [Neovim Config (`~/.config/nvim/`)](./../.config/nvim/): Lua-based and
plugin-light configuration for Neovim.
- [Surfingkeys Config (`~/.config/surfingkeys/`)](./../.config/surfingkeys/):
TypeScript-based configuration for Surfingkeys.
```mermaid
graph TB
macOS["`**macOS**`"]
macOS --- Applications
macOS --- WindowManager
macOS --- PackageManager
subgraph PackageManager [Package Manager]
brew["`**Homebrew**
macOS package manager`"]
end
subgraph WindowManager [Window Manager]
yabai["`**yabai**
yabai tiles windows and
controls desktop spaces`"]
skhd["`**skhd**
skhd handles OS-level
hotkeys, mostly for yabai
and app switching`"]
end
WindowManager-- "`*displays*`" ---Applications
subgraph Applications
direction LR
subgraph Terminal
direction TB
Alacritty["`**Alacritty**
Terminal emulator, used
almost only for multiplexer`"]
Alacritty-- "`*renders*`" ---Multiplexer
subgraph Multiplexer
direction TB
tmux["`**tmux**
Multiplexer used almost
only for session managment`"]
tmux-- "`*sessionizes*`" ---Editor
tmux-- "`*sessionizes*`" ---Shell
subgraph Editor
Neovim["`**Neovim**
Text editor and file explorer
that serves as a de-facto
terminal operating system`"]
end
Neovim-- "`*emulates*`" ---Shell
subgraph Shell
Zsh["`**Zsh**
Modern (and macOS-default) shell`"]
end
end
end
subgraph Browser
firefox["`**Firefox**
A free and open source web browser`"]
firefox -- "`*uses*`" ---Extensions
subgraph Extensions
surfingkeys["`**Surfingkeys**
Customizable extension for
mouse-free browsing`"]
end
end
end
```
---
### [alacritty (`~/.config/alacritty/`)](./../.config/alacritty/)
Configuration for [Alacritty](https://alacritty.org/), a fast, cross-platform,
OpenGL terminal emulator.
### [brew (`~/.config/brew/`)](./../.config/brew/)
Package list for [Homebrew](https://brew.sh/), the missing package manager for
MacOS. See the subdirectory's [README.md](./../.config/brew/README.md) for
details.
### [git (`~/.config/git/`)](./../.config/git/)
Configuration for [Git](https://git-scm.com/docs/), a free and open source
distributed version control system.
### [jonathandarker (`~/.config/jonathandarker/`)](./../.config/jonathandarker/)
A color scheme inspired by [JetBrain's](https://www.jetbrains.com/)
[Darcula](https://jetbrains.com/help/idea/configuring-colors-and-fonts.html).
### [lazydocker (`~/.config/lazydocker/`)](./../.config/lazydocker/)
Configuration for [lazydocker](https://github.com/jesseduffield/lazydocker/), a
simple terminal UI for both docker and docker-compose.
### [lazygit (`~/.config/lazygit/`)](./../.config/lazygit/)
Configuration for [lazygit](https://github.com/jesseduffield/lazygit/), a simple
terminal UI for git commands.
### [nvim (`~/.config/nvim/`)](./../.config/nvim/)
Configuration for [Neovim](https://neovim.io/), a hyperextensible Vim-based text
editor.
### [prettier (`~/.config/prettier/`)](./../.config/prettier/)
Configuration for [Prettier](http://prettier.io), an opinionated code formatter.
### [scripts (`~/.scripts/`)](./.scripts/)
Standalone shell scripts to be called by other programs.
### [skhd (`~/.config/skhd/`)](./../.config/skhd/)
Configuration for [skdh](https://github.com/koekeishiya/skhd), a simple hotkey
daemon for macOS.
### [surfingkeys (`~/.config/surfingkeys/`)](./../.config/surfingkeys/)
Configuration for [Surfingkeys](https://github.com/brookhong/Surfingkeys), a web
browser extension that provides control of the web in the spirit of Vim. See the
subdirectory's [README.md](./../.config/surfingkeys/README.md) for details.
### [tmux (`~/.config/tmux/`)](./../.config/tmux/)
Configuration for [tmux](https://github.com/tmux/tmux), a terminal multiplexer.
### [yabai (`~/.config/yabai/`)](./../.config/yabai/)
Configuration for [yabai](https://github.com/koekeishiya/yabai), a window
management utility .
### [zsh (`~/.config/zsh/`)](./../.config/zsh/)
Run commands for [zsh](https://www.zsh.org/), a shell designed for interactive
use.