Mouseless Development Environment Setup and Dotfile collection for Apple's macOS. This setup uses Amethyst for tiling window management and SKHD for custom GUI keybindings. These files are managed with GNU Stow. They work for me and can serve as an example to you. Please don't use these files as they are, and instead read them and adapt them to your needs.
To manage these files, I use Stow or GNU Stow. Stow helps me keep my Dotfiles in one directory and symlink these files to their corresponding location on my $HOME directory.
In my Install Script, I first create directories where the files will be stored. Then I symlink the files with Stow.
After creating the required files and directories on $HOME, my Install Script runs:
stow --target=$HOME srcThis command takes everything inside src/ directory and symlinks it to its corresponding location on my user's $HOME directory.
First consider creating a new repository from this template. Remove the existing UnLicensed License if you wish and make these files your own.
From the project's root directory, type this into your shell to run the install script:
./install.shThis Install Script first creates the required directories in your $HOME directory and then symlinks the files located within the src/ directory into their corresponding place in your $HOME.
From the project's root directory, type this into your shell to run the uninstall script:
./uninstall.shThis Uninstall Script removes all the created symlinks but does leave behind the directories created by the Install Script.
You create new files within the src/ directory and then run the Install Script once again.
You may also create new files within an existing Sym-linked directory without creating it first within the src/ directory.
ZSH with Tmux and the Kitty terminal emulator.
Tmux commands get triggered first by pressing the "prefix key" and then a "command key".
My prefix key is Ctrl+b and my two most important command keys are "-" and "|" for horizontal Division and vertical division correspondingly.
| Prefix Key | Command Key | What it does |
|---|---|---|
| Ctrl+b | - | Horizontal Division |
| Ctrl+b | | | Vertical Division |
| Ctrl+b | r | Reload Tmux Configuration |
- $HOME denotes the /Users/your-user/ directory on a system.
This table lists ZSH files and what they contain.
| File | Description |
|---|---|
| .zprofile | Configures the PATH and Editor value. |
| .zshrc | Sets keybindings, prompt and history. |
This is table lists the project sub-directories and what they contain.
| Directory | Description |
|---|---|
| docs/ | Contains documentation and pictures. |
| src/ | Contains dotfiles and configurations. |
| setup-scripts/ | Contains other setup scripts apart from the Install and Uninstall scripts. |
- 2024-04-18 05:18 am AST. Fork the repository from shell-aware into mac-aware and remove all GNU/Linux related files and directories.
- 2024-07-02 07:59 pm AST. Improve README file.
- 2024-11-21 10:21 pm AST. Setup a basic Tmux configuration by following Josean Martinez example and the Arch Linux Wiki. Josean's setup demonstrates how to set up custom keybindings for reload and splitting and further customizations.
- 2024-12-19 11:02 am AST. Improve ReadMe file.
- 2026-01-09 07:47 pm AST. Add Amethyst configuration file on home directory. Edit Install Script to clear current Amethyst configuration and load the configuration file.
- 2026-05-16 02:11 pm AST. Improve README file by documenting the Tmux configuration and prune aliases and ZSH configuration files.
- 2026-05-28 05:32 pm AST. Re-organize ZSH configuration files. Now, the .zprofile file sets the PATH and CLI Editor. Improve README file.