Compare commits
23 Commits
0fc43e1563
...
main
Author | SHA1 | Date | |
---|---|---|---|
eb3ca0a023 | |||
c8eb8caad0 | |||
f9f9bfd00b | |||
7a34d51e4f | |||
5effd669c5 | |||
70a5e6eeb7 | |||
5996e6116e | |||
669935cb7d | |||
d17a407787 | |||
885897bec5 | |||
d9f261a637 | |||
395c670241 | |||
fe07298506 | |||
67832c2ac9 | |||
c3df9f22af | |||
e593ca2c50 | |||
87673142e3 | |||
1f6bf9e9c8 | |||
836e9ccd56 | |||
3506f405d3 | |||
ed3eeb9459 | |||
384dcae932 | |||
864f0805ba |
207
.config/Brewfile
207
.config/Brewfile
@ -2,154 +2,137 @@
|
|||||||
cask_args appdir: "/Applications"
|
cask_args appdir: "/Applications"
|
||||||
cask_args language: "de,deu,en,eng"
|
cask_args language: "de,deu,en,eng"
|
||||||
|
|
||||||
## Taps
|
# ## Taps
|
||||||
tap "buo/cask-upgrade"
|
# tap "homebrew/bundle"
|
||||||
tap "fabianishere/personal"
|
# tap "homebrew/cask"
|
||||||
tap "homebrew/bundle"
|
# tap "homebrew/cask-drivers"
|
||||||
tap "homebrew/cask"
|
# tap "homebrew/cask-fonts"
|
||||||
tap "homebrew/cask-drivers"
|
# tap "homebrew/cask-versions"
|
||||||
tap "homebrew/cask-fonts"
|
# tap "homebrew/core"
|
||||||
tap "homebrew/cask-versions"
|
# tap "homebrew/services"
|
||||||
tap "homebrew/core"
|
# tap "microsoft/git"
|
||||||
tap "homebrew/services"
|
tap "nikitabobko/tap"
|
||||||
tap "hudochenkov/sshpass"
|
tap "FelixKratz/formulae"
|
||||||
tap "khanhas/tap"
|
|
||||||
tap "koekeishiya/formulae"
|
|
||||||
|
|
||||||
## brew formulae
|
## brew formulae
|
||||||
brew "arping"
|
brew "FelixKratz/formulae/borders"
|
||||||
brew "node"
|
|
||||||
brew "bitwarden-cli"
|
|
||||||
brew "brew-cask-completion"
|
brew "brew-cask-completion"
|
||||||
brew "python@3.9"
|
brew "arping"
|
||||||
brew "checkbashisms"
|
brew "checkbashisms"
|
||||||
brew "convmv"
|
brew "eza"
|
||||||
brew "duti"
|
|
||||||
brew "exiftool"
|
|
||||||
brew "tesseract"
|
|
||||||
brew "ffmpeg", args: ["HEAD"]
|
|
||||||
brew "git"
|
brew "git"
|
||||||
brew "git-secret"
|
brew "git-secret"
|
||||||
brew "go"
|
brew "go"
|
||||||
brew "htop"
|
brew "htop"
|
||||||
brew "hugo"
|
brew "hugo"
|
||||||
brew "ipmitool"
|
brew "iperf"
|
||||||
|
brew "iperf3"
|
||||||
brew "jq"
|
brew "jq"
|
||||||
|
brew "mas"
|
||||||
brew "mosh"
|
brew "mosh"
|
||||||
brew "nmap"
|
brew "nmap"
|
||||||
|
brew "node"
|
||||||
brew "ocrmypdf"
|
brew "ocrmypdf"
|
||||||
brew "pandoc"
|
brew "python3"
|
||||||
brew "reattach-to-user-namespace"
|
|
||||||
brew "rsync"
|
brew "rsync"
|
||||||
|
brew "rclone"
|
||||||
|
brew "restic"
|
||||||
brew "shfmt"
|
brew "shfmt"
|
||||||
brew "subversion"
|
|
||||||
brew "tesseract-lang"
|
brew "tesseract-lang"
|
||||||
brew "tmux"
|
brew "tmux"
|
||||||
brew "topgrade"
|
brew "topgrade"
|
||||||
brew "tree"
|
brew "tree"
|
||||||
brew "vim"
|
brew "vim"
|
||||||
brew "youtube-dl"
|
brew "yt-dlp"
|
||||||
|
#brew "trippy"
|
||||||
brew "zsh"
|
brew "zsh"
|
||||||
brew "zsh-completions"
|
brew "zsh-completions"
|
||||||
brew "fabianishere/personal/pam_reattach"
|
|
||||||
brew "hudochenkov/sshpass/sshpass"
|
|
||||||
brew "koekeishiya/formulae/skhd"
|
|
||||||
brew "koekeishiya/formulae/yabai", args: ["HEAD"]
|
|
||||||
|
|
||||||
## cask formulae
|
# Fonts
|
||||||
cask "airbuddy"
|
cask "font-meslo-lg-nerd-font"
|
||||||
cask "alfred"
|
|
||||||
cask "amethyst"
|
|
||||||
cask "arduino"
|
|
||||||
cask "arq"
|
|
||||||
cask "balenaetcher"
|
|
||||||
cask "bartender"
|
|
||||||
cask "bonjeff"
|
|
||||||
cask "calibre"
|
|
||||||
cask "coconutbattery"
|
|
||||||
cask "coolterm"
|
|
||||||
cask "dbeaver-community"
|
|
||||||
cask "drawio"
|
|
||||||
cask "fantastical"
|
|
||||||
cask "filebot"
|
|
||||||
cask "firefox"
|
|
||||||
cask "font-fira-code"
|
cask "font-fira-code"
|
||||||
cask "font-source-code-pro"
|
cask "font-source-code-pro"
|
||||||
|
|
||||||
|
# Casks
|
||||||
|
cask "adobe-creative-cloud"
|
||||||
|
cask "airbuddy"
|
||||||
|
cask "minecraft"
|
||||||
|
cask "filebot"
|
||||||
|
cask "firefox"
|
||||||
|
cask "ghostty"
|
||||||
|
cask "birdfont"
|
||||||
|
cask "balenaetcher"
|
||||||
|
cask "bettertouchtool"
|
||||||
|
cask "bonjeff"
|
||||||
cask "fork"
|
cask "fork"
|
||||||
|
cask "fujitsu-scansnap-manager"
|
||||||
cask "google-chrome"
|
cask "google-chrome"
|
||||||
|
# cask "hyperkey"
|
||||||
|
cask "raspberry-pi-imager"
|
||||||
|
cask "hammerspoon"
|
||||||
cask "hazel"
|
cask "hazel"
|
||||||
cask "hex-fiend"
|
cask "curseforge"
|
||||||
cask "istat-menus"
|
cask "obs"
|
||||||
cask "iterm2"
|
# cask "hiddenbar"
|
||||||
cask "keyboardcleantool"
|
cask "jordanbaird-ice"
|
||||||
cask "little-snitch"
|
cask "karabiner-elements"
|
||||||
cask "logitech-camera-settings"
|
|
||||||
cask "mactex-no-gui"
|
|
||||||
cask "marked"
|
cask "marked"
|
||||||
|
cask "moneymoney"
|
||||||
|
cask "pdf-expert"
|
||||||
|
# cask "sequel-ace"
|
||||||
|
# cask "thor"
|
||||||
|
cask "transmit"
|
||||||
|
# cask "whichspace"
|
||||||
|
cask "calibre"
|
||||||
|
cask "coconutbattery"
|
||||||
|
cask "vscodium"
|
||||||
|
cask "itsycal"
|
||||||
|
cask "stats"
|
||||||
|
# cask "iterm2"
|
||||||
|
cask "dbeaver-community"
|
||||||
|
cask "discord"
|
||||||
|
cask "inkscape"
|
||||||
|
cask "joplin"
|
||||||
cask "mediathekview"
|
cask "mediathekview"
|
||||||
cask "microsoft-teams"
|
cask "microsoft-teams"
|
||||||
cask "moneymoney"
|
|
||||||
cask "monitorcontrol"
|
cask "monitorcontrol"
|
||||||
cask "nextcloud"
|
cask "nextcloud"
|
||||||
cask "numi"
|
cask "numi"
|
||||||
cask "onyx"
|
cask "raycast"
|
||||||
cask "oracle-jdk"
|
# cask "rectangle"
|
||||||
cask "pdf-expert"
|
|
||||||
cask "plex"
|
|
||||||
cask "pocket-casts"
|
|
||||||
cask "portfolioperformance"
|
|
||||||
cask "qlcommonmark"
|
|
||||||
cask "raspberry-pi-imager"
|
|
||||||
cask "sequel-ace"
|
|
||||||
cask "silicon-info"
|
|
||||||
cask "sonos"
|
|
||||||
cask "spotify"
|
cask "spotify"
|
||||||
cask "transmission"
|
|
||||||
cask "transmit"
|
|
||||||
cask "unclack"
|
|
||||||
cask "vlc"
|
cask "vlc"
|
||||||
cask "vnc-viewer"
|
cask "vnc-viewer"
|
||||||
cask "vscodium"
|
cask "nikitabobko/tap/aerospace"
|
||||||
cask "webex"
|
|
||||||
cask "whichspace"
|
|
||||||
cask "wireshark"
|
|
||||||
|
|
||||||
## Mac AppStore
|
## Mac AppStore
|
||||||
mas "AdGuard for Safari", id: 1440147259
|
mas "AdGuard for Safari", id: 1440147259;
|
||||||
mas "Affinity Designer", id: 824171161
|
mas "Affinity Designer", id: 824171161;
|
||||||
mas "Affinity Photo", id: 824183456
|
mas "Affinity Photo", id: 824183456;
|
||||||
mas "Affinity Publisher", id: 881418622
|
mas "Affinity Publisher", id: 881418622;
|
||||||
mas "Amphetamine", id: 937984704
|
mas "Amphetamine", id: 937984704;
|
||||||
mas "AudioBookBinder", id: 413969927
|
mas "AudioBookBinder", id: 413969927;
|
||||||
mas "Bitwarden", id: 1352778147
|
mas "Bitwarden", id: 1352778147;
|
||||||
mas "Cardhop", id: 1290358394
|
mas "Cardhop", id: 1290358394;
|
||||||
mas "ColorSlurp", id: 1287239339
|
mas "ColorSlurp", id: 1287239339;
|
||||||
mas "Controller", id: 1198176727
|
mas "Create Booklet", id: 943029046;
|
||||||
mas "Create Booklet", id: 943029046
|
mas "DaisyDisk", id: 411643860;
|
||||||
mas "DaisyDisk", id: 411643860
|
mas "Drafts", id: 1435957248;
|
||||||
mas "Drafts", id: 1435957248
|
mas "Draw Things", id: 6444050820;
|
||||||
mas "Final Cut Pro", id: 424389933
|
mas "Final Cut Pro", id: 424389933;
|
||||||
mas "iA Writer", id: 775737590
|
mas "iA Writer", id: 775737590;
|
||||||
mas "Interact Scratchpad", id: 1199660222
|
mas "Ice Cubes", id: 6444915884;
|
||||||
mas "Keynote", id: 409183694
|
mas "Interact Scratchpad", id: 1199660222;
|
||||||
mas "Mactracker", id: 430255202
|
mas "Microsoft Excel", id: 462058435;
|
||||||
mas "Microsoft Excel", id: 462058435
|
mas "Microsoft PowerPoint", id: 462062816;
|
||||||
mas "Microsoft PowerPoint", id: 462062816
|
mas "Microsoft Word", id: 462054704;
|
||||||
mas "Microsoft Word", id: 462054704
|
mas "Mindcad Tiler", id: 432460453;
|
||||||
mas "Mindcad Tiler", id: 432460453
|
mas "Moom Classic", id: 419330170;
|
||||||
mas "MindNode", id: 992076693
|
mas "MQTT Explorer", id: 1455214828;
|
||||||
mas "MQTT Explorer", id: 1455214828
|
mas "Parcel", id: 639968404;
|
||||||
mas "Numbers", id: 409203825
|
mas "Reeder", id: 1529448980;
|
||||||
mas "Pages", id: 409201541
|
mas "RSS Button for Safari", id: 1437501942;
|
||||||
mas "Parcel", id: 639968404
|
mas "The Unarchiver", id: 425424353;
|
||||||
mas "Reeder", id: 1529448980
|
mas "Todoist", id: 585829637;
|
||||||
mas "RSS Button for Safari", id: 1437501942
|
mas "WireGuard", id: 1451685025;
|
||||||
mas "Scenecuts Helper", id: 1540491573
|
mas "WhatsApp", id: 310633997;
|
||||||
mas "SerialTools", id: 611021963
|
|
||||||
mas "The Unarchiver", id: 425424353
|
|
||||||
mas "Todoist", id: 585829637
|
|
||||||
mas "Turn Off the Lights for Safari", id: 1273998507
|
|
||||||
mas "Tweetbot", id: 557168941
|
|
||||||
mas "WhatsApp", id: 1147396723
|
|
||||||
mas "WireGuard", id: 1451685025
|
|
||||||
mas "Xcode", id: 497799835
|
|
||||||
|
292
.config/aerospace/aerospace.toml
Normal file
292
.config/aerospace/aerospace.toml
Normal file
@ -0,0 +1,292 @@
|
|||||||
|
# This needs jankyborders and hyperkey installed.
|
||||||
|
# Hyperkey must configured configured to use caps lock as hyperkey und must not include shift in hyperkey.
|
||||||
|
|
||||||
|
|
||||||
|
# Place a copy of this config to ~/.aerospace.toml
|
||||||
|
# After that, you can edit ~/.aerospace.toml to your liking
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# JankyBorders has a built-in detection of already running process,
|
||||||
|
# so it won't be run twice on AeroSpace restart
|
||||||
|
after-startup-command = [
|
||||||
|
'exec-and-forget borders active_color=0xffeff1f5 inactive_color=0xff8c8fa1 width=10.0'
|
||||||
|
]
|
||||||
|
|
||||||
|
# Start AeroSpace at login
|
||||||
|
start-at-login = true
|
||||||
|
|
||||||
|
# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization
|
||||||
|
enable-normalization-flatten-containers = true
|
||||||
|
enable-normalization-opposite-orientation-for-nested-containers = true
|
||||||
|
|
||||||
|
# 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 = 30
|
||||||
|
|
||||||
|
# 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'
|
||||||
|
|
||||||
|
# Mouse follows focus when focused monitor changes
|
||||||
|
# Drop it from your config, if you don't like this behavior
|
||||||
|
# See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks
|
||||||
|
# See https://nikitabobko.github.io/AeroSpace/commands#move-mouse
|
||||||
|
# Fallback value (if you omit the key): on-focused-monitor-changed = []“¡”¬””
|
||||||
|
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
|
||||||
|
|
||||||
|
# You can effectively turn off macOS "Hide application" (cmd-h) feature by toggling this flag
|
||||||
|
# Useful if you don't use this macOS feature, but accidentally hit cmd-h or cmd-alt-h key
|
||||||
|
# Also see: https://nikitabobko.github.io/AeroSpace/goodies#disable-hide-app
|
||||||
|
automatically-unhide-macos-hidden-apps = true
|
||||||
|
|
||||||
|
# Possible values: (qwerty|dvorak)
|
||||||
|
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
|
||||||
|
[key-mapping]
|
||||||
|
preset = 'qwerty'
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
[gaps]
|
||||||
|
inner.horizontal = 16
|
||||||
|
inner.vertical = 16
|
||||||
|
outer.left = 16
|
||||||
|
outer.bottom = 16
|
||||||
|
outer.top = 16
|
||||||
|
outer.right = 16
|
||||||
|
|
||||||
|
# 'main' binding mode declaration
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
|
||||||
|
# 'main' binding mode must be always presented
|
||||||
|
# Fallback value (if you omit the key): mode.main.binding = {}
|
||||||
|
[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
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget
|
||||||
|
# You can uncomment the following lines to open up terminal with alt + enter shortcut (like in i3)
|
||||||
|
# alt-enter = '''exec-and-forget osascript -e '
|
||||||
|
# tell application "Terminal"
|
||||||
|
# do script
|
||||||
|
# activate
|
||||||
|
# end tell'
|
||||||
|
# '''
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#layout
|
||||||
|
cmd-ctrl-alt-period = 'layout tiles horizontal vertical'
|
||||||
|
cmd-ctrl-alt-comma = 'layout accordion horizontal vertical'
|
||||||
|
cmd-ctrl-alt-f = 'fullscreen'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#focus
|
||||||
|
cmd-ctrl-alt-left = 'focus left'
|
||||||
|
cmd-ctrl-alt-down = 'focus down'
|
||||||
|
cmd-ctrl-alt-up = 'focus up'
|
||||||
|
cmd-ctrl-alt-right = 'focus right'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#move
|
||||||
|
cmd-ctrl-alt-shift-h = 'move left'
|
||||||
|
cmd-ctrl-alt-shift-j = 'move down'
|
||||||
|
cmd-ctrl-alt-shift-k = 'move up'
|
||||||
|
cmd-ctrl-alt-shift-l = 'move right'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#resize
|
||||||
|
cmd-ctrl-alt-shift-down = 'resize smart -50'
|
||||||
|
cmd-ctrl-alt-shift-up = 'resize smart +50'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace
|
||||||
|
cmd-ctrl-alt-1 = 'workspace 1'
|
||||||
|
cmd-ctrl-alt-2 = 'workspace 2'
|
||||||
|
cmd-ctrl-alt-3 = 'workspace 3'
|
||||||
|
cmd-ctrl-alt-4 = 'workspace 4'
|
||||||
|
cmd-ctrl-alt-5 = 'workspace 5'
|
||||||
|
cmd-ctrl-alt-6 = 'workspace 6'
|
||||||
|
cmd-ctrl-alt-7 = 'workspace 7'
|
||||||
|
# cmd-ctrl-alt-8 = 'workspace 8'
|
||||||
|
# cmd-ctrl-alt-9 = 'workspace 9'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace
|
||||||
|
cmd-ctrl-alt-shift-1 = 'move-node-to-workspace 1'
|
||||||
|
cmd-ctrl-alt-shift-2 = 'move-node-to-workspace 2'
|
||||||
|
cmd-ctrl-alt-shift-3 = 'move-node-to-workspace 3'
|
||||||
|
cmd-ctrl-alt-shift-4 = 'move-node-to-workspace 4'
|
||||||
|
cmd-ctrl-alt-shift-5 = 'move-node-to-workspace 5'
|
||||||
|
cmd-ctrl-alt-shift-6 = 'move-node-to-workspace 6'
|
||||||
|
cmd-ctrl-alt-shift-7 = 'move-node-to-workspace 7'
|
||||||
|
# cmd-ctrl-alt-shift-8 = 'move-node-to-workspace 8'
|
||||||
|
# cmd-ctrl-alt-shift-9 = 'move-node-to-workspace 9'
|
||||||
|
# alt-shift-a = 'move-node-to-workspace A'
|
||||||
|
# alt-shift-b = 'move-node-to-workspace B'
|
||||||
|
# alt-shift-c = 'move-node-to-workspace C'
|
||||||
|
# alt-shift-d = 'move-node-to-workspace D'
|
||||||
|
# alt-shift-e = 'move-node-to-workspace E'
|
||||||
|
# alt-shift-f = 'move-node-to-workspace F'
|
||||||
|
# alt-shift-g = 'move-node-to-workspace G'
|
||||||
|
# alt-shift-i = 'move-node-to-workspace I'
|
||||||
|
# alt-shift-m = 'move-node-to-workspace M'
|
||||||
|
# alt-shift-n = 'move-node-to-workspace N'
|
||||||
|
# alt-shift-o = 'move-node-to-workspace O'
|
||||||
|
# alt-shift-p = 'move-node-to-workspace P'
|
||||||
|
# alt-shift-q = 'move-node-to-workspace Q'
|
||||||
|
# alt-shift-r = 'move-node-to-workspace R'
|
||||||
|
# alt-shift-s = 'move-node-to-workspace S'
|
||||||
|
# alt-shift-t = 'move-node-to-workspace T'
|
||||||
|
# alt-shift-u = 'move-node-to-workspace U'
|
||||||
|
# alt-shift-v = 'move-node-to-workspace V'
|
||||||
|
# alt-shift-w = 'move-node-to-workspace W'
|
||||||
|
# alt-shift-x = 'move-node-to-workspace X'
|
||||||
|
# alt-shift-y = 'move-node-to-workspace Y'
|
||||||
|
# alt-shift-z = 'move-node-to-workspace Z'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth
|
||||||
|
cmd-ctrl-alt-tab = 'workspace-back-and-forth'
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor
|
||||||
|
cmd-ctrl-alt-shift-tab = 'move-workspace-to-monitor --wrap-around next'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#mode
|
||||||
|
# alt-shift-sfemicolon = 'mode service'
|
||||||
|
cmd-ctrl-alt-s = 'mode service'
|
||||||
|
|
||||||
|
# 'service' binding mode declaration.
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
|
||||||
|
[mode.service.binding]
|
||||||
|
esc = ['reload-config', 'mode main']
|
||||||
|
r = ['flatten-workspace-tree', 'mode main'] # reset layout
|
||||||
|
f = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout
|
||||||
|
backspace = ['close-all-windows-but-current', 'mode main']
|
||||||
|
|
||||||
|
# sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2
|
||||||
|
#s = ['layout sticky tiling', 'mode main']
|
||||||
|
|
||||||
|
cmd-ctrl-alt-shift-h = ['join-with left', 'mode main']
|
||||||
|
cmd-ctrl-alt-shift-j = ['join-with down', 'mode main']
|
||||||
|
cmd-ctrl-alt-shift-k = ['join-with up', 'mode main']
|
||||||
|
cmd-ctrl-alt-shift-l = ['join-with right', 'mode main']
|
||||||
|
|
||||||
|
## Workspace 1: Main
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'org.mozilla.firefox'
|
||||||
|
run = 'move-node-to-workspace 1'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.reederapp.5.macOS'
|
||||||
|
run = 'move-node-to-workspace 1'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.apple.Safari'
|
||||||
|
run = 'move-node-to-workspace 1'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.google.Chrome'
|
||||||
|
run = 'move-node-to-workspace 1'
|
||||||
|
|
||||||
|
## Workspace 2: Mail
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.apple.mail'
|
||||||
|
run = 'move-node-to-workspace 2'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'org.mozilla.thunderbird'
|
||||||
|
run = 'move-node-to-workspace 2'
|
||||||
|
|
||||||
|
## Workspace 3: Messaging
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.apple.MobileSMS'
|
||||||
|
run = 'move-node-to-workspace 3'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'net.whatsapp.WhatsApp'
|
||||||
|
run = 'move-node-to-workspace 3'
|
||||||
|
|
||||||
|
## Workspace 4: PIM
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.apple.iCal'
|
||||||
|
run = 'move-node-to-workspace 4'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.apple.AddressBook'
|
||||||
|
run = 'move-node-to-workspace 4'
|
||||||
|
|
||||||
|
## Workspace 5: Shell
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.googlecode.iterm2'
|
||||||
|
run = 'move-node-to-workspace 5'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.mitchellh.ghostty'
|
||||||
|
run = 'move-node-to-workspace 5'
|
||||||
|
|
||||||
|
## Workspace 6: Code
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.vscodium'
|
||||||
|
run = 'move-node-to-workspace 6'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.DanPristupov.Fork'
|
||||||
|
run = 'move-node-to-workspace 6'
|
||||||
|
|
||||||
|
## Workspace 7: Misc
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.hnc.Discord'
|
||||||
|
run = 'move-node-to-workspace 7'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.mojang.minecraftlauncher'
|
||||||
|
run = 'move-node-to-workspace 7'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.moneymoney-app.retail'
|
||||||
|
run = 'move-node-to-workspace 7'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-name-regex-substring = 'Actual Budget'
|
||||||
|
run = 'move-node-to-workspace 7'
|
||||||
|
|
||||||
|
## Floating apps
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.jordanbaird.Ice'
|
||||||
|
run = 'layout floating'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-name-regex-substring = 'ntfy.sh'
|
||||||
|
run = 'layout floating'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-name-regex-substring = 'Home Assistant'
|
||||||
|
run = 'layout floating'
|
||||||
|
|
||||||
|
[exec]
|
||||||
|
inherit-env-vars = true
|
||||||
|
|
||||||
|
## Add homebrew prefix to path
|
||||||
|
[exec.env-vars]
|
||||||
|
PATH = '$(brew --prefix)/bin:/$(brew --prefix)/sbin:${PATH}'
|
14
.config/ghostty/config
Normal file
14
.config/ghostty/config
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
font-family = MesloLGM Nerd Font Mono
|
||||||
|
font-thicken = true
|
||||||
|
font-size = 15
|
||||||
|
theme = catppuccin-mocha
|
||||||
|
|
||||||
|
cursor-opacity = 0.5
|
||||||
|
cursor-style-blink = true
|
||||||
|
|
||||||
|
background-opacity = 0.9
|
||||||
|
background-blur-radius = 20
|
||||||
|
|
||||||
|
initial-command = /opt/homebrew/bin/tmux a -d
|
||||||
|
quit-after-last-window-closed = true
|
||||||
|
|
7
.config/git/config
Normal file
7
.config/git/config
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
[user]
|
||||||
|
name = Christian Baer
|
||||||
|
email = chris@debilux.org
|
||||||
|
[core]
|
||||||
|
editor = vim
|
80
.config/karabiner/karabiner.json
Normal file
80
.config/karabiner/karabiner.json
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"complex_modifications": {
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"description": "Hyperkey",
|
||||||
|
"manipulators": [
|
||||||
|
{
|
||||||
|
"from": {
|
||||||
|
"key_code": "caps_lock",
|
||||||
|
"modifiers": {
|
||||||
|
"mandatory": ["shift"],
|
||||||
|
"optional": ["caps_lock"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"to": [
|
||||||
|
{
|
||||||
|
"key_code": "left_shift",
|
||||||
|
"modifiers": ["left_command", "left_control", "left_option"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "basic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": {
|
||||||
|
"key_code": "caps_lock",
|
||||||
|
"modifiers": { "optional": ["any"] }
|
||||||
|
},
|
||||||
|
"to": [
|
||||||
|
{
|
||||||
|
"key_code": "left_command",
|
||||||
|
"modifiers": ["left_control", "left_option"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "basic"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Play/Pause controls spotify only when it's running",
|
||||||
|
"manipulators": [
|
||||||
|
{
|
||||||
|
"from": { "key_code": "f8" },
|
||||||
|
"to": [
|
||||||
|
{
|
||||||
|
"halt": true,
|
||||||
|
"repeat": false,
|
||||||
|
"shell_command": "osascript ~/.config/karabiner/scripts/spotify_playpause.scpt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "basic"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"devices": [
|
||||||
|
{
|
||||||
|
"identifiers": {
|
||||||
|
"is_keyboard": true,
|
||||||
|
"is_pointing_device": true,
|
||||||
|
"product_id": 45091,
|
||||||
|
"vendor_id": 1133
|
||||||
|
},
|
||||||
|
"ignore": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "Default profile",
|
||||||
|
"selected": true,
|
||||||
|
"simple_modifications": [
|
||||||
|
{
|
||||||
|
"from": { "consumer_key_code": "play_or_pause" },
|
||||||
|
"to": [{ "key_code": "vk_none" }]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
6
.config/karabiner/scripts/spotify_playpause.scpt
Normal file
6
.config/karabiner/scripts/spotify_playpause.scpt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
-- If Spotify is running, toggle play/pause. Otherwise do nothing
|
||||||
|
if application "Spotify" is running then
|
||||||
|
using terms from application "Spotify"
|
||||||
|
tell application "Spotify" to playpause
|
||||||
|
end using terms from
|
||||||
|
end if
|
@ -1,99 +1,95 @@
|
|||||||
# Start a session if none exists
|
### General Settings
|
||||||
|
# Enable mouse support in tmux
|
||||||
|
set -g mouse on
|
||||||
|
|
||||||
|
# Set the default terminal type to "tmux-256color" for better color support
|
||||||
|
set -g default-terminal "tmux-256color"
|
||||||
|
|
||||||
|
# Set the base index for windows to 1 (instead of the default 0)
|
||||||
|
set -g base-index 1
|
||||||
|
|
||||||
|
# Set the base index for panes to 1 (instead of the default 0)
|
||||||
|
setw -g pane-base-index 1
|
||||||
|
|
||||||
|
# Increase the history limit (useful for longer command histories)
|
||||||
|
set-option -g history-limit 10000
|
||||||
|
|
||||||
|
### Startup Configuration
|
||||||
|
# Start a new session named "main" if none exists
|
||||||
new-session -s main
|
new-session -s main
|
||||||
# Start htop and split window
|
|
||||||
set-hook -t main session-created 'send-keys -t main:0 "sudo htop" C-m; split-window'
|
# Start htop and split the window when the session "main" is created
|
||||||
# remap prefix from 'C-b' to 'C-a'
|
set-hook -t main session-created 'send-keys -t main:1 "sudo htop" C-m; split-window'
|
||||||
|
|
||||||
|
### Key Bindings
|
||||||
|
# Remap the prefix key from 'C-b' (Ctrl-b) to 'C-a' (Ctrl-a)
|
||||||
unbind C-b
|
unbind C-b
|
||||||
set-option -g prefix C-a
|
set-option -g prefix C-a
|
||||||
bind-key C-a send-prefix
|
bind-key C-a send-prefix
|
||||||
|
|
||||||
# Use C-b to send prefix twice so it acts on nested session
|
# Split panes using 'h' for horizontal and 'v' for vertical splits
|
||||||
bind-key -n C-b send-prefix
|
bind "h" split-window -h
|
||||||
|
bind "v" split-window -v
|
||||||
# split panes using # and -
|
|
||||||
bind "#" split-window -h
|
|
||||||
bind "-" split-window -v
|
|
||||||
unbind '"'
|
unbind '"'
|
||||||
unbind %
|
unbind %
|
||||||
|
|
||||||
# reload config file
|
# Reload the tmux configuration file with 'r'
|
||||||
bind r source-file $XDG_CONFIG_HOME/tmux/tmux.conf
|
bind r source-file $XDG_CONFIG_HOME/tmux/tmux.conf
|
||||||
|
|
||||||
# switch panes using Alt-arrow without prefix
|
### Status and Window Configuration
|
||||||
bind -n M-Left select-pane -L
|
# Set the status bar update interval to 1 second
|
||||||
bind -n M-Right select-pane -R
|
|
||||||
bind -n M-Up select-pane -U
|
|
||||||
bind -n M-Down select-pane -D
|
|
||||||
|
|
||||||
# start windows and panes at 1, not 0,
|
|
||||||
set -g base-index 1
|
|
||||||
set -g pane-base-index 1
|
|
||||||
|
|
||||||
# Enable mouse mode
|
|
||||||
set -g mouse on
|
|
||||||
|
|
||||||
#+---------+
|
|
||||||
#+ Options +
|
|
||||||
#+---------+
|
|
||||||
set -g status-interval 1
|
|
||||||
set -g status on
|
|
||||||
set -g aggressive-resize on
|
|
||||||
|
|
||||||
#+--------+
|
|
||||||
#+ Status +
|
|
||||||
#+--------+
|
|
||||||
#+--- Layout ---+
|
|
||||||
set -g status-justify left
|
|
||||||
|
|
||||||
#+--- Colors ---+
|
|
||||||
set -g status-bg black
|
|
||||||
set -g status-fg white
|
|
||||||
|
|
||||||
#+-------+
|
|
||||||
#+ Panes +
|
|
||||||
#+-------+
|
|
||||||
set -g pane-border-style bg=black,fg=brightblack
|
|
||||||
set -g pane-active-border-style bg=black,fg=magenta
|
|
||||||
set -g display-panes-colour black
|
|
||||||
set -g display-panes-active-colour brightblack
|
|
||||||
|
|
||||||
#+------------+
|
|
||||||
#+ Clock Mode +
|
|
||||||
#+------------+
|
|
||||||
setw -g clock-mode-colour cyan
|
|
||||||
|
|
||||||
#+----------+
|
|
||||||
#+ Messages +
|
|
||||||
#+---------+
|
|
||||||
set -g message-style fg=cyan,bg=brightblack
|
|
||||||
set -g message-command-style fg=cyan,bg=brightblack
|
|
||||||
|
|
||||||
######################
|
|
||||||
### DESIGN CHANGES ###
|
|
||||||
######################
|
|
||||||
|
|
||||||
## Status bar design
|
|
||||||
# status line
|
|
||||||
set -g status-justify left
|
|
||||||
set -g status-interval 1
|
set -g status-interval 1
|
||||||
|
|
||||||
set -g default-terminal "screen-256color"
|
# Enable automatic renaming of windows
|
||||||
|
set-option -g automatic-rename on
|
||||||
|
|
||||||
#+--- Bars ---+
|
# Set window title to the current directory if the process is zsh, otherwise show the process name with arguments
|
||||||
|
set-option -g automatic-rename-format '#{?#{==:#{pane_current_command},zsh},#(echo #{pane_current_path} | sed "s|^$HOME|~|"),#{pane_current_command}}'
|
||||||
|
|
||||||
set -g status-left ''
|
# Set the color of the clock mode
|
||||||
## Indicate if prefix has been pressed
|
set -g clock-mode-colour "#8bd5ca"
|
||||||
set -ga status-left '#[bg=#white]#[fg=#brightblack]#{?client_prefix,#[fg=red] ◯ , ◯ }'
|
|
||||||
## Session name
|
|
||||||
set -ga status-left "#S"
|
|
||||||
|
|
||||||
set -g status-right ''
|
# Set the style for copy mode (foreground black, background a specific color, bold text)
|
||||||
# Date and time
|
set -g mode-style 'fg=black bg=#ed8796 bold'
|
||||||
set -ga status-right "#[fg=white,bg=brightblack] %Y-%m-%d |#[fg=white,bg=brightblack] %H:%M"
|
|
||||||
# Hostname
|
|
||||||
set -ga status-right "#[fg=cyan,bg=brightblack,nobold,noitalics,nounderscore] #[fg=black,bg=blue,bold] #h "
|
|
||||||
|
|
||||||
#+--- Windows ---+
|
# Set the style for pane borders
|
||||||
set -g window-status-format " #[fg=white,bg=brightblack] #I #[fg=white,bg=brightblack]#W #F "
|
set -g pane-border-style 'fg=white'
|
||||||
set -g window-status-current-format " #[fg=black,bg=cyan] #I #[fg=black,bg=cyan]#W #F "
|
set -g pane-active-border-style 'fg=#8bd5ca'
|
||||||
set -g window-status-separator ""
|
|
||||||
|
### Status Bar Configuration
|
||||||
|
# Position the status bar at the bottom
|
||||||
|
set -g status-position bottom
|
||||||
|
|
||||||
|
# Align status bar items to the left
|
||||||
|
set -g status-justify left
|
||||||
|
|
||||||
|
# Set the style for the status bar
|
||||||
|
set -g status-style 'fg=white,bg=#262626'
|
||||||
|
|
||||||
|
# Clear the default left status
|
||||||
|
set -g status-left ''
|
||||||
|
|
||||||
|
# Set the maximum length for the left status
|
||||||
|
set -g status-left-length 30
|
||||||
|
|
||||||
|
## Session name in the status bar
|
||||||
|
set -ga status-left "#[bg=#444444,fg=white] #S "
|
||||||
|
|
||||||
|
# Display different colors for the session name based on whether the prefix is active
|
||||||
|
set -ga status-left '#[fg=black]#{?client_prefix,#[bg=#ed8796] S ,#[bg=#a6da95] S }'
|
||||||
|
set -ga status-left '#[bg=#262626] '
|
||||||
|
|
||||||
|
# Set window status format to include the current directory or command
|
||||||
|
setw -g window-status-format '#[bg=#8787AF,fg=black] #I #[bg=#585B70,fg=white] #W #F '
|
||||||
|
|
||||||
|
# Set the current window status format to include the current directory or command
|
||||||
|
setw -g window-status-current-format '#[bg=#c6a0f6,fg=black] #I #[bg=#585B70,fg=white] #W #F '
|
||||||
|
|
||||||
|
# Set the separator between window statuses
|
||||||
|
set -g window-status-separator " "
|
||||||
|
|
||||||
|
# Status bar right settings (display host information)
|
||||||
|
set -g status-right "#[fg=black,bg=#7dc4e4] H #[fg=white,bg=brightblack] #H "
|
||||||
|
|
||||||
|
# Set the maximum length for the right status
|
||||||
|
set -g status-right-length 40
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
-o "%(title)s [%(id)s].%(ext)s"
|
|
||||||
-f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best"
|
|
||||||
--add-metadata
|
|
||||||
--geo-bypass
|
|
||||||
--continue
|
|
@ -1,14 +1,21 @@
|
|||||||
# Search for docker-compose files in the current and all sub direcotries and run docker compose with provided arguments
|
# Search for docker-compose files in the current and all sub direcotries and run docker compose with provided arguments
|
||||||
|
|
||||||
function dc() {
|
function dc() {
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
# display usage if no parameters given
|
||||||
|
echo "Search for docker-compose files in the current and all sub direcotries and run docker compose with provided arguments"
|
||||||
|
echo "Usage: dc <docker compose commands>"
|
||||||
|
return 1
|
||||||
|
else
|
||||||
# Save current working directory
|
# Save current working directory
|
||||||
CURRENT_DIR="${PWD}"
|
CURRENT_DIR="${PWD}"
|
||||||
|
|
||||||
for file in $(find ${PWD} -maxdepth 2 -type f -regextype posix-extended -regex '.*(docker-compose|compose)\.ya?ml' | sort); do
|
for file in $(find ${PWD} -maxdepth 2 -type f -regextype posix-extended -regex '.*(docker-compose|compose)\.ya?ml' | sort); do
|
||||||
cd $(dirname "$file")
|
cd $(dirname "$file")
|
||||||
docker compose $@
|
docker compose $@
|
||||||
done
|
done
|
||||||
|
|
||||||
# Change back to saved working directory
|
# Change back to saved working directory
|
||||||
cd ${CURRENT_DIR}
|
cd ${CURRENT_DIR}
|
||||||
}
|
fi
|
||||||
|
}
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
## Automatically compile all compilable files to zwc
|
## Automatically compile all compilable files to zwc
|
||||||
|
|
||||||
function zwcautocompile () {
|
function zwcautocompile() {
|
||||||
autoload -Uz zrecompile
|
autoload -Uz zrecompile
|
||||||
|
|
||||||
for zsh_file in $(find ${ZDOTDIR} -maxdepth 3 -type f \( -name "*.zsh" -o -name ".zlogin" -o -name ".zshrc" \) ! -name "*.zwc" ! -name "*.zwc.old"); do
|
for f in $(find ${ZDOTDIR} -maxdepth 3 -type f \( -name "*.zsh" -o -name ".zlogin" -o -name ".zshrc" \) ! -name "*.zwc" ! -name "*.zwc.old"); do
|
||||||
zrecompile -pq $zsh_file && rm -f $zsh_file.zwc.old
|
zrecompile -pq ${f} && rm -f ${f}.zwc.old
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ -d ${ZAUTOLOADDIR} ]]; then
|
if [[ -d ${ZAUTOLOADDIR} ]]; then
|
||||||
for f in ${ZAUTOLOADDIR}/*; do
|
for f in ${ZAUTOLOADDIR}/*; do
|
||||||
zrecompile -pq $f && rm -f $f.zwc.old
|
zrecompile -pq ${f} && rm -f ${f}.zwc.old
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d ${ZLIBDIR} ]]; then
|
if [[ -d ${ZLIBDIR} ]]; then
|
||||||
for f in ${ZLIBDIR}/*; do
|
for f in ${ZLIBDIR}/*; do
|
||||||
zrecompile -pq $f && rm -f $f.zwc.old
|
zrecompile -pq ${f} && rm -f ${f}.zwc.old
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
## Purge all compiled zwc files
|
## Purge all compiled zwc files
|
||||||
|
|
||||||
function zwcpurge () {
|
function zwcpurge() {
|
||||||
autoload -Uz zrecompile
|
autoload -Uz zrecompile
|
||||||
for zsh_file in $(find ${ZDOTDIR} -maxdepth 3 -type f \( -name "*.zwc" -o -name "*.zwc.old" \)); do
|
for zsh_file in $(find ${ZDOTDIR} -maxdepth 3 -type f \( -name "*.zwc" -o -name "*.zwc.old" \)); do
|
||||||
rm -f ${zsh_file}
|
rm -f ${zsh_file}
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
if [[ -d "${ZAUTOLOADDIR}" ]]; then
|
if [[ -d "${ZAUTOLOADDIR}" ]]; then
|
||||||
|
|
||||||
fpath=($fpath ${ZAUTOLOADDIR})
|
fpath=($fpath ${ZAUTOLOADDIR})
|
||||||
|
|
||||||
# Load functions
|
# Load functions
|
||||||
for func in ${ZAUTOLOADDIR}/*; do
|
for func in ${ZAUTOLOADDIR}/*; do
|
||||||
autoload -Uz ${func:t}
|
autoload -Uz ${func:t}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -21,6 +21,5 @@ export PYTHONUSERBASE=${HOME}/.local
|
|||||||
export INPUTRC="${XDG_CONFIG_HOME}/readline/inputrc"
|
export INPUTRC="${XDG_CONFIG_HOME}/readline/inputrc"
|
||||||
export MANPATH="${MANPATH-$(manpath)}:${HOME}/.local/share/man"
|
export MANPATH="${MANPATH-$(manpath)}:${HOME}/.local/share/man"
|
||||||
|
|
||||||
|
|
||||||
# EZA
|
# EZA
|
||||||
EZA_CONFIG_DIR=${XDG_CONFIG_HOME}/eza
|
EZA_CONFIG_DIR=${XDG_CONFIG_HOME}/eza
|
1
.config/zsh/conf.d/30-plugin-autosuggestions.zsh
Normal file
1
.config/zsh/conf.d/30-plugin-autosuggestions.zsh
Normal file
@ -0,0 +1 @@
|
|||||||
|
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
|
@ -1,4 +1,5 @@
|
|||||||
# zsh-history-substring-search configuration
|
# Keybindings
|
||||||
bindkey '^[[A' history-substring-search-up # or '\eOA'
|
bindkey '^[[A' history-substring-search-up # or '\eOA'
|
||||||
bindkey '^[[B' history-substring-search-down # or '\eOB'
|
bindkey '^[[B' history-substring-search-down # or '\eOB'
|
||||||
|
|
||||||
HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1
|
HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1
|
@ -21,7 +21,9 @@ plugin_repos=(
|
|||||||
|
|
||||||
zsh-users/zsh-autosuggestions
|
zsh-users/zsh-autosuggestions
|
||||||
zsh-users/zsh-syntax-highlighting
|
zsh-users/zsh-syntax-highlighting
|
||||||
|
kulynyak/zsh.prepend-sudo
|
||||||
zsh-users/zsh-history-substring-search
|
zsh-users/zsh-history-substring-search
|
||||||
|
amyreese/zsh-titles
|
||||||
)
|
)
|
||||||
|
|
||||||
# load plugins
|
# load plugins
|
||||||
|
Reference in New Issue
Block a user