Compare commits

...

40 Commits

Author SHA1 Message Date
eb3ca0a023 aerospace: Updated config 2025-01-23 23:05:02 +01:00
c8eb8caad0 Ghostty: Updated config 2025-01-23 23:04:40 +01:00
f9f9bfd00b Brew: Updated Brewfile 2024-12-28 22:17:31 +01:00
7a34d51e4f karabiner: Updated config 2024-12-28 22:16:27 +01:00
5effd669c5 Ghostty: Add config 2024-12-28 22:15:46 +01:00
70a5e6eeb7 brew: Remove Hyperkey and added Karabiner Elements 2024-12-05 09:21:30 +01:00
5996e6116e Karabiner: Added config 2024-12-05 09:19:58 +01:00
669935cb7d brew: Updated Brewfile 2024-12-04 23:37:44 +01:00
d17a407787 aerospace: Updated config 2024-12-04 23:37:05 +01:00
885897bec5 aerospace: Updated config 2024-12-02 09:40:43 +01:00
d9f261a637 aerospace: Added config 2024-12-01 09:30:44 +01:00
395c670241 git: Added config 2024-11-28 22:52:12 +01:00
fe07298506 tmux: Replace $HOME with ~in pane titles 2024-11-08 23:50:04 +01:00
67832c2ac9 ZSH: Add plugin for renaming tmux panes by path or command 2024-11-08 23:49:36 +01:00
c3df9f22af tmux: Fixed window index for startup command 2024-11-05 21:41:55 +01:00
e593ca2c50 tmux: Fixed wrong color for status indicator and window title 2024-11-05 21:31:22 +01:00
87673142e3 tmux: Redid config again without external dependencies 2024-11-05 20:53:10 +01:00
1f6bf9e9c8 tmux: Changed loading of plugins 2024-11-05 01:02:29 +01:00
836e9ccd56 tmux: Updated config to use tpm and catppucin theme 2024-11-05 00:54:53 +01:00
3506f405d3 ZSH: Add config for autosuggestions 2024-11-03 18:18:57 +01:00
ed3eeb9459 Removed youtube-dl config 2024-10-29 14:00:02 +01:00
384dcae932 ZSH: Linted files 2024-10-29 13:59:15 +01:00
864f0805ba ZSH: Added prepend-sudo plugin 2024-10-29 13:58:26 +01:00
0fc43e1563 ZSH: Changed loading order of plugins 2024-10-28 22:29:28 +01:00
7014435399 ZSH: Restructured path settings 2024-10-28 22:28:56 +01:00
360e82abe9 ZSH: Restructured history settings 2024-10-28 22:28:10 +01:00
a768bf308f ZSH: Sort results by path in dc function 2024-10-28 22:27:06 +01:00
5310a56996 Makefile: Fixed SSH deployment 2024-10-28 18:48:35 +01:00
5014d03d55 Removed duti config, added eza 2024-10-28 18:47:34 +01:00
66693e6aee ZSH: Added ENV for eza 2024-10-28 18:34:34 +01:00
b8109bc096 ZSH: Update config for ez-compinit 2024-10-28 18:33:42 +01:00
4448cf6596 ZSH: Added config for ez-compinit 2024-10-28 18:32:28 +01:00
6b61b3efc4 ZSH: Moved settings for history-substring-search to it's own config file. 2024-10-28 18:31:52 +01:00
275793ea16 ZSH: Updated aliases 2024-10-28 18:30:37 +01:00
b40d4c840c htop: Updated config again 2024-10-28 17:23:26 +01:00
b8ca504419 htop: Updated config 2024-10-28 16:54:19 +01:00
b0ea8cfff7 ZSH: Add config for z plugin 2024-10-28 16:40:32 +01:00
32bbe1a983 Fix Makefile 2024-10-28 15:07:01 +01:00
74b725ff89 ZSH: Fix dc function 2024-10-28 15:03:39 +01:00
f7baa29734 ZSH: Fix zwcautocompile function 2024-10-28 15:02:52 +01:00
36 changed files with 811 additions and 481 deletions

View File

