init
This commit is contained in:
4
.chezmoiexternal.toml
Normal file
4
.chezmoiexternal.toml
Normal file
@@ -0,0 +1,4 @@
|
||||
[".ssh/authorized_keys"]
|
||||
type = "file"
|
||||
url = "https://github.com/morten-olsen.keys"
|
||||
refreshPeriod = "168h"
|
||||
3
.chezmoiignore
Normal file
3
.chezmoiignore
Normal file
@@ -0,0 +1,3 @@
|
||||
{{- if ne .chezmoi.hostname "work-laptop" }}
|
||||
Projects/.gitconfig
|
||||
{{- end }}
|
||||
70
dot_Brewfile
Normal file
70
dot_Brewfile
Normal file
@@ -0,0 +1,70 @@
|
||||
tap "coder/coder"
|
||||
tap "felixkratz/formulae"
|
||||
tap "fluxcd/tap"
|
||||
tap "nikitabobko/tap"
|
||||
tap "sst/tap"
|
||||
brew "python@3.13"
|
||||
brew "ansible"
|
||||
brew "atuin"
|
||||
brew "bat"
|
||||
brew "chezmoi"
|
||||
brew "colima"
|
||||
brew "curl"
|
||||
brew "deno"
|
||||
brew "direnv"
|
||||
brew "docker"
|
||||
brew "docker-buildx"
|
||||
brew "docker-compose"
|
||||
brew "eza"
|
||||
brew "fd"
|
||||
brew "ffmpeg"
|
||||
brew "fzf"
|
||||
brew "gh"
|
||||
brew "git"
|
||||
brew "git-delta"
|
||||
brew "gnupg"
|
||||
brew "graphviz"
|
||||
brew "helm"
|
||||
brew "helmfile"
|
||||
brew "istioctl"
|
||||
brew "jj"
|
||||
brew "jq"
|
||||
brew "k9s"
|
||||
brew "kubernetes-cli"
|
||||
brew "neovim"
|
||||
brew "pyenv"
|
||||
brew "ripgrep"
|
||||
brew "rsync"
|
||||
brew "rustup"
|
||||
brew "sshpass"
|
||||
brew "starship"
|
||||
brew "terraform"
|
||||
brew "tmux"
|
||||
brew "unzip"
|
||||
brew "uv"
|
||||
brew "watch"
|
||||
brew "zoxide"
|
||||
brew "zsh"
|
||||
brew "coder/coder/coder"
|
||||
brew "fluxcd/tap/flux"
|
||||
brew "sst/tap/opencode"
|
||||
cask "1password"
|
||||
cask "1password-cli"
|
||||
cask "aerospace"
|
||||
cask "dbeaver-community"
|
||||
cask "ghostty"
|
||||
cask "home-assistant"
|
||||
cask "jellyfin-media-player"
|
||||
cask "lens"
|
||||
cask "localsend"
|
||||
cask "mqtt-explorer"
|
||||
cask "obsidian"
|
||||
cask "ollama-app"
|
||||
cask "raycast"
|
||||
|
||||
cask "darktable"
|
||||
cask "signal"
|
||||
cask "proton-mail-bridge"
|
||||
cask "proton-pass"
|
||||
cask "protonvpn"
|
||||
cask "steam"
|
||||
176
dot_aerospace.toml
Normal file
176
dot_aerospace.toml
Normal file
@@ -0,0 +1,176 @@
|
||||
# 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 AeroSpace startup.
|
||||
# Available commands : https://nikitabobko.github.io/AeroSpace/commands
|
||||
after-startup-command = []
|
||||
exec-on-workspace-change = [
|
||||
'/bin/bash',
|
||||
'-c',
|
||||
'sketchybar --trigger aerospace_workspace_change FOCUSED_WORKSPACE=$AEROSPACE_FOCUSED_WORKSPACE',
|
||||
'exec-and-forget borders active_color=0xffe1e3e4 inactive_color=0xff494d64 width=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 = 200
|
||||
|
||||
# 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'
|
||||
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 = false
|
||||
|
||||
[[on-window-detected]]
|
||||
if.app-name-regex-substring = 'elgato'
|
||||
run = 'layout floating'
|
||||
|
||||
# Possible values: (qwerty|dvorak|colemak)
|
||||
# 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 = 10
|
||||
inner.vertical = 10
|
||||
outer.left = 10
|
||||
outer.bottom = 10
|
||||
outer.top = 5
|
||||
outer.right = 10
|
||||
|
||||
# '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, pageUp, pageDown, home, end, forwardDelete,
|
||||
# sectionSign (ISO keyboards only, european keyboards only)
|
||||
# - 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'
|
||||
# '''
|
||||
|
||||
alt-ctrl-f = 'fullscreen'
|
||||
#alt-ctrl-f = 'layout floating tiling'
|
||||
|
||||
# See: https://nikitabobko.github.io/AeroSpace/commands#layout
|
||||
alt-slash = 'layout tiles horizontal vertical'
|
||||
alt-comma = 'layout accordion horizontal vertical'
|
||||
|
||||
# See: https://nikitabobko.github.io/AeroSpace/commands#focus
|
||||
cmd-h = 'focus left'
|
||||
cmd-j = 'focus down'
|
||||
cmd-k = 'focus up'
|
||||
cmd-l = 'focus right'
|
||||
|
||||
# See: https://nikitabobko.github.io/AeroSpace/commands#move
|
||||
cmd-shift-h = 'move left'
|
||||
cmd-shift-j = 'move down'
|
||||
cmd-shift-k = 'move up'
|
||||
cmd-shift-l = 'move right'
|
||||
|
||||
# See: https://nikitabobko.github.io/AeroSpace/commands#resize
|
||||
alt-minus = 'resize smart -50'
|
||||
alt-equal = 'resize smart +50'
|
||||
|
||||
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace
|
||||
cmd-1 = 'workspace 1'
|
||||
cmd-2 = 'workspace 2'
|
||||
cmd-3 = 'workspace 3'
|
||||
cmd-4 = 'workspace 4'
|
||||
cmd-5 = 'workspace 5'
|
||||
cmd-6 = 'workspace 6'
|
||||
cmd-7 = 'workspace 7'
|
||||
cmd-8 = 'workspace 8'
|
||||
cmd-9 = 'workspace 9'
|
||||
|
||||
# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace
|
||||
cmd-shift-1 = 'move-node-to-workspace 1'
|
||||
cmd-shift-2 = 'move-node-to-workspace 2'
|
||||
cmd-shift-3 = 'move-node-to-workspace 3'
|
||||
cmd-shift-4 = 'move-node-to-workspace 4'
|
||||
cmd-shift-5 = 'move-node-to-workspace 5'
|
||||
cmd-shift-6 = 'move-node-to-workspace 6'
|
||||
cmd-shift-7 = 'move-node-to-workspace 7'
|
||||
cmd-shift-8 = 'move-node-to-workspace 8'
|
||||
cmd-shift-9 = 'move-node-to-workspace 9'
|
||||
|
||||
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth
|
||||
alt-tab = 'workspace-back-and-forth'
|
||||
# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor
|
||||
alt-shift-tab = 'move-workspace-to-monitor --wrap-around next'
|
||||
|
||||
# See: https://nikitabobko.github.io/AeroSpace/commands#mode
|
||||
alt-shift-comma = 'mode service'
|
||||
alt-shift-enter = 'mode apps'
|
||||
|
||||
# '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']
|
||||
|
||||
alt-shift-h = ['join-with left', 'mode main']
|
||||
alt-shift-j = ['join-with down', 'mode main']
|
||||
alt-shift-k = ['join-with up', 'mode main']
|
||||
alt-shift-l = ['join-with right', 'mode main']
|
||||
|
||||
down = 'volume down'
|
||||
up = 'volume up'
|
||||
shift-down = ['volume set 0', 'mode main']
|
||||
|
||||
[mode.apps.binding]
|
||||
alt-g = ['exec-and-forget open -a /Applications/Ghostty.app', 'mode main']
|
||||
2
dot_config/atuin/config.toml
Normal file
2
dot_config/atuin/config.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
style = "compact"
|
||||
keymap_mode = "vim-normal"
|
||||
53
dot_gitconfig
Normal file
53
dot_gitconfig
Normal file
@@ -0,0 +1,53 @@
|
||||
|
||||
[alias]
|
||||
graph = log --graph --color --pretty=format:"%C(yellow)%H%C(green)%d%C(reset)%n%x20%cd%n%x20%cn%C(blue)%x20(%ce)%x20%C(cyan)[gpg:%GK%x20%G?]%C(reset)%n%x20%s%n"
|
||||
ll = log --oneline
|
||||
st = status -sb
|
||||
cm = commit -m
|
||||
append = commit --amend --no-edit
|
||||
sobmodules = submodule update --init --recursive
|
||||
df = difftool -t nvimdiff -y
|
||||
last = log -1 --stat
|
||||
br = branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate
|
||||
brr = branch --remote --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate
|
||||
undo = reset HEAD~1 --mixed
|
||||
unstage = reset HEAD --
|
||||
|
||||
[difftool "nvimdiff"]
|
||||
cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""
|
||||
[url "https://"]
|
||||
insteadOf = git://
|
||||
|
||||
[core]
|
||||
pager = delta
|
||||
hooksPath = /dev/null
|
||||
|
||||
[interactive]
|
||||
diffFilter = delta --color-only
|
||||
|
||||
[pull]
|
||||
ff = only
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
|
||||
[push]
|
||||
autoSetupRemote = true
|
||||
|
||||
[includeIf "gitdir:~/Projects/"]
|
||||
path = "~/Projects/.gitconfig"
|
||||
|
||||
[includeIf "gitdir:~/Projects/private"]
|
||||
path = "~/Projects/private/.gitconfig"
|
||||
|
||||
[includeIf "gitdir:~/Projects/zeronorth"]
|
||||
path = "~/Projects/zeronorth/.gitconfig"
|
||||
|
||||
|
||||
|
||||
|
||||
10
dot_shellrc/rc.d/01-env.sh
Normal file
10
dot_shellrc/rc.d/01-env.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
export TMPDIR="${TMPDIR:-/tmp}"
|
||||
export PATH="/opt/homebrew/bin:$PATH:$HOME/.local/bin"
|
||||
|
||||
alias ls=eza
|
||||
alias cat=bat
|
||||
alias grep=rg
|
||||
alias diff=delta
|
||||
alias less=bat
|
||||
alias gr='if [ "`git rev-parse --show-cdup`" != "" ]; then cd `git rev-parse --show-cdup`; fi'
|
||||
|
||||
3
dot_shellrc/rc.d/01-nvim.sh
Normal file
3
dot_shellrc/rc.d/01-nvim.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
export EDITOR=nvim
|
||||
alias vim=nvim
|
||||
|
||||
4
dot_shellrc/rc.d/05-nvm.sh
Normal file
4
dot_shellrc/rc.d/05-nvm.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||
|
||||
8
dot_ssh/config
Normal file
8
dot_ssh/config
Normal file
@@ -0,0 +1,8 @@
|
||||
Include ~/.colima/ssh_config
|
||||
Include ~/.ssh/config.d/*
|
||||
|
||||
Host *
|
||||
Controlmaster auto
|
||||
Controlpath /tmp/ssh-%r@%h:%p
|
||||
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
||||
ForwardAgent yes
|
||||
22
dot_ssh/config.d/git-coder
Normal file
22
dot_ssh/config.d/git-coder
Normal file
@@ -0,0 +1,22 @@
|
||||
# ------------START-CODER-----------
|
||||
# This section is managed by coder. DO NOT EDIT.
|
||||
#
|
||||
# You should not hand-edit this section unless you are removing it, all
|
||||
# changes will be lost when running "coder config-ssh".
|
||||
#
|
||||
Host coder.*
|
||||
ConnectTimeout=0
|
||||
StrictHostKeyChecking=no
|
||||
UserKnownHostsFile=/dev/null
|
||||
LogLevel ERROR
|
||||
ProxyCommand /opt/homebrew/bin/coder --global-config "~/Library/Application Support/coderv2" ssh --stdio --ssh-host-prefix coder. %h
|
||||
|
||||
Host *.coder
|
||||
ConnectTimeout=0
|
||||
StrictHostKeyChecking=no
|
||||
UserKnownHostsFile=/dev/null
|
||||
LogLevel ERROR
|
||||
|
||||
Match host *.coder !exec "/opt/homebrew/bin/coder connect exists %h"
|
||||
ProxyCommand /opt/homebrew/bin/coder --global-config "~/Library/Application Support/coderv2" ssh --stdio --hostname-suffix coder %h
|
||||
# ------------END-CODER------------
|
||||
13
dot_ssh/config.d/git-private
Normal file
13
dot_ssh/config.d/git-private
Normal file
@@ -0,0 +1,13 @@
|
||||
host github-private
|
||||
hostname ssh.github.com
|
||||
user git
|
||||
port 443
|
||||
IdentityFile ~/.ssh/keys/github-private.pub
|
||||
IdentitiesOnly yes
|
||||
|
||||
host gitea-ssh.olsen.cloud
|
||||
hostname gitea-ssh.olsen.cloud
|
||||
user git
|
||||
port 2202
|
||||
IdentityFile ~/.ssh/keys/github-private.pub
|
||||
IdentitiesOnly yes
|
||||
6
dot_ssh/config.d/git-zeronorth
Normal file
6
dot_ssh/config.d/git-zeronorth
Normal file
@@ -0,0 +1,6 @@
|
||||
host github-zeronorth
|
||||
hostname ssh.github.com
|
||||
user git
|
||||
port 443
|
||||
IdentityFile ~/.ssh/keys/github-zeronorth.pub
|
||||
IdentitiesOnly yes
|
||||
4
dot_ssh/config.d/github
Normal file
4
dot_ssh/config.d/github
Normal file
@@ -0,0 +1,4 @@
|
||||
host github.com
|
||||
hostname ssh.github.com
|
||||
user git
|
||||
port 443
|
||||
1
dot_ssh/private_keys/private_github-private.pub
Normal file
1
dot_ssh/private_keys/private_github-private.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFaIAP/ZJ7+7jeR44e1yIJjfQAB6MN351LDKJAXVF62P
|
||||
1
dot_ssh/private_keys/private_github-zeronorth.pub
Normal file
1
dot_ssh/private_keys/private_github-zeronorth.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKDbZITpz5QrVIxPn9gKVWMPK+3W3YZZGszFOQvO/h7M
|
||||
105
dot_tmux.conf
Normal file
105
dot_tmux.conf
Normal file
@@ -0,0 +1,105 @@
|
||||
set -g mouse on
|
||||
#set -g default-terminal "screen-256color-bce"
|
||||
#set -g status-justify centre
|
||||
|
||||
#set -ga terminal-overrides ',xterm-256color:Tc'
|
||||
set -ag terminal-overrides ",xterm-256color:RGB"
|
||||
|
||||
|
||||
set -g base-index 1
|
||||
set -g renumber-windows on
|
||||
bind q lock-client
|
||||
|
||||
unbind '"'
|
||||
unbind %
|
||||
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
bind -r H resize-pane -L 10
|
||||
bind -r J resize-pane -D 10
|
||||
bind -r K resize-pane -U 10
|
||||
bind -r L resize-pane -R 10
|
||||
|
||||
bind o attach -c "#{pane_current_path}"
|
||||
|
||||
# don't rename windows automatically
|
||||
set-option -g allow-rename off
|
||||
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
|
||||
run -b '~/.tmux/plugins/tpm/tpm'
|
||||
if "test ! -d ~/.tmux/plugins/tpm" \
|
||||
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
|
||||
|
||||
# set -g @plugin "arcticicestudio/nord-tmux"
|
||||
# set -g @plugin 'dracula/tmux'
|
||||
# set -g @dracula-show-powerline true
|
||||
set -g @plugin 'wfxr/tmux-power'
|
||||
# set -g @plugin 'catppuccin/tmux'
|
||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# open pane in vim
|
||||
bind-key / capture-pane -S -102400 -J \; new-window 'vim -c ":read !tmux save-buffer - ; tmux delete-buffer;" -c ":normal gg" -c ":set buftype=nofile" -c ":silent! ChompWhitespace"'
|
||||
|
||||
set -g @catppuccin_date_time "%Y-%m-%d %H:%M"
|
||||
set -g @catppuccin_window_tabs_enabled "on"
|
||||
|
||||
# clear history
|
||||
# bind k send-keys -R \; clear-history
|
||||
|
||||
# copy mode
|
||||
setw -g mode-keys vi
|
||||
bind Escape copy-mode
|
||||
unbind [
|
||||
unbind p
|
||||
bind p paste-buffer
|
||||
bind -Tcopy-mode-vi v send -X begin-selection
|
||||
bind -Tcopy-mode-vi y send -X copy-selection
|
||||
bind -Tcopy-mode-vi Escape send -X cancel
|
||||
|
||||
# panes
|
||||
bind - split-window -v -c "#{pane_current_path}"
|
||||
bind | split-window -h -c "#{pane_current_path}"
|
||||
bind C-z resize-pane -Z
|
||||
bind g swap-pane -U
|
||||
bind æ swap-pane -D
|
||||
|
||||
# panes
|
||||
#set -g window-active-style 'bg=colour236'
|
||||
#set -g window-style 'bg=black'
|
||||
|
||||
|
||||
# Smart pane switching with awareness of Vim splits.
|
||||
# See: https://github.com/christoomey/vim-tmux-navigator
|
||||
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
||||
bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
|
||||
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
|
||||
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
|
||||
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
|
||||
|
||||
bind -n 'M-h' if-shell "$is_vim" 'send-keys M-h' 'resize-pane -L 1'
|
||||
bind -n 'M-j' if-shell "$is_vim" 'send-keys M-j' 'resize-pane -D 1'
|
||||
bind -n 'M-k' if-shell "$is_vim" 'send-keys M-k' 'resize-pane -U 1'
|
||||
bind -n 'M-l' if-shell "$is_vim" 'send-keys M-l' 'resize-pane -R 1'
|
||||
|
||||
tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'
|
||||
if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
|
||||
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'"
|
||||
if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
|
||||
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'"
|
||||
|
||||
|
||||
bind-key -T copy-mode-vi 'C-h' select-pane -L
|
||||
bind-key -T copy-mode-vi 'C-j' select-pane -D
|
||||
bind-key -T copy-mode-vi 'C-k' select-pane -U
|
||||
bind-key -T copy-mode-vi 'C-l' select-pane -R
|
||||
bind-key -T copy-mode-vi 'C-\' select-pane -l
|
||||
|
||||
# Utils
|
||||
bind -r g display-popup -d '#{pane_current_path}' -w80% -h80% -E lazygit
|
||||
|
||||
74
dot_zshrc
Normal file
74
dot_zshrc
Normal file
@@ -0,0 +1,74 @@
|
||||
export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-$HOME/.cache}
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
# Load all files from .shell/rc.d directory
|
||||
if [ -d $HOME/.shellrc/rc.d ]; then
|
||||
for file in $HOME/.shellrc/rc.d/*.sh; do
|
||||
source $file
|
||||
done
|
||||
fi
|
||||
|
||||
# Load all files from .shell/zshrc.d directory
|
||||
if [ -d $HOME/.shellrc/zshrc.d ]; then
|
||||
for file in $HOME/.shellrc/zshrc.d/*.zsh; do
|
||||
source $file
|
||||
done
|
||||
fi
|
||||
export GPG_TTY=$(tty)
|
||||
if [[ -n "$SSH_CONNECTION" ]] ;then
|
||||
export PINENTRY_USER_DATA="USE_CURSES=1"
|
||||
fi
|
||||
|
||||
[ -f ~/.env ] && source ~/.env
|
||||
|
||||
if [ `tput cols` -gt "70" ]; then
|
||||
function PRINT_CENTER {
|
||||
COLS=`tput cols`
|
||||
OFFSET=$(( ($COLS - $1) / 2 ))
|
||||
PRE=""
|
||||
for i in `seq $OFFSET`; do
|
||||
PRE="$PRE "
|
||||
done
|
||||
while IFS= read -r line; do
|
||||
echo "$PRE$line"
|
||||
done <<< "$2"
|
||||
}
|
||||
PRINT_CENTER 60 "
|
||||
|
||||
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
||||
█░▄▄▀█▀▄▄▀█░▄▄░█▄░▄█▀▄▀██░▄░██░██░█░▄▄█░▄▄░█
|
||||
█░▀▀▄█░██░█░▀▄░██░██░█▀█░▀▀░▀█░██░█▄▄▀███▄██
|
||||
█▄█▄▄██▄▄██░▀▀░██▄███▄█████░███▄▄▄█▄▄▄█░▀▀░█
|
||||
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||
|
||||
⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆
|
||||
⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦
|
||||
⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄
|
||||
⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄
|
||||
⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀
|
||||
⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄
|
||||
⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄
|
||||
⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄
|
||||
⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄
|
||||
⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆
|
||||
⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃
|
||||
▄▄▄ . ▌ ▐·▪ ▄▄▌ ▄▄▌ ▐ ▄▌▪ ▄▄▄▄▄ ▄ .▄ ▄• ▄▌▄▄▄▄▄
|
||||
▀▄.▀·▪█·█▌██ ██• ██· █▌▐███ •██ ██▪▐█ ▄█▀▄ █▪██▌•██
|
||||
▐▀▀▪▄▐█▐█•▐█·██ ▪ ██▪▐█▐▐▌▐█· ▐█.▪██▀▀█▐█▌.▐▌█▌▐█▌ ▐█.▪
|
||||
▐█▄▄▌ ███ ▐█▌▐█▌ ▄ ▐█▌██▐█▌▐█▌ ▐█▌·██▌▐▀▐█▌.▐▌▐█▄█▌ ▐█▌·
|
||||
▀▀▀ . ▀ ▀▀▀.▀▀▀ ▀▀▀▀ ▀▪▀▀▀ ▀▀▀ ▀▀▀ · ▀█▄▀▪ ▀▀▀ ▀▀▀
|
||||
|
||||
> welcome x_x
|
||||
"
|
||||
fi
|
||||
|
||||
export FZF_DEFAULT_OPTS=" \
|
||||
--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \
|
||||
--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \
|
||||
--color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8"
|
||||
|
||||
which atuin &> /dev/null && eval "$(atuin init zsh)"
|
||||
which direnv &> /dev/null && eval "$(direnv hook zsh)"
|
||||
which starship &> /dev/null && eval "$(starship init zsh)"
|
||||
which zoxide &> /dev/null && eval "$(zoxide init zsh)"
|
||||
which pyenv &> /dev/null && eval "$(pyenv init --path)"
|
||||
23
private_Projects/dot_gitconfig
Normal file
23
private_Projects/dot_gitconfig
Normal file
@@ -0,0 +1,23 @@
|
||||
[user]
|
||||
email = fbtijfdq@void.black
|
||||
name = Morten Olsen
|
||||
signingkey = ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFaIAP/ZJ7+7jeR44e1yIJjfQAB6MN351LDKJAXVF62P
|
||||
|
||||
[commit]
|
||||
gpgsign = true
|
||||
|
||||
[gpg]
|
||||
format = ssh
|
||||
|
||||
[gpg "ssh"]
|
||||
program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign"
|
||||
|
||||
|
||||
|
||||
[url "ssh://git@ssh-gitea.olsen.cloud:2205/"]
|
||||
insteadOf = "https://gitea.olsen.cloud/"
|
||||
|
||||
|
||||
[url "git@github-private:"]
|
||||
insteadOf = https://github.com/
|
||||
|
||||
Reference in New Issue
Block a user