feat: remade scripts to be simpler

This commit is contained in:
2026-03-28 22:26:19 +00:00
commit a39315d77c
24 changed files with 879 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
os/cachyos/kde/cachyos-profile.knsv filter=lfs diff=lfs merge=lfs -text
*.knsv filter=lfs diff=lfs merge=lfs -text
Executable
+133
View File
@@ -0,0 +1,133 @@
#!/bin/bash
# Get script directory
DOTFILES_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$DOTFILES_DIR"
# Detect OS
OS=$(uname -s)
echo "═══════════════════════════════════════"
echo " Dotfiles Installation"
echo " OS: $OS"
echo "═══════════════════════════════════════"
echo
# ---------------------------------------------------------
# 1. OS-Specific Package Installation
# ---------------------------------------------------------
if [ "$OS" = "Darwin" ]; then
echo "🍎 Detected macOS."
# Install Homebrew if not found
if ! command -v brew &> /dev/null; then
echo "Installing Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Add brew to path for the remainder of this script
if [ -x "/opt/homebrew/bin/brew" ]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
fi
fi
echo "Installing packages via Homebrew..."
brew bundle --file="$DOTFILES_DIR/os/macos/Brewfile"
elif [ "$OS" = "Linux" ]; then
echo "🐧 Detected Linux (Assuming CachyOS / Arch)."
echo "Updating system and installing official packages..."
sudo pacman -Syu --noconfirm
sudo pacman -S --needed --noconfirm - < "$DOTFILES_DIR/os/cachyos/pkglist.txt"
# Check for AUR helper and install AUR packages
AUR_HELPER=""
if command -v paru &> /dev/null; then
AUR_HELPER="paru"
elif command -v yay &> /dev/null; then
AUR_HELPER="yay"
fi
if [ -n "$AUR_HELPER" ]; then
echo "Installing AUR packages using $AUR_HELPER..."
$AUR_HELPER -S --needed --noconfirm - < "$DOTFILES_DIR/os/cachyos/aurlist.txt"
else
echo "⚠️ No AUR helper (paru/yay) found. Skipping AUR packages."
echo "Please install paru or yay and run: paru -S --needed - < os/cachyos/aurlist.txt"
fi
if [ -f "$DOTFILES_DIR/os/cachyos/kde/cachyos-profile.knsv" ] && command -v konsave &> /dev/null; then
echo "Applying KDE Plasma Profile..."
konsave -i "$DOTFILES_DIR/os/cachyos/kde/cachyos-profile.knsv" || true
sleep 2
konsave -a cachyos-profile || true
fi
else
echo "⚠️ Unsupported OS detected: $OS"
exit 1
fi
echo
# ---------------------------------------------------------
# 2. Linking Configuration Files
# ---------------------------------------------------------
echo "🔗 Setting up configuration..."
mkdir -p ~/.config
cd "$DOTFILES_DIR/stow"
for app in */; do
echo "Stowing ${app%/}"
stow -R "${app%/}" -t "$HOME"
done
cd "$DOTFILES_DIR"
# Link OS-specific .zprofile and aliases
if [ "$OS" = "Darwin" ]; then
echo "Linking macOS .zprofile and aliases..."
rm -f ~/.zprofile
ln -s "$DOTFILES_DIR/os/macos/.zprofile" ~/.zprofile
rm -f ~/.os_aliases
ln -s "$DOTFILES_DIR/os/macos/aliases.sh" ~/.os_aliases
elif [ "$OS" = "Linux" ]; then
echo "Linking Linux .zprofile and aliases..."
rm -f ~/.zprofile
ln -s "$DOTFILES_DIR/os/cachyos/.zprofile" ~/.zprofile
rm -f ~/.os_aliases
ln -s "$DOTFILES_DIR/os/cachyos/aliases.sh" ~/.os_aliases
fi
echo "Linking common aliases..."
rm -f ~/.common_aliases
ln -s "$DOTFILES_DIR/shell/aliases.sh" ~/.common_aliases
# ---------------------------------------------------------
# 3. Tmux Plugin Manager
# ---------------------------------------------------------
if [ ! -d ~/.tmux/plugins/tpm ]; then
echo "Installing tmux plugin manager (TPM)..."
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
fi
# ---------------------------------------------------------
# 4. Secondary Setup Scripts
# ---------------------------------------------------------
echo
echo "🛠️ Running secondary installation scripts..."
# Export newly installed binaries into PATH for these scripts
export PATH="/opt/homebrew/bin:$HOME/.local/bin:$HOME/go/bin:$HOME/.bun/bin:$PATH"
if [ -f "$DOTFILES_DIR/scripts/install_dev_tools.sh" ]; then
bash "$DOTFILES_DIR/scripts/install_dev_tools.sh"
fi
if [ -f "$DOTFILES_DIR/scripts/install_conda.sh" ]; then
bash "$DOTFILES_DIR/scripts/install_conda.sh"
fi
echo
echo "═══════════════════════════════════════"
echo " ✅ Installation Complete!"
echo "═══════════════════════════════════════"
echo "Please restart your terminal or run 'exec zsh' to apply all changes."
+24
View File
@@ -0,0 +1,24 @@
# CachyOS (Linux) Environment Variables and PATH
# User Local Bin
export PATH="$HOME/.local/bin:$PATH"
# Go Development
export PATH="/usr/local/go/bin:$HOME/go/bin:$PATH"
# Bun
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
# Node / NPM / pnpm
export PATH="$HOME/.npm-global/bin:$PATH"
export PNPM_HOME="$HOME/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
# Oh-My-Posh (Prompt)
if command -v oh-my-posh >/dev/null; then
eval "$(oh-my-posh init zsh --config $HOME/.config/oh-my-posh/zen.toml)"
fi
+6
View File
@@ -0,0 +1,6 @@
# Arch-based aliases
alias pup="sudo pacman -Syu"
alias ps="pacman -Ss"
alias pi="sudo pacman -S $1 -y"
alias pr="sudo pacman -R $1 -y"
alias shutdown="shutdown now"
+10
View File
@@ -0,0 +1,10 @@
bruno-bin
bun-bin
cursor-bin
hoppscotch-bin
konsave
librewolf-bin
onlyoffice-bin
proton-pass-bin
visual-studio-code-bin
zen-browser-bin
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:31f04363f298ef5c2129f4a483f01f5e164b2103b5652b2cb3017ba66665a330
size 2127562266
+20
View File
@@ -0,0 +1,20 @@
alacritty
btop
cloudflared
docker
eza
fastfetch
fzf
ghostty
go
lazygit
nodejs
npm
pnpm
stow
tmux
unzip
zed
zoxide
zsh-autosuggestions
zsh-syntax-highlighting
+24
View File
@@ -0,0 +1,24 @@
# macOS Environment Variables and PATH
# Homebrew
if [ -x "/opt/homebrew/bin/brew" ]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
fi
# User Local Bin
export PATH="$HOME/.local/bin:$PATH"
# Go Development
export PATH="$HOME/go/bin:$PATH"
# Bun
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
# Node / NPM / pnpm (Fallback if not managed completely by brew/corepack)
export PATH="$HOME/.npm-global/bin:$PATH"
# Oh-My-Posh (Prompt)
if command -v oh-my-posh >/dev/null; then
eval "$(oh-my-posh init zsh --config $HOME/.config/oh-my-posh/zen.toml)"
fi
+53
View File
@@ -0,0 +1,53 @@
# Taps
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-fonts"
tap "nikitabobko/tap"
# System Tools & Terminal
brew "btop"
brew "cloudflared"
brew "eza"
brew "fastfetch"
brew "fzf"
brew "stow"
brew "tmux"
brew "unzip"
brew "zoxide"
brew "zsh-autosuggestions"
brew "zsh-syntax-highlighting"
# Development & Programming
brew "bun"
brew "go"
brew "lazygit"
brew "node"
brew "pnpm"
# Casks (GUI Apps)
cask "1password"
cask "aerospace"
cask "alacritty"
cask "blender"
cask "bruno"
cask "cursor"
cask "docker"
cask "ghostty"
cask "hoppscotch"
cask "keka"
cask "obsidian"
cask "onlyoffice"
cask "pearcleaner"
brew "proton-pass"
cask "setapp"
cask "sf-symbols"
cask "sourcetree"
cask "tableplus"
cask "visual-studio-code"
cask "zed"
cask "zen-browser"
# Fonts
cask "font-inter"
cask "font-sf-mono"
cask "font-sf-pro"
+264
View File
@@ -0,0 +1,264 @@
# Place a copy of this config to ~/.aerospace.toml
# After that, you can edit ~/.aerospace.toml to your liking
# It's not neceesary to copy all keys to your config.
# If the key is missing in your config, "default-config.toml" will serve as a fallback
# You can use it to add commands that run after login to macOS user session.
# 'start-at-login' needs to be 'true' for 'after-login-command' to work
# Available commands: https://nikitabobko.github.io/AeroSpace/commands
after-login-command = []
# You can use it to add commands that run after AeroSpace startup.
# 'after-startup-command' is run after 'after-login-command'
# Available commands : https://nikitabobko.github.io/AeroSpace/commands
#after-startup-command = [
# 'exec-and-forget /opt/homebrew/opt/sketchybar/bin/sketchybar',
#]
#exec-on-workspace-change = [
# '/bin/bash',
# '-c',
# '/opt/homebrew/opt/sketchybar/bin/sketchybar --trigger aerospace_workspace_change AEROSPACE_FOCUSED_WORKSPACE=$AEROSPACE_FOCUSED_WORKSPACE AEROSPACE_PREV_WORKSPACE=$AEROSPACE_PREV_WORKSPACE',
#]
# Start AeroSpace at login
start-at-login = true
# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization
enable-normalization-flatten-containers = false
enable-normalization-opposite-orientation-for-nested-containers = false
# See: https://nikitabobko.github.io/AeroSpace/guide#layouts
# The 'accordion-padding' specifies the size of accordion padding
# You can set 0 to disable the padding feature
accordion-padding = 20
# Possible values: tiles|accordion
default-root-container-layout = 'tiles'
# Possible values: horizontal|vertical|auto
# 'auto' means: wide monitor (anything wider than high) gets horizontal orientation,
# tall monitor (anything higher than wide) gets vertical orientation
default-root-container-orientation = 'auto'
# Possible values: (qwerty|dvorak)
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
key-mapping.preset = 'qwerty'
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
on-focus-changed = ['move-mouse window-lazy-center']
# Gaps between windows (inner-*) and between monitor edges (outer-*).
# Possible values:
# - Constant: gaps.outer.top = 8
# - Per monitor: gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24]
# In this example, 24 is a default value when there is no match.
# Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'.
# See: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors
[workspace-to-monitor-force-assignment]
1 = 'main'
2 = 'main'
3 = 'V32UE'
4 = 'V32UE'
5 = 'V32UE'
6 = '^27W'
7 = '^27W'
10 = '^EPSON'
[gaps]
inner.horizontal = 20
inner.vertical = 20
outer.top = [{ monitor."main" = 5 }, 40]
outer.left = 15
outer.bottom = 15
outer.right = 15
# See https://nikitabobko.github.io/AeroSpace/guide#exec-env-vars
[exec] # Again, you don't need to copy all config sections to your config.
inherit-env-vars = true # If you don't touch "exec" section,
[exec.env-vars] # it will fallback to "default-config.toml"
PATH = '/opt/homebrew/bin:/opt/homebrew/sbin:${PATH}'
# 'main' binding mode declaration
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
# 'main' binding mode must be always presented
[mode.main.binding]
# All possible keys:
# - Letters. a, b, c, ..., z
# - Numbers. 0, 1, 2, ..., 9
# - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9
# - F-keys. f1, f2, ..., f20
# - Special keys. minus, equal, period, comma, slash, backslash, quote, semicolon, backtick,
# leftSquareBracket, rightSquareBracket, space, enter, esc, backspace, tab
# - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual,
# keypadMinus, keypadMultiply, keypadPlus
# - Arrows. left, down, up, right
# All possible modifiers: cmd, alt, ctrl, shift
# All possible commands: https://nikitabobko.github.io/AeroSpace/commands
# You can uncomment this line to open up terminal with alt + enter shortcut
# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget
cmd-enter = 'exec-and-forget open -na Alacritty'
cmd-shift-w = 'exec-and-forget open -na Safari'
cmd-shift-e = 'exec-and-forget open -na Zed'
ctrl-shift-f = 'exec-and-forget open .'
#ctrl-shift-f = 'fullscreen'
# See: https://nikitabobko.github.io/AeroSpace/commands#layout
ctrl-backslash= 'layout tiles horizontal vertical'
ctrl-comma = 'layout accordion horizontal vertical'
# See: https://nikitabobko.github.io/AeroSpace/commands#focus
ctrl-h = 'focus left --boundaries all-monitors-outer-frame'
ctrl-j = 'focus down --boundaries all-monitors-outer-frame'
ctrl-k = 'focus up --boundaries all-monitors-outer-frame'
ctrl-l = 'focus right --boundaries all-monitors-outer-frame'
# See: https://nikitabobko.github.io/AeroSpace/commands#move
ctrl-shift-h = 'move left'
ctrl-shift-j = 'move down'
ctrl-shift-k = 'move up'
ctrl-shift-l = 'move right'
# See: https://nikitabobko.github.io/AeroSpace/commands#resize
ctrl-shift-minus = 'resize smart -50'
ctrl-shift-equal = 'resize smart +50'
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace
ctrl-1 = 'workspace 1'
ctrl-2 = 'workspace 2'
ctrl-3 = 'workspace 3'
ctrl-4 = 'workspace 4'
ctrl-5 = 'workspace 5'
ctrl-6 = 'workspace 6'
ctrl-7 = 'workspace 7'
ctrl-8 = 'workspace 8'
ctrl-9 = 'workspace 9'
ctrl-0 = 'workspace 10'
# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace
ctrl-shift-1 = ['move-node-to-workspace 1', 'workspace 1']
ctrl-shift-2 = ['move-node-to-workspace 2', 'workspace 2']
ctrl-shift-3 = ['move-node-to-workspace 3', 'workspace 3']
ctrl-shift-4 = ['move-node-to-workspace 4', 'workspace 4']
ctrl-shift-5 = ['move-node-to-workspace 5', 'workspace 5']
ctrl-shift-6 = ['move-node-to-workspace 6', 'workspace 6']
ctrl-shift-7 = ['move-node-to-workspace 7', 'workspace 7']
ctrl-shift-8 = ['move-node-to-workspace 8', 'workspace 8']
ctrl-shift-9 = ['move-node-to-workspace 9', 'workspace 9']
ctrl-shift-0 = ['move-node-to-workspace 10', 'workspace 10']
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth
ctrl-tab = 'workspace-back-and-forth'
# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor
ctrl-shift-tab = 'move-workspace-to-monitor --wrap-around next'
# See: https://nikitabobko.github.io/AeroSpace/commands#mode
ctrl-shift-semicolon = 'mode service'
# 'service' binding mode declaration.
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
# disabled hide window
# cmd-h = []
# rotate hangul and english
[mode.service.binding]
esc = ['reload-config', 'mode main']
r = ['flatten-workspace-tree', 'mode main'] # reset layout
#s = ['layout sticky tiling', 'mode main'] # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2
f = [
'layout floating tiling',
'mode main',
] # Toggle between floating and tiling layout
ctrl-shift-semicolon = [
'fullscreen',
'mode main',
] # Toggle between floating and tiling layout
backspace = ['close-all-windows-but-current', 'mode main']
ctrl-shift-h = ['join-with left', 'mode main']
ctrl-shift-j = ['join-with down', 'mode main']
ctrl-shift-k = ['join-with up', 'mode main']
ctrl-shift-l = ['join-with right', 'mode main']
ctrl-shift-r = ['exec-and-forget /opt/homebrew/bin/sketchybar --reload']
# [[on-window-detected]]
# if.app-id = 'nl.stickybit.OTP-Manager'
# run = ['layout floating']
#[[on-window-detected]]
#if.window-title-regex-substring = '^BIG-IP'
#run = ['layout floating']
[[on-window-detected]]
if.app-id = 'com.microsoft.VSCode'
run = ['move-node-to-workspace 1']
[[on-window-detected]]
if.app-id = 'dev.zed.Zed'
run = ['move-node-to-workspace 1']
[[on-window-detected]]
if.app-id = 'com.todesktop.230313mzl4w4u92'
run = ['move-node-to-workspace 1']
[[on-window-detected]]
if.app-id = 'com.jetbrains.intellij'
run = ['move-node-to-workspace 1']
[[on-window-detected]]
if.app-id = 'com.jetbrains.goland'
run = ['move-node-to-workspace 1']
[[on-window-detected]]
if.app-id = 'org.alacritty'
run = ['move-node-to-workspace 2']
[[on-window-detected]]
if.app-id = 'com.apple.Safari'
run = ['move-node-to-workspace 3']
[[on-window-detected]]
if.app-id = 'com.google.Chrome'
run = ['move-node-to-workspace 3']
[[on-window-detected]]
if.app-id = 'com.google.Chrome.dev'
run = ['move-node-to-workspace 3']
[[on-window-detected]]
if.app-id = 'com.brave.Browser'
run = ['move-node-to-workspace 3']
[[on-window-detected]]
if.app-id = 'com.kagi.kagimacOS'
run = ['move-node-to-workspace 3']
[[on-window-detected]]
if.app-id = 'com.apple.Music'
run = ['move-node-to-workspace 5']
[[on-window-detected]]
if.app-id = 'com.apple.finder'
run = ['move-node-to-workspace 4']
[[on-window-detected]]
if.app-id = 'com.hnc.Discord'
run = ['move-node-to-workspace 8']
[[on-window-detected]]
if.app-id = "md.obsidian"
run = ['move-node-to-workspace 9']
[[on-window-detected]]
if.app-id = 'com.apple.weather'
run = ['layout floating']
+18
View File
@@ -0,0 +1,18 @@
#MacOS aliases
# Brew Aliases
alias bupd="brew update && brew upgrade"
alias bi="brew install"
alias bs="brew search"
alias bu="brew uninstall"
alias reboot="sudo reboot"
alias shutdown="sudo shutdown now"
alias diskUsage='du -sh * | gsort -h'
alias ofd="open ."
alias showfiles="defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app"
alias hidefiles="defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app"
# IP alias and functions
alias ip="ifconfig -a | egrep -A 7 '^en0' | grep inet | grep -oE '((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])' | head -n 1"
alias myip="curl -s http://checkip.dyndns.org/ | sed 's/[a-zA-Z<>/ :]//g'"
+14
View File
@@ -0,0 +1,14 @@
#!/bin/bash
OS=$(uname -s)
if [ "$OS" = "Darwin" ]; then
ARCH="MacOSX-arm64"
else
ARCH="Linux-x86_64"
fi
echo "Installing Miniconda..."
mkdir -p ~/miniconda3
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-${ARCH}.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init zsh
+14
View File
@@ -0,0 +1,14 @@
#!/bin/bash
echo "Installing Go and Bun development tools..."
# Go tools
if command -v go &> /dev/null; then
go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
go install github.com/cosmtrek/air@latest
go install github.com/swaggo/swag/cmd/swag@latest
fi
# Bun tools
if command -v bun &> /dev/null; then
bun install -g dbdocs @dbml/cli
fi
+18
View File
@@ -0,0 +1,18 @@
#General (All OSes)
alias ls="eza -l --git --icons=always --group-directories-first"
alias c="clear"
alias m="make"
alias mc="make clean"
alias cpi="cp -iv"
alias mvi="mv -iv"
alias rm="rm -i"
alias home="cd ~"
alias root="cd /"
alias dev="cd ~/Developer"
alias tn="tmux new -s"
alias ta="tmux attach -t"
alias tl="tmux ls"
alias tk="tmux kill-session -t"
+72
View File
@@ -0,0 +1,72 @@
console_title_template = '{{ .Shell }} in {{ .Folder }}'
version = 3
final_space = true
[secondary_prompt]
template = '❯❯ '
foreground = 'magenta'
background = 'transparent'
[transient_prompt]
template = ' '
background = 'transparent'
foreground_templates = ['{{if gt .Code 0}}red{{end}}', '{{if eq .Code 0}}magenta{{end}}']
[[blocks]]
type = 'prompt'
alignment = 'left'
newline = true
[[blocks.segments]]
template = '{{ .Path }}'
foreground = 'blue'
background = 'transparent'
type = 'path'
style = 'plain'
[blocks.segments.properties]
cache_duration = 'none'
style = 'full'
[[blocks.segments]]
template = ' {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }}*{{ end }} <cyan>{{ if gt .Behind 0 }}⇣{{ end }}{{ if gt .Ahead 0 }}⇡{{ end }}</>'
foreground = 'p:grey'
background = 'transparent'
type = 'git'
style = 'plain'
[blocks.segments.properties]
branch_icon = ''
cache_duration = 'none'
commit_icon = '@'
fetch_status = true
[[blocks]]
type = 'rprompt'
overflow = 'hidden'
[[blocks.segments]]
template = '{{ .FormattedMs }}'
foreground = 'yellow'
background = 'transparent'
type = 'executiontime'
style = 'plain'
[blocks.segments.properties]
cache_duration = 'none'
threshold = 5000
[[blocks]]
type = 'prompt'
alignment = 'left'
newline = true
[[blocks.segments]]
template = ''
background = 'transparent'
type = 'text'
style = 'plain'
foreground_templates = ['{{if gt .Code 0}}red{{end}}', '{{if eq .Code 0}}magenta{{end}}']
[blocks.segments.properties]
cache_duration = 'none'
+43
View File
@@ -0,0 +1,43 @@
# Reload tmux configuration
unbind r
bind r source-file ~/.config/tmux/tmux.conf \; display-message "Tmux config reloaded!"
# Set prefix key to Ctrl-s
set -g prefix C-s
# Enable mouse support
set -g mouse on
# Set index starting at 1 for windows and panes
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
# Remap pane navigation to vim-style keys
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
# Set split binds
bind v split-window -h
bind h split-window -v
bind n new-window
bind q kill-pane
set-option -g status-position top
#* TMUX Plugin Manager Configuration
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'dreamsofcode-io/catppuccin-tmux'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin '[email protected]:user/plugin'
# set -g @plugin '[email protected]:user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
+21
View File
@@ -0,0 +1,21 @@
// Zed keymap
//
// For information on binding keys, see the Zed
// documentation: https://zed.dev/docs/key-bindings
//
// To see the default key bindings run `zed: open default keymap`
// from the command palette.
[
{
"context": "Workspace",
"bindings": {
// "shift shift": "file_finder::Toggle"
}
},
{
"context": "Editor",
"bindings": {
// "j k": ["workspace::SendKeystrokes", "escape"]
}
}
]
+35
View File
@@ -0,0 +1,35 @@
// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
"icon_theme": "Catppuccin Mocha",
"agent": {
"always_allow_tool_actions": true,
"default_profile": "write",
"default_model": {
"provider": "zed.dev",
"model": "claude-3-7-sonnet"
},
},
"telemetry": {
"metrics": false,
"diagnostics": false
},
"vim_mode": false,
"ui_font_size": 14,
"buffer_font_size": 14,
"theme": {
"mode": "system",
"light": "One Light",
"dark": "Min Dark (Blurred)"
},
"hover_popover_enabled": true,
"features": {
"edit_prediction_provider": "zed"
}
}
@@ -0,0 +1,35 @@
// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
"icon_theme": "Catppuccin Mocha",
"agent": {
"default_profile": "write",
"default_model": {
"provider": "zed.dev",
"model": "claude-sonnet-4"
},
"version": "2"
},
"telemetry": {
"metrics": false,
"diagnostics": false
},
"vim_mode": false,
"ui_font_size": 14,
"buffer_font_size": 14,
"theme": {
"mode": "system",
"light": "One Light",
"dark": "Min Dark (Blurred)"
},
"hover_popover_enabled": true,
"features": {
"edit_prediction_provider": "zed"
}
}
+70
View File
@@ -0,0 +1,70 @@
fastfetch
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
if [ ! -d "$ZINIT_HOME" ]; then
mkdir -p "$(dirname "$ZINIT_HOME")"
git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
fi
source "${ZINIT_HOME}/zinit.zsh"
# User configuration
#Path
[ -f "$HOME/.zprofile" ] && source "$HOME/.zprofile"
# Aliases
[ -f "$HOME/.common_aliases" ] && source "$HOME/.common_aliases"
[ -f "$HOME/.os_aliases" ] && source "$HOME/.os_aliases"
# Zsh Plugins
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-syntax-highlighting
zinit light Aloxaf/fzf-tab
#Add in snippets
zinit snippet OMZP::git
zinit snippet OMZP::sudo
zinit snippet OMZP::command-not-found
# Initialize compinit for completions
autoload -U compinit && compinit
zinit cdreplay -q
#History Config
HISTSIZE=5000
HISTFILE=~/.zsh_history
SAVEHIST=$HISTSIZE
HISTDUP=erase
setopt appendhistory
setopt sharehistory
setopt hist_ignore_space
setopt hist_save_no_dups
setopt hist_ignore_dups
setopt hist_find_no_dups
#Completion Styling
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*' menu no
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
#Conda Config
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/fernandovideira/miniforge3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/fernandovideira/miniforge3/etc/profile.d/conda.sh" ]; then
. "/Users/fernandovideira/miniforge3/etc/profile.d/conda.sh"
else
export PATH="/Users/fernandovideira/miniforge3/bin:$PATH"
fi
fi
unset __conda_setup
eval "$(direnv hook zsh)"
eval "$(fzf --zsh)"
eval "$(zoxide init zsh --cmd cd)"