feat: remade scripts to be simpler
This commit is contained in:
@@ -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
@@ -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."
|
||||||
@@ -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
|
||||||
@@ -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"
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:31f04363f298ef5c2129f4a483f01f5e164b2103b5652b2cb3017ba66665a330
|
||||||
|
size 2127562266
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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"
|
||||||
@@ -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']
|
||||||
@@ -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'"
|
||||||
Executable
+14
@@ -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
|
||||||
Executable
+14
@@ -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
|
||||||
Executable
+18
@@ -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"
|
||||||
@@ -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'
|
||||||
@@ -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'
|
||||||
Binary file not shown.
Binary file not shown.
@@ -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"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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)"
|
||||||
Reference in New Issue
Block a user