@ -2,154 +2,137 @@
cask_args appdir: "/Applications"
cask_args language: "de,deu,en,eng"
## Taps
tap "buo/cask-upgrade"
tap "fabianishere/personal"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-drivers"
tap "homebrew/cask-fonts"
tap "homebrew/cask-versions"
tap "homebrew/core"
tap "homebrew/services"
tap "hudochenkov/sshpass"
tap "khanhas/tap"
tap "koekeishiya/formulae"
# ## Taps
# tap "homebrew/bundle"
# tap "homebrew/cask"
# tap "homebrew/cask-drivers"
# tap "homebrew/cask-fonts"
# tap "homebrew/cask-versions"
# tap "homebrew/core"
# tap "homebrew/services"
# tap "microsoft/git"
tap "nikitabobko/tap"
tap "FelixKratz/formulae"
## brew formulae
brew "arping"
brew "node"
brew "bitwarden-cli"
brew "FelixKratz/formulae/borders"
brew "brew-cask-completion"
brew "python@3.9"
brew "arping"
brew "checkbashisms"
brew "convmv"
brew "duti"
brew "exiftool"
brew "tesseract"
brew "ffmpeg", args: ["HEAD"]
brew "eza"
brew "git"
brew "git-secret"
brew "go"
brew "htop"
brew "hugo"
brew "ipmitool"
brew "iperf"
brew "iperf3"
brew "jq"
brew "mas"
brew "mosh"
brew "nmap"
brew "node"
brew "ocrmypdf"
brew "pandoc"
brew "reattach-to-user-namespace"
brew "python3"
brew "rsync"
brew "rclone"
brew "restic"
brew "shfmt"
brew "subversion"
brew "tesseract-lang"
brew "tmux"
brew "topgrade"
brew "tree"
brew "vim"
brew "youtube-dl"
brew "yt-dlp"
#brew "trippy"
brew "zsh"
brew "zsh-completions"
brew "fabianishere/personal/pam_reattach"
brew "hudochenkov/sshpass/sshpass"
brew "koekeishiya/formulae/skhd"
brew "koekeishiya/formulae/yabai", args: ["HEAD"]
## cask formulae
cask "airbuddy"
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"
# Fonts
cask "font-meslo-lg-nerd-font"
cask "font-fira-code"
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 "fujitsu-scansnap-manager"
cask "google-chrome"
# cask "hyperkey"
cask "raspberry-pi-imager"
cask "hammerspoon"
cask "hazel"
cask "hex-fiend"
cask "istat-menus"
cask "iterm2"
cask "keyboardcleantool"
cask "little-snitch"
cask "logitech-camera-settings"
cask "mactex-no-gui"
cask "curseforge"
cask "obs"
# cask "hiddenbar"
cask "jordanbaird-ice"
cask "karabiner-elements"
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 "microsoft-teams"
cask "moneymoney"
cask "monitorcontrol"
cask "nextcloud"
cask "numi"
cask "onyx"
cask "oracle-jdk"
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 "raycast"
# cask "rectangle"
cask "spotify"
cask "transmission"
cask "transmit"
cask "unclack"
cask "vlc"
cask "vnc-viewer"
cask "vscodium"
cask "webex"
cask "whichspace"
cask "wireshark"
cask "nikitabobko/tap/aerospace"
## Mac AppStore
mas "AdGuard for Safari", id: 1440147259
mas "Affinity Designer", id: 824171161
mas "Affinity Photo", id: 824183456
mas "Affinity Publisher", id: 881418622
mas "Amphetamine", id: 937984704
mas "AudioBookBinder", id: 413969927
mas "Bitwarden", id: 1352778147
mas "Cardhop", id: 1290358394
mas "ColorSlurp", id: 1287239339
mas "Controller", id: 1198176727
mas "Create Booklet", id: 943029046
mas "DaisyDisk", id: 411643860
mas "Drafts", id: 1435957248
mas "Final Cut Pro", id: 424389933
mas "iA Writer", id: 775737590
mas "Interact Scratchpad", id: 1199660222
mas "Keynote", id: 409183694
mas "Mactracker", id: 430255202
mas "Microsoft Excel", id: 462058435
mas "Microsoft PowerPoint", id: 462062816
mas "Microsoft Word", id: 462054704
mas "Mindcad Tiler", id: 432460453
mas "MindNode", id: 992076693
mas "MQTT Explorer", id: 1455214828
mas "Numbers", id: 409203825
mas "Pages", id: 409201541
mas "Parcel", id: 639968404
mas "Reeder", id: 1529448980
mas "RSS Button for Safari", id: 1437501942
mas "Scenecuts Helper", id: 1540491573
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
mas "AdGuard for Safari", id: 1440147259;
mas "Affinity Designer", id: 824171161;
mas "Affinity Photo", id: 824183456;
mas "Affinity Publisher", id: 881418622;
mas "Amphetamine", id: 937984704;
mas "AudioBookBinder", id: 413969927;
mas "Bitwarden", id: 1352778147;
mas "Cardhop", id: 1290358394;
mas "ColorSlurp", id: 1287239339;
mas "Create Booklet", id: 943029046;
mas "DaisyDisk", id: 411643860;
mas "Drafts", id: 1435957248;
mas "Draw Things", id: 6444050820;
mas "Final Cut Pro", id: 424389933;
mas "iA Writer", id: 775737590;
mas "Ice Cubes", id: 6444915884;
mas "Interact Scratchpad", id: 1199660222;
mas "Microsoft Excel", id: 462058435;
mas "Microsoft PowerPoint", id: 462062816;
mas "Microsoft Word", id: 462054704;
mas "Mindcad Tiler", id: 432460453;
mas "Moom Classic", id: 419330170;
mas "MQTT Explorer", id: 1455214828;
mas "Parcel", id: 639968404;
mas "Reeder", id: 1529448980;
mas "RSS Button for Safari", id: 1437501942;
mas "The Unarchiver", id: 425424353;
mas "Todoist", id: 585829637;
mas "WireGuard", id: 1451685025;
mas "WhatsApp", id: 310633997;

