mirror of
https://github.com/AquaMorph/dotfiles.git
synced 2026-10-22 04:45:34 +00:00
Compare commits
21
Commits
cbbcf06c30
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
897746b703 | ||
|
|
b94863cef8 | ||
|
|
87312f9099 | ||
|
|
aacee17255 | ||
|
|
e71962c89f | ||
|
|
bbc7509810 | ||
|
|
a601ceb4de | ||
|
|
6ec72b77c7 | ||
|
|
50dcca10c9 | ||
|
|
b942953365 | ||
|
|
38fb8d8448 | ||
|
|
05da23ca10 | ||
|
|
67c81eea85 | ||
|
|
ed99088c87 | ||
|
|
891ba27000 | ||
|
|
8d80823b37 | ||
|
|
021dcf7010 | ||
|
|
8fb6eb5f82 | ||
|
|
585818041a | ||
|
|
525f55487f | ||
|
|
f47e69f438 |
@@ -1,10 +1,99 @@
|
|||||||
# Dotfiles
|
# Dotfiles
|
||||||
|
|
||||||
A collection of config files and scripts for Fedora GNU/Linux.
|
A collection of config files and scripts for Fedora GNU/Linux and macOS.
|
||||||
|
|
||||||
## Installation
|
## Linux installation
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
chezmoi init --apply git@github.com:AquaMorph/dotfiles.git
|
chezmoi init --apply git@github.com:AquaMorph/dotfiles.git
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## macOS installation
|
||||||
|
|
||||||
|
1. Install the Xcode Command Line Tools with `xcode-select --install`, then
|
||||||
|
install [Homebrew](https://brew.sh/) and follow its `brew shellenv`
|
||||||
|
instructions.
|
||||||
|
|
||||||
|
2. Download the dotfiles without applying them, then install dependencies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
brew install chezmoi
|
||||||
|
chezmoi init git@github.com:AquaMorph/dotfiles.git
|
||||||
|
brew bundle --file="$(chezmoi source-path ~/.brewfile)"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Restore your password store to `~/.password-store` and import its GPG private
|
||||||
|
key from a secure backup before applying the dotfiles:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gpg --import /path/to/private-key-backup.asc
|
||||||
|
```
|
||||||
|
|
||||||
|
If the store is kept in Git, clone it to `~/.password-store` using your
|
||||||
|
password-store repository URL. Verify that all required secrets can be
|
||||||
|
decrypted without printing their values:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pass show self-host/token/audible-activation-bytes >/dev/null
|
||||||
|
pass show self-host/token/aquaai >/dev/null
|
||||||
|
pass show self-host/token/todoist >/dev/null
|
||||||
|
```
|
||||||
|
|
||||||
|
`settings.conf` is rendered using `pass`, so applying it requires these
|
||||||
|
entries and the matching private key. Never commit keys or plaintext tokens.
|
||||||
|
|
||||||
|
4. Review and apply the dotfiles, then open a new terminal:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chezmoi diff
|
||||||
|
chezmoi apply
|
||||||
|
```
|
||||||
|
|
||||||
|
Linux-only configuration and scripts are automatically ignored on macOS.
|
||||||
|
|
||||||
|
To install newly added macOS dependencies later:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
brew bundle --file="$(chezmoi source-path ~/.brewfile)"
|
||||||
|
```
|
||||||
|
|
||||||
|
### System preferences
|
||||||
|
|
||||||
|
Close System Settings, then review and run the optional setup script as your
|
||||||
|
normal user (not with `sudo`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
~/bin/setup-macos.sh --dry-run
|
||||||
|
~/bin/setup-macos.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
It enables dark mode and Dock auto-hide, disables natural scrolling and
|
||||||
|
swipe-to-navigate, and removes window-tiling margins (macOS Sequoia and later).
|
||||||
|
Animation settings and machine-specific state, such as Dock contents and
|
||||||
|
monitor/Spaces layouts, are left unchanged.
|
||||||
|
|
||||||
|
The script is safe to rerun but does not back up previous values or run
|
||||||
|
automatically during `chezmoi apply`. Log out and back in if changes are not
|
||||||
|
visible.
|
||||||
|
|
||||||
|
### Hover window focus
|
||||||
|
|
||||||
|
AutoRaise focuses and raises windows on hover. Its settings are managed in
|
||||||
|
`~/.config/AutoRaise/config`.
|
||||||
|
|
||||||
|
After installing dependencies and applying the dotfiles, enable it at login:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
brew services start dimentium/autoraise/autoraise
|
||||||
|
```
|
||||||
|
|
||||||
|
Grant AutoRaise access in **System Settings → Privacy & Security → Accessibility**.
|
||||||
|
If it is not listed, use **+**, press **Cmd+Shift+G**, and enter the path printed by
|
||||||
|
`echo "$(brew --prefix autoraise)/bin/AutoRaise"`. Then restart it with
|
||||||
|
`brew services restart dimentium/autoraise/autoraise`.
|
||||||
|
|
||||||
|
Hold **Control** to temporarily suspend hover focus. To turn it off entirely:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
brew services stop dimentium/autoraise/autoraise
|
||||||
|
```
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
encryption = "gpg"
|
||||||
|
|
||||||
|
[gpg]
|
||||||
|
recipient = "02C20A131365D6EF3CC4A023B9BDD0975CF5592D"
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
{{ if eq .chezmoi.os "darwin" -}}
|
||||||
|
# Linux desktop configuration
|
||||||
|
.config/g13
|
||||||
|
.config/gtk-3.0
|
||||||
|
.config/gtk-4.0
|
||||||
|
.config/hypr
|
||||||
|
.config/i3
|
||||||
|
.config/mako
|
||||||
|
.config/polybar
|
||||||
|
.config/quickshell
|
||||||
|
.config/rofi
|
||||||
|
.config/waybar
|
||||||
|
|
||||||
|
# Linux services and PipeWire configuration
|
||||||
|
.config/systemd
|
||||||
|
.config/wireplumber
|
||||||
|
.local/share/wireplumber
|
||||||
|
user/*.service
|
||||||
|
|
||||||
|
# Linux package installers and desktop startup scripts
|
||||||
|
bin/installers
|
||||||
|
bin/desktop
|
||||||
|
bin/system
|
||||||
|
bin/i3-mouse.py
|
||||||
|
bin/i3wm-config-gen.sh
|
||||||
|
bin/i3wm-for-window-gen.sh
|
||||||
|
bin/launch-stocks-tracker.py
|
||||||
|
bin/start-firefox.py
|
||||||
|
bin/start-brave.sh
|
||||||
|
|
||||||
|
# Linux hardware, screen locking, and NAS mounting
|
||||||
|
bin/get-mouse-battery.sh
|
||||||
|
bin/lock.sh
|
||||||
|
bin/toggle-graphics.sh
|
||||||
|
bin/trackpad-toggle.sh
|
||||||
|
bin/connect-nas.sh
|
||||||
|
|
||||||
|
# ALSA/PipeWire routing and Rofi prompts; keep portable audio utilities
|
||||||
|
bin/audio/audio-lib.sh
|
||||||
|
bin/audio/aquamix.sh
|
||||||
|
bin/audio/es8start.sh
|
||||||
|
bin/audio/es9start.sh
|
||||||
|
bin/audio/es9stop.sh
|
||||||
|
bin/audio/system-start-audio.sh
|
||||||
|
bin/audio/synth-power-prompt.sh
|
||||||
|
|
||||||
|
# Wine-based Adobe DNG conversion with GNU date
|
||||||
|
bin/video/cr3todng.sh
|
||||||
|
{{ else -}}
|
||||||
|
# Homebrew dependencies are only managed on macOS.
|
||||||
|
.brewfile
|
||||||
|
|
||||||
|
# macOS OrcaSlicer uses a symlink to the shared Linux-style profile directory.
|
||||||
|
Library/Application Support/OrcaSlicer
|
||||||
|
{{ end -}}
|
||||||
|
|
||||||
|
{{ if ne .chezmoi.os "darwin" -}}
|
||||||
|
.config/karabiner
|
||||||
|
.config/AutoRaise
|
||||||
|
bin/setup-macos.sh
|
||||||
|
{{ end -}}
|
||||||
@@ -1 +1 @@
|
|||||||
openai/gpt-5.6-luna-fast
|
openai/gpt-5.6-luna
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{{ .chezmoi.homeDir }}/.config/OrcaSlicer/user/default
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Apply curated macOS preferences without copying machine-specific state.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
echo "Usage: ${0##*/} [--dry-run]"
|
||||||
|
echo "Apply macOS preferences for the current user. Do not run with sudo."
|
||||||
|
}
|
||||||
|
|
||||||
|
dry_run=false
|
||||||
|
case "${1:-}" in
|
||||||
|
--dry-run) dry_run=true ;;
|
||||||
|
--help|-h) usage; exit 0 ;;
|
||||||
|
"") ;;
|
||||||
|
*) usage >&2; exit 1 ;;
|
||||||
|
esac
|
||||||
|
if [[ $# -gt 1 ]]; then
|
||||||
|
usage >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$(uname -s)" != "Darwin" ]]; then
|
||||||
|
echo "This script only supports macOS." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ "$EUID" -eq 0 ]]; then
|
||||||
|
echo "Run this script as your normal user, not with sudo." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
function write_preference {
|
||||||
|
if [[ "$dry_run" == true ]]; then
|
||||||
|
printf '%q ' defaults write "$@"
|
||||||
|
printf '\n'
|
||||||
|
elif ! defaults write "$@"; then
|
||||||
|
echo "Could not write preference: $1 $2" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Existing preferences observed on this Mac. This is not a full defaults export:
|
||||||
|
# macOS also stores stock values, histories, and hardware-specific state there.
|
||||||
|
|
||||||
|
# Use dark appearance and automatically hide the Dock.
|
||||||
|
write_preference NSGlobalDomain AppleInterfaceStyle -string Dark
|
||||||
|
write_preference com.apple.dock autohide -bool true
|
||||||
|
|
||||||
|
# Use traditional scrolling and disable swipe-based back/forward navigation.
|
||||||
|
write_preference NSGlobalDomain com.apple.swipescrolldirection -bool false
|
||||||
|
write_preference NSGlobalDomain AppleEnableSwipeNavigateWithScrolls -bool false
|
||||||
|
|
||||||
|
# Remove the gaps around tiled windows (macOS Sequoia and later).
|
||||||
|
write_preference com.apple.WindowManager EnableTiledWindowMargins -bool false
|
||||||
|
|
||||||
|
if [[ "$dry_run" == false ]]; then
|
||||||
|
echo "Preferences saved. Log out and back in if changes are not visible."
|
||||||
|
fi
|
||||||
@@ -22,8 +22,7 @@ function dnfUpdate {
|
|||||||
function aptUpdate {
|
function aptUpdate {
|
||||||
if command -v apt &> /dev/null; then
|
if command -v apt &> /dev/null; then
|
||||||
echo Updating APT...
|
echo Updating APT...
|
||||||
sudo apt update
|
sudo apt update && sudo apt upgrade
|
||||||
sudo apt upgrade
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,22 +30,31 @@ function aptUpdate {
|
|||||||
function flatpakUpdate {
|
function flatpakUpdate {
|
||||||
if command -v flatpak &> /dev/null; then
|
if command -v flatpak &> /dev/null; then
|
||||||
echo Updating Flatpak...
|
echo Updating Flatpak...
|
||||||
flatpak uninstall --unused
|
flatpak uninstall --unused && flatpak update
|
||||||
flatpak update
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Appimage Updater
|
# Appimage Updater
|
||||||
function appimageUpdate {
|
function appimageUpdate {
|
||||||
|
if command -v am &> /dev/null; then
|
||||||
|
echo Updating AppImages...
|
||||||
am update
|
am update
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Homebrew Updater
|
||||||
|
function brewUpdate {
|
||||||
|
if command -v brew &> /dev/null; then
|
||||||
|
echo Updating Homebrew...
|
||||||
|
brew update && brew upgrade
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Pass Repository Updater
|
# Pass Repository Updater
|
||||||
function passUpdate {
|
function passUpdate {
|
||||||
if [ -d "$HOME/.password-store/.git" ] && [ -d "$HOME/.password-store" ]; then
|
if [ -d "$HOME/.password-store/.git" ] && [ -d "$HOME/.password-store" ]; then
|
||||||
echo Updating pass repository...
|
echo Updating pass repository...
|
||||||
cd "$HOME/.password-store"
|
git -C "$HOME/.password-store" pull
|
||||||
git pull
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,16 +80,28 @@ function manualUpdate {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
chezmoiUpdate
|
update_failed=0
|
||||||
echo ''
|
|
||||||
dnfUpdate
|
|
||||||
aptUpdate
|
|
||||||
echo ''
|
|
||||||
flatpakUpdate
|
|
||||||
echo ''
|
|
||||||
appimageUpdate
|
|
||||||
echo ''
|
|
||||||
manualUpdate
|
|
||||||
echo ''
|
|
||||||
passUpdate
|
|
||||||
|
|
||||||
|
# Report failures while allowing the remaining updaters to run.
|
||||||
|
function run_updater {
|
||||||
|
if ! "$1"; then
|
||||||
|
echo "Updater failed: $1" >&2
|
||||||
|
update_failed=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
run_updater chezmoiUpdate
|
||||||
|
echo ''
|
||||||
|
run_updater brewUpdate
|
||||||
|
run_updater dnfUpdate
|
||||||
|
run_updater aptUpdate
|
||||||
|
echo ''
|
||||||
|
run_updater flatpakUpdate
|
||||||
|
echo ''
|
||||||
|
run_updater appimageUpdate
|
||||||
|
echo ''
|
||||||
|
run_updater manualUpdate
|
||||||
|
echo ''
|
||||||
|
run_updater passUpdate
|
||||||
|
|
||||||
|
exit "$update_failed"
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import datetime as dt
|
|||||||
import re
|
import re
|
||||||
import operator
|
import operator
|
||||||
import os
|
import os
|
||||||
|
import shlex
|
||||||
import sys
|
import sys
|
||||||
import tbapy
|
import tbapy
|
||||||
from todoist_api_python.api import TodoistAPI
|
from todoist_api_python.api import TodoistAPI
|
||||||
@@ -105,7 +106,7 @@ configParser.read_string(configString)
|
|||||||
|
|
||||||
# Load needed credentials
|
# Load needed credentials
|
||||||
tbaKey = configParser.get('Settings', 'TBAKey')
|
tbaKey = configParser.get('Settings', 'TBAKey')
|
||||||
todoistToken = configParser.get('Settings', 'TodoistToken')
|
todoistToken = shlex.split(configParser.get('Settings', 'TodoistToken'))[0]
|
||||||
|
|
||||||
# Setup Todoist
|
# Setup Todoist
|
||||||
api = TodoistAPI(todoistToken)
|
api = TodoistAPI(todoistToken)
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
# Shared command-line tools
|
||||||
|
brew "chezmoi"
|
||||||
|
brew "git"
|
||||||
|
brew "emacs"
|
||||||
|
brew "python"
|
||||||
|
brew "jq"
|
||||||
|
|
||||||
|
# Password-store secrets used by chezmoi templates
|
||||||
|
brew "pass"
|
||||||
|
brew "gnupg"
|
||||||
|
|
||||||
|
# Web browser
|
||||||
|
cask "brave-browser"
|
||||||
|
|
||||||
|
# Nextcloud file sync
|
||||||
|
cask "nextcloud"
|
||||||
|
|
||||||
|
# Gaming
|
||||||
|
cask "steam"
|
||||||
|
|
||||||
|
# 3D printing
|
||||||
|
cask "orcaslicer"
|
||||||
|
|
||||||
|
# Logitech mouse configuration
|
||||||
|
cask "logi-options+"
|
||||||
|
|
||||||
|
# Terminal and font used by the shared Alacritty configuration
|
||||||
|
cask "alacritty"
|
||||||
|
cask "font-inconsolata"
|
||||||
|
|
||||||
|
# Focus and raise windows when hovering
|
||||||
|
tap "dimentium/autoraise"
|
||||||
|
brew "dimentium/autoraise/autoraise"
|
||||||
|
|
||||||
|
# Optional tools for audio conversion and local AI
|
||||||
|
# brew "ffmpeg"
|
||||||
|
# brew "ollama"
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# Focus and raise on hover without an intentional delay; never warp the cursor.
|
||||||
|
pollMillis=50
|
||||||
|
delay=1
|
||||||
|
requireMouseStop=true
|
||||||
|
warpX=0
|
||||||
|
warpY=0
|
||||||
|
# Hold Control to temporarily suspend hover focus.
|
||||||
|
disableKey=control
|
||||||
|
# Do not steal focus during authentication or screenshot selection.
|
||||||
|
stayFocusedBundleIds="com.apple.SecurityAgent,com.apple.screencaptureui"
|
||||||
+1519
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,5 @@
|
|||||||
|
# Single-quote values and escape embedded single quotes without changing backslashes.
|
||||||
|
computer='{{ .chezmoi.hostname | replace "'" "'\\''" }}'
|
||||||
|
activation_bytes='{{ pass "self-host/token/audible-activation-bytes" | replace "'" "'\\''" }}'
|
||||||
|
AQUAAI_KEY='{{ pass "self-host/token/aquaai" | replace "'" "'\\''" }}'
|
||||||
|
TodoistToken='{{ pass "self-host/token/todoist" | replace "'" "'\\''" }}'
|
||||||
@@ -11,7 +11,7 @@ PanelWindow {
|
|||||||
property var battery: UPower.displayDevice
|
property var battery: UPower.displayDevice
|
||||||
property var hardware
|
property var hardware
|
||||||
property bool isWayland: Quickshell.env("XDG_SESSION_TYPE") === "wayland"
|
property bool isWayland: Quickshell.env("XDG_SESSION_TYPE") === "wayland"
|
||||||
|| Quickshell.env("WAYLAND_DISPLAY") !== ""
|
|| (!Quickshell.env("XDG_SESSION_TYPE") && !!Quickshell.env("WAYLAND_DISPLAY"))
|
||||||
|
|
||||||
anchors {
|
anchors {
|
||||||
top: true
|
top: true
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
computer={{ .chezmoi.hostname }}
|
|
||||||
activation_bytes={{ pass "self-host/token/audible-activation-bytes" }}
|
|
||||||
AQUAAI_KEY={{ pass "self-host/token/aquaai" }}
|
|
||||||
TodoistToken={{ pass "self-host/token/todoist" }}
|
|
||||||
@@ -12,3 +12,8 @@
|
|||||||
sort = -committerdate
|
sort = -committerdate
|
||||||
[push]
|
[push]
|
||||||
autoSetupRemote = true
|
autoSetupRemote = true
|
||||||
|
[filter "lfs"]
|
||||||
|
required = true
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
process = git-lfs filter-process
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
sh ~/.config/scripts/setup.sh -nr
|
|
||||||
|
|
||||||
# Load user settings from config file.
|
|
||||||
. ~/.config/settings.conf
|
|
||||||
|
|
||||||
if [[ $computer == 'w530' ]]; then
|
|
||||||
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
|
|
||||||
exec startx
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{{ if eq .chezmoi.os "darwin" -}}
|
||||||
|
# Initialize Homebrew on Apple Silicon or Intel Macs.
|
||||||
|
if [[ -x /opt/homebrew/bin/brew ]]; then
|
||||||
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||||
|
elif [[ -x /usr/local/bin/brew ]]; then
|
||||||
|
eval "$(/usr/local/bin/brew shellenv)"
|
||||||
|
fi
|
||||||
|
{{ else if eq .chezmoi.os "linux" -}}
|
||||||
|
if [[ -f "$HOME/.config/scripts/setup.sh" ]]; then
|
||||||
|
sh "$HOME/.config/scripts/setup.sh" -nr
|
||||||
|
fi
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
# Load user settings from config file.
|
||||||
|
if [[ -f "$HOME/.config/settings.conf" ]]; then
|
||||||
|
source "$HOME/.config/settings.conf"
|
||||||
|
fi
|
||||||
|
|
||||||
|
{{ if eq .chezmoi.os "linux" -}}
|
||||||
|
if [[ $computer == 'w530' ]]; then
|
||||||
|
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
|
||||||
|
exec startx
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
{{ end -}}
|
||||||
@@ -5,24 +5,45 @@ setopt PROMPT_SUBST
|
|||||||
PROMPT='%F{white}%n% @%m%f %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '
|
PROMPT='%F{white}%n% @%m%f %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '
|
||||||
|
|
||||||
setopt appendhistory autocd extendedglob nomatch notify
|
setopt appendhistory autocd extendedglob nomatch notify
|
||||||
|
setopt hist_ignore_all_dups hist_save_no_dups hist_find_no_dups
|
||||||
unsetopt beep
|
unsetopt beep
|
||||||
bindkey -e
|
bindkey -e
|
||||||
zstyle :compinstall filename '~/.zshrc'
|
zstyle :compinstall filename '~/.zshrc'
|
||||||
|
|
||||||
|
# Keep PATH entries unique when shell configuration is sourced again.
|
||||||
|
typeset -U path PATH
|
||||||
|
|
||||||
|
{{ if eq .chezmoi.os "darwin" -}}
|
||||||
|
# Load Homebrew completions before initializing completion support.
|
||||||
|
typeset -U fpath
|
||||||
|
if [[ -n "$HOMEBREW_PREFIX" && -d "$HOMEBREW_PREFIX/share/zsh/site-functions" ]]; then
|
||||||
|
fpath=("$HOMEBREW_PREFIX/share/zsh/site-functions" $fpath)
|
||||||
|
elif [[ -d /opt/homebrew/share/zsh/site-functions ]]; then
|
||||||
|
fpath=(/opt/homebrew/share/zsh/site-functions $fpath)
|
||||||
|
elif [[ -d /usr/local/share/zsh/site-functions ]]; then
|
||||||
|
fpath=(/usr/local/share/zsh/site-functions $fpath)
|
||||||
|
fi
|
||||||
|
{{ end -}}
|
||||||
|
|
||||||
autoload -Uz compinit
|
autoload -Uz compinit
|
||||||
compinit
|
compinit
|
||||||
|
|
||||||
HISTFILE=~/.zsh_history
|
HISTFILE=~/.zsh_history
|
||||||
HISTSIZE=99999999
|
HISTSIZE=100000
|
||||||
SAVEHIST=99999999
|
SAVEHIST=50000
|
||||||
|
|
||||||
source "$HOME/.config/settings.conf"
|
if [[ -f "$HOME/.config/settings.conf" ]]; then
|
||||||
|
source "$HOME/.config/settings.conf"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# User scripts
|
||||||
|
path=("$HOME/bin" $path)
|
||||||
|
export PATH
|
||||||
|
|
||||||
# Text Editor
|
# Text Editor
|
||||||
export EDITOR='emacs -nw'
|
export EDITOR='emacs -nw'
|
||||||
alias emacs="${EDITOR}"
|
alias emacs="${EDITOR}"
|
||||||
alias e="${EDITOR}"
|
alias e="${EDITOR}"
|
||||||
export TERM=xterm
|
|
||||||
|
|
||||||
# Search
|
# Search
|
||||||
alias g='grep -Irn'
|
alias g='grep -Irn'
|
||||||
@@ -36,16 +57,21 @@ alias dote="${DOT_PROGRAM} edit --apply"
|
|||||||
alias dotu="${DOT_PROGRAM} update"
|
alias dotu="${DOT_PROGRAM} update"
|
||||||
|
|
||||||
# Other
|
# Other
|
||||||
|
{{ if eq .chezmoi.os "darwin" -}}
|
||||||
|
alias i='brew install'
|
||||||
|
alias d='brew'
|
||||||
|
{{ else -}}
|
||||||
alias i='sudo dnf install'
|
alias i='sudo dnf install'
|
||||||
alias d='sudo dnf'
|
alias d='sudo dnf'
|
||||||
alias u='sh ~/bin/update.sh'
|
{{ end -}}
|
||||||
|
alias u='bash ~/bin/update.sh'
|
||||||
alias h='cd ~/git/cacolglazier.com/ && hugo server'
|
alias h='cd ~/git/cacolglazier.com/ && hugo server'
|
||||||
|
|
||||||
# OpenCode
|
# OpenCode
|
||||||
export PATH="$HOME/.opencode/bin:$PATH"
|
path=("$HOME/.opencode/bin" $path)
|
||||||
OPENCODE='opencode'
|
OPENCODE='opencode'
|
||||||
alias o="${OPENCODE}"
|
alias o="${OPENCODE}"
|
||||||
alias oc="${OPENCODE} --agent commit run 'Create a commit.'"
|
alias oc="${OPENCODE} run --agent commit --model '{{ includeTemplate ".chezmoitemplates/models/small-brain" | trim }}' 'Create a commit.'"
|
||||||
alias ocr="${OPENCODE} --agent review --prompt 'Code review staged changes.'"
|
alias ocr="${OPENCODE} --agent review --prompt 'Code review staged changes.'"
|
||||||
alias or="${OPENCODE} --continue"
|
alias or="${OPENCODE} --continue"
|
||||||
|
|
||||||
@@ -76,11 +102,14 @@ export AQUAAI_RICH_FORMAT_MODE=false
|
|||||||
export AQUAAI_KEY
|
export AQUAAI_KEY
|
||||||
|
|
||||||
# Daisy build toolkit
|
# Daisy build toolkit
|
||||||
GCC_PATH=~/dev/gcc-arm-none-eabi-10-2020-q4-major/bin
|
GCC_PATH="$HOME/dev/gcc-arm-none-eabi-10-2020-q4-major/bin"
|
||||||
export PATH=$GCC_PATH:$PATH
|
if [[ -d "$GCC_PATH" ]]; then
|
||||||
|
path=("$GCC_PATH" $path)
|
||||||
|
fi
|
||||||
|
|
||||||
# AM auto complete
|
# AM auto complete
|
||||||
autoload bashcompinit
|
if [[ -f "$HOME/.local/share/bash-completion/completions/am" ]]; then
|
||||||
bashcompinit
|
autoload bashcompinit
|
||||||
source "/home/aqua/.local/share/bash-completion/completions/am"
|
bashcompinit
|
||||||
|
source "$HOME/.local/share/bash-completion/completions/am"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQGMA4qZwZB4gWrxAQv+IYT0PC4dEdl85V1geFnz+xd7nSSpOdyJ1/0QQQ23zOUw
|
||||||
|
c3sqMRNzzMcSQwHbBOk69QPbF2kW/2W3XsU7qCGnbownr/vaBSrnvx1UxDepd8E3
|
||||||
|
j1XO0n0o24xBXGZi3xnQBPIJCtjlgNvtREslFz3fgBT8M69gDGynuytn3ZlAM4ni
|
||||||
|
BmZjnZsz6JKZ76H+mNJ3n6jYZjCbqPVjKyWBiYDRkpVLHntz/OHQCcHfsHpr8CZ2
|
||||||
|
JgRlqMcwTJGtLVxxZx9eQ6KSkizQvPmy1weqC85NkKkuAENBCUCyh+IJSEpifSyF
|
||||||
|
ewvOljGDSZOjDL553x+POjVGbtK/U/n162La0kLBQQVJwDSRIIJyTu5/ZLWde12F
|
||||||
|
mZNObOq4JJzUBbKJtYqRFl51Po3hcWhcXxaDcay7i/MWEesEnsFaKnbCEhJ7FMUa
|
||||||
|
1+VUQySgU5j9ULxfeaqLYZ2LClA7AGatHt0q1J6UhFSHkBFcmZTjFrlQFjkL2XVu
|
||||||
|
qvptke90iaepRuMHqTUR0sBpAQT4/pqbDep1npJf11hOwf5ICOPRkJ2Y/iIjZKc7
|
||||||
|
+d8akX4RlCUfROqsXykZ+W5a+e8gWcsvLGAaeQxUHZ3goNAutrzux2ye9FcQRI3d
|
||||||
|
pTvu9m/PvoRpYRmx0YgB4VkWVX9Qd9ezderBZIfAcdBfWY8Z1BHPLFyOS/kYoqrv
|
||||||
|
U/yVkFsXGgOfxRAc+r8HhcCHfMLWXwCoLDmKCMYBPca4psl/oVec4KTkG3nNbaXf
|
||||||
|
sZ6zxnXv0WuazEIBZSRKSuaN8iQ50LUKh8oxoyzjqg0U/0LshYruanDVk28YXtnx
|
||||||
|
LTh3jlTAAx6s2VN/ZhJSbnyL2faLfnqwo50GeJQsAt1aI1PZmdbXSB5fthU+XTaW
|
||||||
|
RWjjMOZELZxkibUtlMchSnZP1gMYBP+rNuFy
|
||||||
|
=BfV6
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# Host entries are managed in a separately encrypted file.
|
||||||
|
Include ~/.ssh/config.private
|
||||||
Reference in New Issue
Block a user