cmc/dotfiles

Using GNU Stow to manage my dotfiles.

clone: git clone https://gitbay.org/cmc/dotfiles.git

8fb18f82b51b8977325fb5a87a9d046f01336ae6

verified · cmc

author: Christian Cleberg <hello@cleberg.net> · 2024-10-31T02:18:14Z

update dotfiles
 .config/skhd/skhdrc   |   5 +++
 .config/yabai/yabairc |  32 ++++++++++++++
 .zprofile             |  17 +-------
 .zshrc                | 114 ++++++++++----------------------------------------
 4 files changed, 61 insertions(+), 107 deletions(-)

diff --git a/.config/skhd/skhdrc b/.config/skhd/skhdrc
new file mode 100644
index 0000000..de8c4fe
--- /dev/null
+++ b/.config/skhd/skhdrc
@@ -0,0 +1,5 @@
+# open terminal
+cmd - return : /Applications/iTerm.app/Contents/MacOS/iTerm2
+
+# open browser
+cmd + shift - return : /Applications/LibreWolf.app/Contents/MacOS/librewolf
diff --git a/.config/yabai/yabairc b/.config/yabai/yabairc
new file mode 100755
index 0000000..6e571fd
--- /dev/null
+++ b/.config/yabai/yabairc
@@ -0,0 +1,32 @@
+#!/usr/bin/env sh
+
+# global settings
+yabai -m config                                 \
+    mouse_follows_focus          off            \
+    focus_follows_mouse          off            \
+    window_origin_display        default        \
+    window_placement             second_child   \
+    window_zoom_persist          on             \
+    window_shadow                on             \
+    window_animation_duration    0.0            \
+    window_animation_frame_rate  120            \
+    window_opacity_duration      0.0            \
+    active_window_opacity        1.0            \
+    normal_window_opacity        0.90           \
+    window_opacity               off            \
+    insert_feedback_color        0xffd75f5f     \
+    split_ratio                  0.50           \
+    split_type                   auto           \
+    auto_balance                 off            \
+    top_padding                  15             \
+    bottom_padding               15             \
+    left_padding                 15             \
+    right_padding                15             \
+    window_gap                   10             \
+    layout                       bsp            \
+    mouse_modifier               fn             \
+    mouse_action1                move           \
+    mouse_action2                resize         \
+    mouse_drop_action            swap
+
+echo "yabai configuration loaded.."
diff --git a/.zprofile b/.zprofile
index 267cbf5..65e1f5b 100644
--- a/.zprofile
+++ b/.zprofile
@@ -1,15 +1,2 @@
-if test -z "${XDG_RUNTIME_DIR}"; then
-	export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir
-	if ! test -d "${XDG_RUNTIME_DIR}"; then
-		mkdir "${XDG_RUNTIME_DIR}"
-		chmod 0700 "${XDG_RUNTIME_DIR}"
-	fi
-fi
-
-# Sway fixes for firefox and screensharing
-export MOZ_ENABLE_WAYLAND="1"
-export XDG_CURRENT_DESKTOP=sway
-export QT_QPA_PLATFORM="wayland-egl"
-
-# Connect to VPN
-doas $HOME/vpn.sh
+eval "$(/opt/homebrew/bin/brew shellenv)"
+export GPG_TTY=$(tty)
diff --git a/.zshrc b/.zshrc
index f7b3035..8d22449 100644
--- a/.zshrc
+++ b/.zshrc
@@ -1,109 +1,39 @@
-# Export GPG for git signing
-export GPG_TTY=$(tty)
-
-# If you come from bash you might have to change your $PATH.
-export PATH=$HOME/bin:/usr/local/bin:$PATH
-
-# Add local path executables
-export PATH=$HOME/.local/bin:$PATH
+export PATH="/opt/homebrew/bin:$PATH"
+export PATH="$HOME/.emacs.d/bin:$PATH"
+export PATH=$PATH:$(go env GOPATH)/bin
+export PATH="$PATH:/Library/TeX/texbin"
+export PATH="$PATH:/Users/cmc/.local/bin"
 
 # Path to your oh-my-zsh installation.
 export ZSH="$HOME/.oh-my-zsh"
+export EDITOR=nano
 
-# Set name of the theme to load --- if set to "random", it will
-# load a random theme each time oh-my-zsh is loaded, in which case,
-# to know which specific one was loaded, run: echo $RANDOM_THEME
 # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