View 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}'

View File

@ -1,10 +0,0 @@
com.apple.Preview .ai all
com.apple.Preview .bmp all
com.apple.Preview .jpeg all
com.apple.Preview .jpg all
com.apple.Preview .pdf all
com.apple.Preview .png all
com.apple.Preview .ps all
com.apple.Preview .psd all
com.apple.Preview .tif all
com.apple.Preview .tiff all

View File

@ -1,15 +0,0 @@
com.brettterpstra.marked2 csstore viewer
com.brettterpstra.marked2 markdown viewer
com.brettterpstra.marked2 md viewer
com.brettterpstra.marked2 mdml viewer
com.brettterpstra.marked2 mdown viewer
com.brettterpstra.marked2 mdtext viewer
com.brettterpstra.marked2 mdtxt viewer
com.brettterpstra.marked2 mdwn viewer
com.brettterpstra.marked2 mkd viewer
com.brettterpstra.marked2 mkdn viewer
com.brettterpstra.marked2 mmd viewer
com.brettterpstra.marked2 multimarkdown viewer
com.brettterpstra.marked2 text viewer
com.brettterpstra.marked2 textbundle viewer
com.brettterpstra.marked2 txt viewer

View File

@ -1,15 +0,0 @@
com.colliderli.iina .3gp all
com.colliderli.iina .asf all
com.colliderli.iina .asx all
com.colliderli.iina .avi all
com.colliderli.iina .flv all
com.colliderli.iina .mkv all
com.colliderli.iina .mov all
com.colliderli.iina .mp4 all
com.colliderli.iina .mpg all
com.colliderli.iina .ogm all
com.colliderli.iina .rm all
com.colliderli.iina .swf all
com.colliderli.iina .vob all
com.colliderli.iina .webm all
com.colliderli.iina .wmv all

View File

@ -1,3 +0,0 @@
com.flexibits.fantastical2.mac ics all
com.flexibits.fantastical2.mac vcal all
com.flexibits.fantastical2.mac vcs all

View File

@ -1,15 +0,0 @@
com.microsoft.Excel csv all
com.microsoft.Excel xla all
com.microsoft.Excel xlam all
com.microsoft.Excel xlb all
com.microsoft.Excel xld all
com.microsoft.Excel xll all
com.microsoft.Excel xlm all
com.microsoft.Excel xls all
com.microsoft.Excel xlsb all
com.microsoft.Excel xlsm all
com.microsoft.Excel xlsx all
com.microsoft.Excel xltm all
com.microsoft.Excel xltx all
com.microsoft.Excel xlw all
com.microsoft.Excel xml all

View File

@ -1,10 +0,0 @@
com.microsoft.Powerpoint pot all
com.microsoft.Powerpoint potm all
com.microsoft.Powerpoint potx all
com.microsoft.Powerpoint pps all
com.microsoft.Powerpoint ppsm all
com.microsoft.Powerpoint ppsx all
com.microsoft.Powerpoint ppt all
com.microsoft.Powerpoint pptm all
com.microsoft.Powerpoint pptx all
com.microsoft.Powerpoint thmx all

View File

@ -1,6 +0,0 @@
com.microsoft.Word doc all
com.microsoft.Word docm all
com.microsoft.Word docx all
com.microsoft.Word dot all
com.microsoft.Word dotm all
com.microsoft.Word dotx all

View File

