Skip to content

chrisb86/dotfiles

Repository files navigation

dotfiles

These are my dotfiles. They are awesome.

This repo contains my dotfiles which I use at macOS, FreeBSD and Linux systems. This set features a nice and fast zsh config, a neat vim environment and a tmux config.

The workstation realted stuff is mostly tested on macOS. Especially the key bindings may be not portable at the moment.

Alacritty window using the dotfiles by chrisb86

The zsh prompt is handcrafted to look neat and provide some extra info. When you are root the user- and hostname color changes from blue to red. If you are connected via ssh, the prompt will show some green arrows behind the working path and when you are in a git repository, it will show some git infos at the right side.

The tmux config contains some nice settings to make my work a bit easier and look nice.

My color scheme is the awesome Nord Color scheme by Arctic Ice Studio and my font is FiraCode Source Code Pro.

The repo ships with a Makefile that you can use to deploy and update the dotfiles.

# make help
help                           This help
all                            Update repo, decrypt secrets and run deploy-macos
install                        Update repor and run deploy-base
deploy-base                    Only deploy basic conf files for shell usage
deploy-workstation             Deploy workstation specific config files (inherits deploy-shell)
deploy-macos                   Deploy macOS specific config files (inherits deploy-workstation)
gen-vscodium-plugin-list       Update the list of VSCodium plugins
git-secrets-hide               Hide secrets with git-secret
git-secrets-reveal             Reveal secrets with git-secret
git-fetch                      Fetch changes from origin
git-push                       Push changes to origin
git-update-submodules          Update all submodules
brew-bundle                    Install applications with brew bundle
brew-bundle-cleanup            Removew all appplications that are not listed in Brewfile
deploy-alacritty               Deploy alacritty config
deploy-bitbar                  Deploy BitBar config
deploy-duti                    Deploy duti config
deploy-espanso                 Deploy espanso config
deploy-htop                    Deploy htop config
deploy-htop-zfs                Deploy htop config with zfs
deploy-skhd                    Deploy skhd config
deploy-tmux                    Deploy tmux config
deploy-vim                     Deploy vim config
deploy-vscodium                Deploy VSCodium config
deploy-yabai                   Deploy yabai config
deploy-youtubedl               Deploy youtube-dl config
deploy-zsh                     Deploy zsh config
deploy-brewfile                Deploy Brewfile
deploy-ssh                     Deploy SSH config
deploy-hushlogin               Deploy .hushlogin

The dotfiles will be copied to your ~.

The repo is initialized for beeing used with git-secret. My own personal secrets are pushed to the repo as well and can be decrypted with my GPG key.

ZSH with bells and whistles

The ZSH config doesn’t use any frameworks and is tuned for speed.

The config delivers some nice extra functions.

extract()

extract can be run with extract to extract archives in any given formats.

tmix()

tmix creates a new tmux session and connects to a given list of servers with mosh and attaches to a tmux session at the server.

You must define a space separated list of servers as $TMIX_SERVERS=“” e.g. in ~/.zsh/lib/30-extras.zsh.

You can define a name for the used session in $TMIX_SESSION=“”. Otherwise it will use „TMIX“.

tmix kill kills the session.

tmux config

The tmux config rebinds the prefix key to C-a. It features different shortcuts to make my life easier (e.g. "C-a -„ for splitting the window horizontally.)

It also supports nested sessions with a modified color scheme. That’s nice when using tmix.

Alacritty window using the dotfiles by chrisb86 in a tmix session

Alacritty

I love Alacritty because it's a damn fast Terminal emulator that's configured with a simple text file config.

I've configured it to use tmux for tabs and multiplexing and configured some usefull keybindings.

Keybindings:

Key Modifier(s) Description
N Spawn a new instance
0 (Zero) Reset font size
+ Increase font size
- Decrease font size
J Move to next session
K Move to previous session
T Create window
H Move to previous window
L Move to next window
X Kill pane/window
A Split pane vertically
S Split pane horizontally
Z Maximize pane
T ⌘⇧ Create window in nested session
H ⌘⇧ Move to previous window in nested session
L ⌘⇧ Move to next window in nested session
X ⌘⇧ Kill pane/window in nested session
A ⌘⇧ Split pane vertically in nested session
S ⌘⇧ Split pane horizontally in nested session
Z ⌘⇧ Maximize pane in nested session
, Open Alacritty config directory
Delete word/line
Move one word left
Move one word right
Move to beginning of the line
Move to end of the line

Installation

### Getting the dotfiles.

git clone https://github.com/chrisb86/dotfiles.git

Deploying the dotfiles

For installing the base set for shell usage run

make install

For the fullfl edged setup with decrypting of the secrets use

make install

To list all avaliable commands run:

make help

Credits

About

These are my dotfiles. They are awesome.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages