aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.config/.DS_Storebin6148 -> 0 bytes
-rw-r--r--apps/Brewfile41
-rwxr-xr-xbootstrap.sh20
-rw-r--r--ghostty/.config/ghostty/config2
-rw-r--r--tmux/.tmux.conf0
-rw-r--r--tmux/tmux.conf64
-rw-r--r--zsh/.config/zsh/.zshenv3
-rwxr-xr-x[-rw-r--r--]zsh/.config/zsh/aliases (renamed from zsh/aliases.zsh)0
-rwxr-xr-xzsh/.config/zsh/extras (renamed from zsh/extras.zsh)0
-rwxr-xr-x[-rw-r--r--]zsh/.config/zsh/path (renamed from zsh/path.zsh)0
l---------zsh/.zshenv1
-rwxr-xr-x[-rw-r--r--]zsh/.zshrc1
12 files changed, 46 insertions, 86 deletions
diff --git a/.config/.DS_Store b/.config/.DS_Store
deleted file mode 100644
index ff27636..0000000
--- a/.config/.DS_Store
+++ /dev/null
Binary files differ
diff --git a/apps/Brewfile b/apps/Brewfile
index 340fcec..8354cfb 100644
--- a/apps/Brewfile
+++ b/apps/Brewfile
@@ -6,19 +6,19 @@ tap "oven-sh/bun" # Bun JavaScript runtime
tap "pulumi/tap" # Pulumi infrastructure as code tools
tap "go-task/tap" # Task runner for Go
tap "tursodatabase/tap" # Turso database tools
+tap "libsql/sqld"
tap "yakitrak/yakitrak" # Tap for yakitrak tools
tap "simenandre/tools" # Tap for Simen Andre's tools
# Mas
brew "mas" # Mac App Store command-line interface
-mas "Outline", id: 1356178125 # Note-taking application
+mas "Outline", id: 1356178125 # Outline VPN
mas "Remote Desktop", id: 409907375 # Microsoft Remote Desktop application
# Shells and Shell Utilities
brew "zsh" # Z shell
brew "bash" # Modern version of Bash
brew "bash-completion" # Bash completion
-brew "yadm" # Yet Another Dotfiles Manager
brew "ghq" # Manage remote repository clones
brew "moreutils" # Collection of additional Unix utilities
@@ -26,6 +26,7 @@ brew "moreutils" # Collection of additional Unix utilities
brew "findutils" # GNU `find`, `locate`, `updatedb`, and `xargs`, `g`-prefixed.
brew "gnu-sed" # GNU `sed`, overwriting the built-in `sed`.
brew "grep" # More recent version of macOS `grep`
+brew "stow"
# Networking Tools
brew "wget" # `wget` with IRI support.
@@ -48,9 +49,10 @@ brew "zopfli" # Compression tool
# Programming Languages and Runtimes
brew "golang" # Go programming language
-brew "python@3.10" # Python 3.10
+brew "python@3.11" # Python 3.11
brew "rust" # Rust programming language
brew "zig" # Zig programming language
+brew "pkl" # Configuration language
# Font Tools
brew "sfnt2woff" # Convert TTF to WOFF
@@ -94,6 +96,9 @@ brew "azure-cli" # Microsoft Azure command-line tool
brew "kubectl" # Kubernetes command-line tool
brew "helm" # Kubernetes package manager
brew "cilium-cli" # CLI to install, manage & troubleshoot Kubernetes clusters
+cask "google-cloud-sdk" # Google Cloud SDK
+brew "doctl" # DigitalOcean CLI
+brew "flyctl" # Fly.io CLI
# Container Tools
brew "podman" # Manage pods, containers, and container images
@@ -105,15 +110,16 @@ cask "podman-desktop" # Podman desktop
brew "go-task" # Task runner for Go
brew "act" # Run GitHub Actions locally
-# Databases
+# Databases and Database Tools
brew "turso" # Turso database command-line tool
+brew "libpq" # PostgreSQL C library
+brew "sqld" # SQL daemon
# Video Meeting Applications
cask "microsoft-teams" # Microsoft Teams
cask "zoom" # Zoom video conferencing
# Applications
-cask "visual-studio-code" # Visual Studio Code editor
cask "spotify" # Spotify music streaming
brew "neovim" # Hyperextensible Vim-based text editor
cask "slack" # Slack messaging app
@@ -126,22 +132,33 @@ cask "microsoft-remote-desktop" # Microsoft Remote Desktop app
cask "postico" # PostgreSQL GUI client
cask "cyberduck" # FTP and cloud storage browser
cask "adobe-creative-cloud" # Adobe Creative Cloud
-cask "1password" # 1Password password manager
+# TODO: Figure out how to handle 1password when it updates itself
+# cask "1password" # 1Password password manager
+cask "1password-cli" # 1Password command-line tool
+cask "protonvpn" # ProtonVPN client
cask "openvpn-connect" # OpenVPN client
cask "raycast" # Command launcher
-cask "wezterm" # Terminal emulator
cask "rectangle" # Window management app
+cask "google-chrome" # Google Chrome browser
+cask "google-drive" # Google Drive
+cask "google-drive-file-stream" # Google Drive for desktop
+cask "karabiner-elements" # Keyboard customizer
+cask "postman" # API platform
+cask "ghostty" # Modern terminal emulator
# Terminal Tools
brew "pv" # Pipe viewer
brew "rename" # Perl-powered file rename script
brew "rlwrap" # Readline wrapper
brew "tree" # Display directories as trees
+brew "screen" # Terminal multiplexer
brew "vbindiff" # Visual binary diff
brew "tmate" # Instant terminal sharing
brew "asciinema" # Record and share terminal sessions
brew "dasel" # Query and update data structures from the command line
brew "tldr" # Simplified and community-driven man pages
+brew "starship" # Cross-shell prompt
+brew "gh" # GitHub CLI
# HTTP and Web Servers
brew "caddy" # Fast, multi-platform web server with automatic HTTPS
@@ -149,10 +166,10 @@ brew "goreleaser" # Deliver Go binaries as fast and easily
# Specific Toolsets
brew "whalebrew" # Dockerized CLI applications
-
+brew "gd" # Graphics library
+brew "ghostscript" # PostScript interpreter
+brew "rclone" # Manage cloud storage
+brew "graphviz" # Graph visualization software
+#
# Obsidian
cask "obsidian" # Obsidian note-taking app
-
-# My tools
-brew "trippl-timely" # Not clear, could be a custom tool
-brew "xlsx-mxlookup" # Not clear, could be a custom tool
diff --git a/bootstrap.sh b/bootstrap.sh
index 7a12335..430feb4 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -5,26 +5,28 @@ if ! command -v brew >/dev/null 2>&1; then
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
-# Install GNU Stow
-brew install stow
-
# Install packages from Brewfile
cd apps && brew bundle
# Create symlinks using stow
cd ..
-stow zsh
-stow git
-stow apps
-stow config
-stow tmux
-stow nvim
+stow_folders=(zsh git starship tmux nvim)
+for folder in "${stow_folders[@]}"; do
+ echo "stow $folder"
+ stow -t $HOME -D $folder
+ stow -t $HOME $folder
+done
# Install TPM for tmux
if [ ! -d "$HOME/.tmux/plugins/tpm" ]; then
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
fi
+# Configure macOS defaults with countdown
+echo "Setting MacOS defaults in 10 seconds. Press CTRL+C to abort..."
+sleep 10
+echo ""
+
# Configure macOS defaults
sh macos/macos
diff --git a/ghostty/.config/ghostty/config b/ghostty/.config/ghostty/config
new file mode 100644
index 0000000..9fb1770
--- /dev/null
+++ b/ghostty/.config/ghostty/config
@@ -0,0 +1,2 @@
+theme = tokyonight-storm
+
diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tmux/.tmux.conf
diff --git a/tmux/tmux.conf b/tmux/tmux.conf
deleted file mode 100644
index ca1ab51..0000000
--- a/tmux/tmux.conf
+++ /dev/null
@@ -1,64 +0,0 @@
-
-unbind C-b
-set-option -g prefix C-a
-bind-key C-a send-prefix
-set -g status-style 'bg=#333333 fg=#5eacd3'
-set -g mouse on
-set -g base-index 1
-set -g pane-base-index 1
-set-window-option -g pane-base-index 1
-set-option -g renumber-windows on
-set-option -g mouse on
-
-set -ga terminal-overrides ",screen-256color*:Tc"
-set-option -g default-terminal "screen-256color"
-set -s escape-time 0
-
-set-window-option -g mode-keys vi
-bind -T copy-mode-vi v send-keys -X begin-selection
-bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
-
-bind '"' split-window -c "#{pane_current_path}"
-bind % split-window -h -c "#{pane_current_path}"
-
-bind-key -r g run-shell "tmux neww lazygit"
-bind-key -r i run-shell "tmux neww ~/scripts/tmux-cht.sh"
-
-bind-key -r f run-shell "tmux neww twm"
-bind-key -r F run-shell "tmux neww twm -l"
-bind-key -r e run-shell "tmux switch -t $TWM_DEFAULT"
-bind X confirm-before kill-session
-
-# Smart pane switching with awareness of Vim splits.
-# See: https://github.com/christoomey/vim-tmux-navigator
-
-# decide whether we're in a Vim process
-is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
- | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
-
-bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
-bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
-bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
-bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
-
-tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'
-
-if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
- "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'"
-if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
- "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'"
-
-bind-key -n 'C-Space' if-shell "$is_vim" 'send-keys C-Space' 'select-pane -t:.+'
-
-bind-key -T copy-mode-vi 'C-h' select-pane -L
-bind-key -T copy-mode-vi 'C-j' select-pane -D
-bind-key -T copy-mode-vi 'C-k' select-pane -U
-bind-key -T copy-mode-vi 'C-l' select-pane -R
-bind-key -T copy-mode-vi 'C-\' select-pane -l
-bind-key -T copy-mode-vi 'C-Space' select-pane -t:.+
-
-set -g @plugin 'tmux-plugins/tpm'
-set -g @plugin 'tmux-plugins/tmux-sensible'
-
-
-run '~/.tmux/plugins/tpm/tpm'
diff --git a/zsh/.config/zsh/.zshenv b/zsh/.config/zsh/.zshenv
new file mode 100644
index 0000000..51b9cf4
--- /dev/null
+++ b/zsh/.config/zsh/.zshenv
@@ -0,0 +1,3 @@
+export ZDOTDIR=$HOME/.config/zsh
+
+. "$HOME/.cargo/env"
diff --git a/zsh/aliases.zsh b/zsh/.config/zsh/aliases
index ebda55c..ebda55c 100644..100755
--- a/zsh/aliases.zsh
+++ b/zsh/.config/zsh/aliases
diff --git a/zsh/extras.zsh b/zsh/.config/zsh/extras
index 0647ca0..0647ca0 100755
--- a/zsh/extras.zsh
+++ b/zsh/.config/zsh/extras
diff --git a/zsh/path.zsh b/zsh/.config/zsh/path
index ef41549..ef41549 100644..100755
--- a/zsh/path.zsh
+++ b/zsh/.config/zsh/path
diff --git a/zsh/.zshenv b/zsh/.zshenv
new file mode 120000
index 0000000..9fbf4d2
--- /dev/null
+++ b/zsh/.zshenv
@@ -0,0 +1 @@
+.config/zsh/.zshenv \ No newline at end of file
diff --git a/zsh/.zshrc b/zsh/.zshrc
index bdc70cc..9ef0a9d 100644..100755
--- a/zsh/.zshrc
+++ b/zsh/.zshrc
@@ -1,4 +1,3 @@
-
# Download Znap, if it's not there yet.
[[ -r ~/.zsh_repos/znap/znap.zsh ]] ||
git clone --depth 1 -- \