@ -1,62 +0,0 @@
com.visualstudio.code.oss asp all
com.visualstudio.code.oss bat all
com.visualstudio.code.oss c all
com.visualstudio.code.oss cc all
com.visualstudio.code.oss cfg all
com.visualstudio.code.oss cgi all
com.visualstudio.code.oss coffee all
com.visualstudio.code.oss conf all
com.visualstudio.code.oss config all
com.visualstudio.code.oss cpp all
com.visualstudio.code.oss cs all
com.visualstudio.code.oss css all
com.visualstudio.code.oss csv all
com.visualstudio.code.oss dat all
com.visualstudio.code.oss dtd all
com.visualstudio.code.oss duti all
com.visualstudio.code.oss erl all
com.visualstudio.code.oss h all
com.visualstudio.code.oss hpp all
com.visualstudio.code.oss hrl all
com.visualstudio.code.oss htm editor
com.visualstudio.code.oss html editor
com.visualstudio.code.oss ini all
com.visualstudio.code.oss java all
com.visualstudio.code.oss js all
com.visualstudio.code.oss json all
com.visualstudio.code.oss jsp editor
com.visualstudio.code.oss less all
com.visualstudio.code.oss lisp all
com.visualstudio.code.oss log all
com.visualstudio.code.oss m all
com.visualstudio.code.oss Makefile all
com.visualstudio.code.oss pch all
com.visualstudio.code.oss php all
com.visualstudio.code.oss pl all
com.visualstudio.code.oss plist editor
com.visualstudio.code.oss public.plain-text all
com.visualstudio.code.oss public.shell-script all
com.visualstudio.code.oss public.unix-executable all
com.visualstudio.code.oss py all
com.visualstudio.code.oss Rakefile all
com.visualstudio.code.oss rb all
com.visualstudio.code.oss README all
com.visualstudio.code.oss rst all
com.visualstudio.code.oss S all
com.visualstudio.code.oss scss all
com.visualstudio.code.oss sh editor
com.visualstudio.code.oss sh all
com.visualstudio.code.oss sql editor
com.visualstudio.code.oss tex all
com.visualstudio.code.oss txt all
com.visualstudio.code.oss xhtml editor
com.visualstudio.code.oss xml editor
com.visualstudio.code.oss xml all
com.visualstudio.code.oss yaml editor
com.visualstudio.code.oss yml editor
com.visualstudio.code.oss zlogin editor
com.visualstudio.code.oss zlogout editor
com.visualstudio.code.oss zprofile editor
com.visualstudio.code.oss zsh editor
com.visualstudio.code.oss zshenv editor
com.visualstudio.code.oss zshrc editor

View File

@ -1,14 +0,0 @@
cx.c3.theunarchiver .7z all
cx.c3.theunarchiver .cab all
cx.c3.theunarchiver .gtar all
cx.c3.theunarchiver .gz all
cx.c3.theunarchiver .hqx all
cx.c3.theunarchiver .jar all
cx.c3.theunarchiver .msi all
cx.c3.theunarchiver .rar all
cx.c3.theunarchiver .sit all
cx.c3.theunarchiver .sit all
cx.c3.theunarchiver .tar all
cx.c3.theunarchiver .tar.gz all
cx.c3.theunarchiver .tgz all
cx.c3.theunarchiver .zip all

View File

@ -1,11 +0,0 @@
org.videolan.vlc .aac all
org.videolan.vlc .aif all
org.videolan.vlc .flac all
org.videolan.vlc .iff all
org.videolan.vlc .m3u all
org.videolan.vlc .mid all
org.videolan.vlc .mp3 all
org.videolan.vlc .mpa all
org.videolan.vlc .ogg all
org.videolan.vlc .ra all
org.videolan.vlc .wav all

102
.config/eza/theme.yml Normal file
View File