-ZSH_THEME="mh"
-
-# Set list of themes to pick from when loading at random
-# Setting this variable when ZSH_THEME=random will cause zsh to load
-# a theme from this variable instead of looking in $ZSH/themes/
-# If set to an empty array, this variable will have no effect.
-# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
-
-# Uncomment the following line to use case-sensitive completion.
-# CASE_SENSITIVE="true"
-
-# Uncomment the following line to use hyphen-insensitive completion.
-# Case-sensitive completion must be off. _ and - will be interchangeable.
-# HYPHEN_INSENSITIVE="true"
-
-# Uncomment one of the following lines to change the auto-update behavior
-# zstyle ':omz:update' mode disabled  # disable automatic updates
-# zstyle ':omz:update' mode auto      # update automatically without asking
-# zstyle ':omz:update' mode reminder  # just remind me to update when it's time
-
-# Uncomment the following line to change how often to auto-update (in days).
-# zstyle ':omz:update' frequency 13
-
-# Uncomment the following line if pasting URLs and other text is messed up.
-# DISABLE_MAGIC_FUNCTIONS="true"
-
-# Uncomment the following line to disable colors in ls.
-# DISABLE_LS_COLORS="true"
+ZSH_THEME="bureau"
 
 # Uncomment the following line to disable auto-setting terminal title.
-# DISABLE_AUTO_TITLE="true"
-
-# Uncomment the following line to enable command auto-correction.
-# ENABLE_CORRECTION="true"
-
-# Uncomment the following line to display red dots whilst waiting for completion.
-# You can also set it to another string to have that shown instead of the default red dots.
-# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
-# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
-# COMPLETION_WAITING_DOTS="true"
-
-# Uncomment the following line if you want to disable marking untracked files
-# under VCS as dirty. This makes repository status check for large repositories
-# much, much faster.
-# DISABLE_UNTRACKED_FILES_DIRTY="true"
+DISABLE_AUTO_TITLE="true"
 
-# Uncomment the following line if you want to change the command execution time
-# stamp shown in the history command output.
-# You can set one of the optional three formats:
-# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
-# or set a custom format using the strftime function format specifications,
-# see 'man strftime' for details.
-# HIST_STAMPS="mm/dd/yyyy"
-
-# Would you like to use another custom folder than $ZSH/custom?
-# ZSH_CUSTOM=/path/to/new-custom-folder
-
-# Which plugins would you like to load?
-# Standard plugins can be found in $ZSH/plugins/
-# Custom plugins may be added to $ZSH_CUSTOM/plugins/
 # Example format: plugins=(rails git textmate ruby lighthouse)
-# Add wisely, as too many plugins slow down shell startup.
-plugins=(git zsh-autosuggestions k)
+plugins=(git zsh-autosuggestions)
 
 source $ZSH/oh-my-zsh.sh
 
 # User configuration
 
-# export MANPATH="/usr/local/man:$MANPATH"
-
-# You may need to manually set your language environment
-# export LANG=en_US.UTF-8
+# bun completions
+[ -s "/Users/cmc/.bun/_bun" ] && source "/Users/cmc/.bun/_bun"
 
-# Preferred editor for local and remote sessions
-# if [[ -n $SSH_CONNECTION ]]; then
-#   export EDITOR='vim'
-# else
-#   export EDITOR='mvim'
-# fi
+# bun
+export BUN_INSTALL="$HOME/.bun"
+export PATH="$BUN_INSTALL/bin:$PATH"
 
-# Compilation flags
-# export ARCHFLAGS="-arch x86_64"
+alias ls="eza"
+alias l="eza -lha"
+alias emacs="emacs -nw"
+alias cat="bat"
+alias tsm="transmission-remote"
+alias pip3="pipx"
 
-# Set personal aliases, overriding those provided by oh-my-zsh libs,
-# plugins, and themes. Aliases can be placed here, though oh-my-zsh
-# users are encouraged to define aliases within the ZSH_CUSTOM folder.
-# For a full list of active aliases, run `alias`.
-#
-# Example aliases
-# alias zshconfig="mate ~/.zshrc"
-# alias ohmyzsh="mate ~/.oh-my-zsh"
-alias l="k -a"
-alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
+# Added by LM Studio CLI (lms)
+export PATH="$PATH:/Users/cmc/.cache/lm-studio/bin"