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