@ -0,0 +1,102 @@
colourful: true
filekinds:
normal: {foreground: "#BAC2DE"}
directory: {foreground: "#89B4FA"}
symlink: {foreground: "#89DCEB"}
pipe: {foreground: "#7F849C"}
block_device: {foreground: "#EBA0AC"}
char_device: {foreground: "#EBA0AC"}
socket: {foreground: "#585B70"}
special: {foreground: "#CBA6F7"}
executable: {foreground: "#A6E3A1"}
mount_point: {foreground: "#74C7EC"}
perms:
user_read: {foreground: "#CDD6F4"}
user_write: {foreground: "#F9E2AF"}
user_execute_file: {foreground: "#A6E3A1"}
user_execute_other: {foreground: "#A6E3A1"}
group_read: {foreground: "#BAC2DE"}
group_write: {foreground: "#F9E2AF"}
group_execute: {foreground: "#A6E3A1"}
other_read: {foreground: "#A6ADC8"}
other_write: {foreground: "#F9E2AF"}
other_execute: {foreground: "#A6E3A1"}
special_user_file: {foreground: "#CBA6F7"}
special_other: {foreground: "#585B70"}
attribute: {foreground: "#A6ADC8"}
size:
major: {foreground: "#A6ADC8"}
minor: {foreground: "#89DCEB"}
number_byte: {foreground: "#CDD6F4"}
number_kilo: {foreground: "#BAC2DE"}
number_mega: {foreground: "#89B4FA"}
number_giga: {foreground: "#CBA6F7"}
number_huge: {foreground: "#CBA6F7"}
unit_byte: {foreground: "#A6ADC8"}
unit_kilo: {foreground: "#89B4FA"}
unit_mega: {foreground: "#CBA6F7"}
unit_giga: {foreground: "#CBA6F7"}
unit_huge: {foreground: "#74C7EC"}
users:
user_you: {foreground: "#CDD6F4"}
user_root: {foreground: "#F38BA8"}
user_other: {foreground: "#CBA6F7"}
group_yours: {foreground: "#BAC2DE"}
group_other: {foreground: "#7F849C"}
group_root: {foreground: "#F38BA8"}
links:
normal: {foreground: "#89DCEB"}
multi_link_file: {foreground: "#74C7EC"}
git:
new: {foreground: "#A6E3A1"}
modified: {foreground: "#F9E2AF"}
deleted: {foreground: "#F38BA8"}
renamed: {foreground: "#94E2D5"}
typechange: {foreground: "#F5C2E7"}
ignored: {foreground: "#7F849C"}
conflicted: {foreground: "#EBA0AC"}
git_repo:
branch_main: {foreground: "#CDD6F4"}
branch_other: {foreground: "#CBA6F7"}
git_clean: {foreground: "#A6E3A1"}
git_dirty: {foreground: "#F38BA8"}
security_context:
colon: {foreground: "#7F849C"}
user: {foreground: "#BAC2DE"}
role: {foreground: "#CBA6F7"}
typ: {foreground: "#585B70"}
range: {foreground: "#CBA6F7"}
file_type:
image: {foreground: "#F9E2AF"}
video: {foreground: "#F38BA8"}
music: {foreground: "#A6E3A1"}
lossless: {foreground: "#94E2D5"}
crypto: {foreground: "#585B70"}
document: {foreground: "#CDD6F4"}
compressed: {foreground: "#F5C2E7"}
temp: {foreground: "#EBA0AC"}
compiled: {foreground: "#74C7EC"}
build: {foreground: "#585B70"}
source: {foreground: "#89B4FA"}
punctuation: {foreground: "#7F849C"}
date: {foreground: "#F9E2AF"}
inode: {foreground: "#A6ADC8"}
blocks: {foreground: "#9399B2"}
header: {foreground: "#CDD6F4"}
octal: {foreground: "#94E2D5"}
flags: {foreground: "#CBA6F7"}
symlink_path: {foreground: "#89DCEB"}
control_char: {foreground: "#74C7EC"}
broken_symlink: {foreground: "#F38BA8"}
broken_path_overlay: {foreground: "#585B70"}

14
.config/ghostty/config Normal file
View 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
View File

@ -0,0 +1,7 @@
[init]
defaultBranch = main
[user]
name = Christian Baer
email = chris@debilux.org
[core]
editor = vim

54
.config/htop/htoprc Normal file → Executable file
View File

@ -1,16 +1,17 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 47 38 39 2 46 47 1
sort_key=46
sort_direction=1
tree_sort_key=0
tree_sort_direction=1
htop_version=3.2.2
config_reader_min_version=3
fields=0 48 17 18 38 39 40 2 46 47 49 1
hide_kernel_threads=1
hide_userland_threads=0
hide_running_in_container=0
shadow_other_users=0
show_thread_names=1
show_thread_names=0
show_program_path=1
highlight_base_name=1
highlight_deleted_exe=1
shadow_distribution_path_prefix=0
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
@ -18,20 +19,45 @@ highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
tree_view=0
tree_view_always_by_pid=0
header_margin=0
header_margin=1
screen_tabs=1
detailed_cpu_time=0
cpu_count_from_one=0
show_cpu_usage=1
show_cpu_frequency=0
show_cpu_temperature=0
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=6
color_scheme=0
enable_mouse=1
delay=15
left_meters=CPU Memory Swap
left_meter_modes=1 1 1
right_meters=Hostname Uptime Tasks LoadAverage
right_meter_modes=2 2 2 2
hide_function_bar=0
header_layout=two_50_50
column_meters_0=CPU Memory Swap DiskIO NetworkIO
column_meter_modes_0=1 1 1 2 2
column_meters_1=Hostname System Tasks LoadAverage Uptime
column_meter_modes_1=2 2 2 2 2
tree_view=1
sort_key=46
tree_sort_key=0
sort_direction=-1
tree_sort_direction=1
tree_view_always_by_pid=0
all_branches_collapsed=1
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
.sort_key=PERCENT_CPU
.tree_sort_key=PID
.tree_view=1
.tree_view_always_by_pid=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=1
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
.sort_key=IO_RATE
.tree_sort_key=PID
.tree_view=0
.tree_view_always_by_pid=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0

View File

@ -1,37 +0,0 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 47 38 39 2 46 47 1
sort_key=46
sort_direction=1
tree_sort_key=0
tree_sort_direction=1
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=1
show_program_path=1
highlight_base_name=1
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
tree_view=0
tree_view_always_by_pid=0
header_margin=0
detailed_cpu_time=0
cpu_count_from_one=0
show_cpu_usage=1
show_cpu_frequency=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=6
enable_mouse=1
delay=15
left_meters=CPU Memory Swap
left_meter_modes=1 1 1
right_meters=Hostname Uptime Tasks LoadAverage
right_meter_modes=2 2 2 2
hide_function_bar=0

View 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" }
}
]
}

View 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

View File

@ -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
# Start htop and split window
set-hook -t main session-created 'send-keys -t main:0 "sudo htop" C-m; split-window'
# remap prefix from 'C-b' to 'C-a'
# Start htop and split the window when the session "main" is created
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
set-option -g prefix C-a
bind-key C-a send-prefix
# Use C-b to send prefix twice so it acts on nested session
bind-key -n C-b send-prefix
# split panes using # and -
bind "#" split-window -h
bind "-" split-window -v
# Split panes using 'h' for horizontal and 'v' for vertical splits
bind "h" split-window -h
bind "v" split-window -v
unbind '"'
unbind %
# reload config file
# Reload the tmux configuration file with 'r'
bind r source-file $XDG_CONFIG_HOME/tmux/tmux.conf
# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
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
### Status and Window Configuration
# Set the status bar update interval to 1 second
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 the color of the clock mode
set -g clock-mode-colour "#8bd5ca"
# Set the style for copy mode (foreground black, background a specific color, bold text)
set -g mode-style 'fg=black bg=#ed8796 bold'
# Set the style for pane borders
set -g pane-border-style 'fg=white'
set -g pane-active-border-style 'fg=#8bd5ca'
### 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 ''
## Indicate if prefix has been pressed
set -ga status-left '#[bg=#white]#[fg=#brightblack]#{?client_prefix,#[fg=red] ◯ , ◯ }'
## Session name
set -ga status-left "#S"
set -g status-right ''
# Date and time
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 "
# Set the maximum length for the left status
set -g status-left-length 30
#+--- Windows ---+
set -g window-status-format " #[fg=white,bg=brightblack] #I #[fg=white,bg=brightblack]#W #F "
set -g window-status-current-format " #[fg=black,bg=cyan] #I #[fg=black,bg=cyan]#W #F "
set -g window-status-separator ""
## 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

View File

@ -1,5 +0,0 @@
-o "%(title)s [%(id)s].%(ext)s"
-f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best"
--add-metadata
--geo-bypass
--continue

View File

@ -1,4 +1,21 @@
# Search for docker-compose files in the current and all sub direcotries and run docker compose with provided arguments
function dc() {
DOCKER_PARAMS="$@"
find . -maxdepth 2 -type f -regextype posix-extended -regex '.*(docker-compose|compose)\.ya?ml' -execdir "docker compose ${DOCKER_PARAMS}" \;
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
CURRENT_DIR="${PWD}"
for file in $(find ${PWD} -maxdepth 2 -type f -regextype posix-extended -regex '.*(docker-compose|compose)\.ya?ml' | sort); do
cd $(dirname "$file")
docker compose $@
done
# Change back to saved working directory
cd ${CURRENT_DIR}
fi
}

View File

@ -1,21 +1,21 @@
## Automatically compile all compilable files to zwc
function zwcautocompile () {
function zwcautocompile() {
autoload -Uz zrecompile
for zsh_file in $(find ${ZDOTDIR} -type f -maxdepth 3 \( -name "*.zsh" -o -name ".zlogin" -o -name ".zshrc" \) ! -name "*.zwc" ! -name "*.zwc.old"); do
zrecompile -pq $zsh_file && rm -f $zsh_file.zwc.old
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 ${f} && rm -f ${f}.zwc.old
done
if [[ -d ${ZAUTOLOADDIR} ]]; then
for f in ${ZAUTOLOADDIR}/*; do
zrecompile -pq $f && rm -f $f.zwc.old
zrecompile -pq ${f} && rm -f ${f}.zwc.old
done
fi
if [[ -d ${ZLIBDIR} ]]; then
for f in ${ZLIBDIR}/*; do
zrecompile -pq $f && rm -f $f.zwc.old
zrecompile -pq ${f} && rm -f ${f}.zwc.old
done
fi
}

View File

@ -1,6 +1,6 @@
## Purge all compiled zwc files
function zwcpurge () {
function zwcpurge() {
autoload -Uz zrecompile
for zsh_file in $(find ${ZDOTDIR} -maxdepth 3 -type f \( -name "*.zwc" -o -name "*.zwc.old" \)); do
rm -f ${zsh_file}

View File

@ -4,12 +4,11 @@ typeset -U path # No duplicates
path=()
_prepath() {
for dir in "$@"; do
for dir in "$@"; do
dir=${dir:A}
[[ ! -d "$dir" ]] && return
#path=("$dir" $path[@])
path=("$dir" $path)
done
done
}
_prepath /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/local/sbin # BSD and macOS

View File

@ -2,19 +2,35 @@ _exists() { (( $+commands[$1] )) }
_exists less && export PAGER=less
# vim
if _exists vim; then
export EDITOR=vim
alias vim="vim -p"
fi
## ls/eza
# ls/eza
if _exists eza; then
alias eza="eza --color --icons --git"
alias ls="eza"
fi
unfunction _exists
# fetch
if ! _exists fetch; then
if _exists curl; then
alias fetch="curl -O"
elif _exists curl; then
alias fetch="wget"
else
echo "fetch not found."
fi
fi
# htop
if _exists htop; then
alias htop="sudo htop"
fi
unfunction _exists
alias mkdir="mkdir -p"
alias ..="cd .."
@ -22,16 +38,12 @@ alias ...="cd ../.."
alias ....="cd ../../.."
alias google="ping -c 10240000 google.com"
alias history="history -i"
alias sulast="sudo $(history -p !-1)"
alias ydl="youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'"
alias htop="sudo htop"
case `uname` in
Darwin)
# commands for OS X go here
alias flushdns="sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder"
alias r="open -a"
alias fetch="curl -O"
;;
Linux)
# commands for Linux go here

View File

@ -1,7 +1,8 @@
## Command history configuration
HISTFILE="${ZCACHE}/history"
HISTSIZE=1000000000
SAVEHIST=1000000000
export HISTFILE="${ZCACHE}/history"
export HISTSIZE=1000000000
export SAVEHIST=${HISTSIZE}
export HISTORY_IGNORE="([bf]g *|disown|cd ..|cd -)"
export HISTTIMEFORMAT="[%F %T] "
setopt INC_APPEND_HISTORY
@ -13,12 +14,3 @@ setopt incappendhistory
setopt histignorespace
setopt histnostore
setopt share_history
export HISTORY_IGNORE="([bf]g *|disown|cd ..|cd -)"
HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1
# # Make up and down arrow take whats typed on the commandline in to account.
# autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
# zle -N up-line-or-beginning-search
# zle -N down-line-or-beginning-search

View File

@ -1,3 +0,0 @@
# Search
bindkey '^[[A' history-substring-search-up # Up arrow
bindkey '^[[B' history-substring-search-down # down arrow

View File

@ -20,3 +20,6 @@ export GOPATH="${XDG_DATA_HOME}/go"
export PYTHONUSERBASE=${HOME}/.local
export INPUTRC="${XDG_CONFIG_HOME}/readline/inputrc"
export MANPATH="${MANPATH-$(manpath)}:${HOME}/.local/share/man"
# EZA
EZA_CONFIG_DIR=${XDG_CONFIG_HOME}/eza

View File

@ -0,0 +1 @@
ZSH_AUTOSUGGEST_STRATEGY=(history completion)

View File

@ -0,0 +1,5 @@
# Available completion styles: gremlin, ohmy, prez, zshzoo
# You can add your own too. To see all available completion styles
# run 'compstyle -l'
ZSH_COMPDUMP=${ZCACHE}/zcompdump
zstyle ':plugin:ez-compinit' 'compstyle' 'zshzoo'

View File

@ -0,0 +1,5 @@
# Keybindings
bindkey '^[[A' history-substring-search-up # or '\eOA'
bindkey '^[[B' history-substring-search-down # or '\eOB'
HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1

View File

@ -0,0 +1 @@
export _Z_DATA=${ZCACHE}/z

View File

@ -19,9 +19,11 @@ plugin_repos=(
rupa/z # Tracks your most used directories, based on 'frecency'.
Skylor-Tang/auto-venv # Automatically activates the Python virtual environment in the current directory or its parent directories.
zsh-users/zsh-syntax-highlighting
zsh-users/zsh-history-substring-search
zsh-users/zsh-autosuggestions
zsh-users/zsh-syntax-highlighting
kulynyak/zsh.prepend-sudo
zsh-users/zsh-history-substring-search
amyreese/zsh-titles
)
# load plugins

View File

@ -16,11 +16,11 @@ all: git-fetch git-secrets-reveal deploy-macos ## Update repo, decrypt secrets a
install: git-fetch deploy-base ## Update repor and run deploy-base
deploy-base: deploy-htop-zfs deploy-tmux deploy-vim deploy-zsh deploy-ssh deploy-hushlogin ## Only deploy basic conf files for shell usage
deploy-base: deploy-eza deploy-tmux deploy-vim deploy-zsh deploy-ssh deploy-hushlogin ## Only deploy basic conf files for shell usage
deploy-workstation: deploy-base deploy-vscodium deploy-youtubedl ## Deploy workstation specific config files (inherits deploy-shell)
deploy-macos: deploy-htop deploy-workstation deploy-duti deploy-brewfile ## Deploy macOS specific config files (inherits deploy-workstation)
deploy-macos: deploy-htop deploy-workstation deploy-brewfile ## Deploy macOS specific config files (inherits deploy-workstation)
gen-vscodium-plugin-list: ## Update the list of VSCodium plugins
@echo "\033[1;32m>>>\033[1;0m Updating the list of VSCodium plugins at .config/VSCodium/UserUser/extensions.list"
@ -59,23 +59,16 @@ brew-bundle-cleanup: ## Removew all appplications that are not listed in Brewfil
@echo "\033[1;32m>>>\033[1;0m Removing applications that are not listed in .config/Brewfile"
@brew bundle cleanup --zap --force --file .config/Brewfile
deploy-duti: ## Deploy duti config
@echo "\033[1;32m>>>\033[1;0m Deploy duti config to ${HOMEDIR}/.config/duti"
@mkdir -p ${HOMEDIR}/.config/duti
@cp .config/duti/* ${HOMEDIR}/.config/duti
@echo "\033[1;32m>>>\033[1;0m Processing duti config from ${HOMEDIR}/.config/duti"
@duti ${HOMEDIR}/.config/duti
deploy-eza: ## Deploy eza config
@echo "\033[1;32m>>>\033[1;0m Deploy eza config to ${HOMEDIR}/.config/eza"
@mkdir -p ${HOMEDIR}/.config/eza
@cp .config/eza/* ${HOMEDIR}/.config/eza
deploy-htop: ## Deploy htop config
@echo "\033[1;32m>>>\033[1;0m Deploy htop config to ${HOMEDIR}/.config/htop"
@mkdir -p ${HOMEDIR}/.config/htop
@cp .config/htop/htoprc ${HOMEDIR}/.config/htop/htoprc
deploy-htop-zfs: ## Deploy htop config with zfs
@echo "\033[1;32m>>>\033[1;0m Deploy htop config to ${HOMEDIR}/.config/htop"
@mkdir -p ${HOMEDIR}/.config/htop
@cp .config/htop/htoprc.zfs ${HOMEDIR}/.config/htop/htoprc
deploy-tmux: ## Deploy tmux config
@echo "\033[1;32m>>>\033[1;0m Deploy tmux config to ${HOMEDIR}/.config/tmux"
@mkdir -p ${HOMEDIR}/.config/tmux
@ -112,8 +105,8 @@ deploy-zsh: ## Deploy zsh config
@mkdir -p ${HOMEDIR}/.config/zsh/conf.d
@cp .zshenv ${HOMEDIR}/
@cp .config/zsh/.z* ${HOMEDIR}/.config/zsh
@cp .config/zsh/functions/* ${HOMEDIR}/.config/zsh/autoload
@cp .config/zsh/lib/*.zsh ${HOMEDIR}/.config/zsh/conf.d
@cp .config/zsh/autoload/* ${HOMEDIR}/.config/zsh/autoload
@cp .config/zsh/conf.d/*.zsh ${HOMEDIR}/.config/zsh/conf.d
deploy-brewfile: ## Deploy Brewfile
@echo "\033[1;32m>>>\033[1;0m Deploy Brewfile to ${HOMEDIR}/.config/"
@ -125,7 +118,7 @@ deploy-ssh: ## Deploy SSH config
@mkdir -p ${HOMEDIR}/.ssh/master
@mkdir -p ${HOMEDIR}/.ssh/conf.d
@cp .ssh/config ${HOMEDIR}/.ssh/
-@cp .ssh/conf.d/*.conf ${HOMEDIR}/.ssh/conf.d
-@cp .ssh/conf.d/* ${HOMEDIR}/.ssh/conf.d
deploy-hushlogin: ## Deploy .hushlogin
@echo "\033[1;32m>>>\033[1;0m Deploy .hushlogin to ${HOMEDIR}"