From 328a01d5bed6402c8a6f2ea4250440e95b920fe5 Mon Sep 17 00:00:00 2001 From: kjuulh Date: Sat, 2 Aug 2025 18:41:16 +0200 Subject: [PATCH] feat: add macos setup --- dot_config/gitnow/gitnow.toml | 2 +- dot_config/starship.toml | 115 ++++++--- dot_config/zellij/config.kdl.tmpl | 5 + dot_gitconfig.tmpl | 10 +- dot_zimrc.tmpl | 3 + dot_zshrc.tmpl | 25 +- .../private_executable_config.tmpl | 225 ++++++++++++++---- 7 files changed, 298 insertions(+), 87 deletions(-) diff --git a/dot_config/gitnow/gitnow.toml b/dot_config/gitnow/gitnow.toml index dedf875..6b91edf 100644 --- a/dot_config/gitnow/gitnow.toml +++ b/dot_config/gitnow/gitnow.toml @@ -1,5 +1,5 @@ [settings] -post_update_command = ["git pull", "jj git fetch"] +post_update_command = ["jj git fetch"] post_clone_command = ["jj git init --colocate"] [settings.cache] diff --git a/dot_config/starship.toml b/dot_config/starship.toml index 56f7e06..74ecb59 100644 --- a/dot_config/starship.toml +++ b/dot_config/starship.toml @@ -1,19 +1,11 @@ # Get editor completions based on the config schema "$schema" = 'https://starship.rs/config-schema.json' -[nodejs] -disabled = true - -[scala] -disabled = true - format = """ $username\ $hostname\ $directory\ -$git_branch\ -$git_state\ -$git_status\ +${custom.jj}\ $cmd_duration\ $line_break\ $python\ @@ -27,24 +19,32 @@ success_symbol = "[❯](#FF9966)" error_symbol = "[❯](red)" vimcmd_symbol = "[❮](green)" -[git_branch] -format = "[$branch]($style)" -style = "bright-black" +# [git_branch] +# format = "[$branch]($style)" +# style = "bright-black" -[git_status] -format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)" -style = "#FF9966" -conflicted = "" -untracked = "" -modified = "" -staged = "" -renamed = "" -deleted = "" -stashed = "≡ " +# [git_status] +# format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)" +# style = "cyan" +# conflicted = "​" +# untracked = "​" +# modified = "​" +# staged = "​" +# renamed = "​" +# deleted = "​" +# stashed = "≡" -[git_state] -format = '\([$state( $progress_current/$progress_total)]($style)\) ' -style = "bright-black" +# [git_state] +# format = '\([$state( $progress_current/$progress_total)]($style)\) ' +# style = "bright-black" + +[custom.jj] +command = "prompt" +format = "$output" +ignore_timeout = false +shell = ["starship-jj", "--ignore-working-copy", "starship"] +use_stdin = false +when = true [cmd_duration] format = "[$duration]($style) " @@ -54,10 +54,63 @@ style = "yellow" format = "[$virtualenv]($style) " style = "bright-black" -[rust] -symbol = "rs " -format = "[$symbol]($style)" +# [nodejs] +# disabled = true -[golang] -symbol = "go " -format = "[$symbol]($style)" +# [scala] +# disabled = true + +# format = """ +# $username\ +# $hostname\ +# $directory\ +# $git_branch\ +# $git_state\ +# $git_status\ +# $cmd_duration\ +# $line_break\ +# $python\ +# $character""" + +# [directory] +# style = "#FF9966" + +# [character] +# success_symbol = "[❯](#FF9966)" +# error_symbol = "[❯](red)" +# vimcmd_symbol = "[❮](green)" + +# [git_branch] +# format = "[$branch]($style)" +# style = "bright-black" + +# [git_status] +# format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)" +# style = "#FF9966" +# conflicted = "" +# untracked = "" +# modified = "" +# staged = "" +# renamed = "" +# deleted = "" +# stashed = "≡ " + +# [git_state] +# format = '\([$state( $progress_current/$progress_total)]($style)\) ' +# style = "bright-black" + +# [cmd_duration] +# format = "[$duration]($style) " +# style = "yellow" + +# [python] +# format = "[$virtualenv]($style) " +# style = "bright-black" + +# [rust] +# symbol = "rs " +# format = "[$symbol]($style)" + +# [golang] +# symbol = "go " +# format = "[$symbol]($style)" diff --git a/dot_config/zellij/config.kdl.tmpl b/dot_config/zellij/config.kdl.tmpl index 918d667..6b19062 100644 --- a/dot_config/zellij/config.kdl.tmpl +++ b/dot_config/zellij/config.kdl.tmpl @@ -278,7 +278,12 @@ default_layout "compact" // // copy_command "xclip -selection clipboard" // x11 +{{ if .homebrew }} +copy_command "pbcopy" +{{ else }} copy_command "wl-copy" // wayland +{{ end }} + // Choose the destination for copied text diff --git a/dot_gitconfig.tmpl b/dot_gitconfig.tmpl index a55952d..e568b7d 100644 --- a/dot_gitconfig.tmpl +++ b/dot_gitconfig.tmpl @@ -12,6 +12,12 @@ path = .gitconfig_front [includeIf "gitdir:~/.config/nvim/"] path = .gitconfig_front +{{ if .understory }} +[url "git@github.com:understory-io"] + insteadOf = https://github.com/understory-io +{{ end }} +[url "git@github.com:kjuulh"] + insteadOf = https://github.com/kjuulh [init] defaultBranch = main [filter "lfs"] @@ -54,5 +60,5 @@ difftool = true [rerere] enabled = true -[commit] - gpgsign = true +# [commit] +# gpgsign = true diff --git a/dot_zimrc.tmpl b/dot_zimrc.tmpl index f339d04..86f7355 100644 --- a/dot_zimrc.tmpl +++ b/dot_zimrc.tmpl @@ -12,6 +12,9 @@ zmodule zsh-users/zsh-completions --fpath src #zmodule ohmyzsh/ohmyzsh --root lib/clipboard zmodule kjuulh/zim-kjuulh +{{ if .understory }} +zmodule ssh://git@github.com/understory-io/zsh-utils.git --use git +{{ end }} #zmodule junegunn/fzf --on-pull './install --bin' diff --git a/dot_zshrc.tmpl b/dot_zshrc.tmpl index 6af4d23..5246d1c 100644 --- a/dot_zshrc.tmpl +++ b/dot_zshrc.tmpl @@ -67,6 +67,9 @@ source ~/bin/zimfwupdate.sh eval "$(zoxide init zsh)" eval "$(gitnow init zsh)" eval "$(non shell zsh)" +eval "$(kignore init zsh)" +eval "$(starship init zsh)" +eval "$(atuin init zsh)" alias ,="source ,cd" alias ,g="source ,ccd" @@ -78,13 +81,17 @@ alias python=python3 alias pip=pip3 alias ll="eza -l -g --icons" alias ls="eza --icons" + alias m="mise run" +alias mw="mise watch" + +alias ,s="nossh" +alias ssh="nossh" export OPENAI_API_KEY={{ .openai_token | quote }} -eval "$(starship init zsh)" -eval "$(atuin init zsh)" + {{ if .homebrew }} eval "$(/opt/homebrew/bin/mise activate zsh)" @@ -112,4 +119,18 @@ export SHUTTLE_EXTENSIONS_REGISTRY="git=git@github.com:kjuulh/shuttle-extensions export SHUTTLE_EXTENSIONS_GITHUB_ACCESS_TOKEN="$GITHUB_TOKEN" export CUDDLE_PLEASE_TOKEN=$GITEA_ACCESS_TOKEN +{{ if .understory }} +# Understory +# === + +alias aws-dev="aws-mfa --duration 3600 --profile understory --assume-role arn:aws:iam::115578597962:role/Developer --short-term-suffix dev --long-term-suffix none" +alias aws-stage="aws-mfa --duration 3600 --profile understory --assume-role arn:aws:iam::446474216075:role/Developer --short-term-suffix stage --long-term-suffix none" +alias aws-prod="aws-mfa --duration 3600 --profile understory --assume-role arn:aws:iam::189949407637:role/Developer --short-term-suffix prod --long-term-suffix none" + +export GOPRIVATE=github.com/understory-io +export SCAFFOLD_REGISTRY=git@github.com:understory-io/scaffold-registry.git + +# === +{{ end }} + #zprof diff --git a/private_dot_ssh/private_executable_config.tmpl b/private_dot_ssh/private_executable_config.tmpl index 2fe6f1f..b14bb10 100644 --- a/private_dot_ssh/private_executable_config.tmpl +++ b/private_dot_ssh/private_executable_config.tmpl @@ -16,6 +16,7 @@ Host front Port 222 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host tablet @@ -23,6 +24,7 @@ Host tablet Port 8022 User u0_a617 PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host ratchet @@ -35,6 +37,7 @@ Host ratchet Host server Hostname 10.0.9.2 User hermansen + IdentitiesOnly yes PubKeyAuthentication yes IdentityFile ~/.ssh/id_clank @@ -42,12 +45,14 @@ Host nef Hostname 192.168.96.153 User kjuulh PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host nef_remote Hostname 10.0.9.18 User kjuulh PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank @@ -60,6 +65,7 @@ Host clank_postgres Hostname 10.0.9.8 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_bigboks_0 @@ -67,6 +73,7 @@ Host clank_bigboks_0 Hostname 10.0.10.0 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_raw_front @@ -74,6 +81,7 @@ Host clank_raw_front Hostname 10.0.9.14 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_crdb @@ -81,6 +89,7 @@ Host clank_crdb Hostname 10.0.9.15 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_crdb_agent_0 @@ -88,220 +97,202 @@ Host clank_crdb_agent_0 Hostname 10.0.9.16 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host wg_clank_bigboks_0 Hostname 10.0.10.0 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_smolboks_0 Hostname 10.0.11.0 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_smolboks_1 Hostname 10.0.10.6 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_smolboks_2 Hostname 10.0.10.7 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_smolboks_3 Hostname 10.0.13.0 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_testboks_0 Hostname 10.0.12.1 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_monitoring Hostname 10.0.9.6 User root PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host drone Hostname 10.0.11.3 User drone-1 PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_matrix Hostname 10.0.11.4 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_renovate Hostname 10.0.11.5 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_harbor Hostname 10.0.11.6 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_storage Hostname 10.0.11.7 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_vault Hostname 10.0.11.8 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_zitadel Hostname 10.0.11.9 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_todo Hostname 10.0.11.10 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_blog Hostname 10.0.11.11 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_reserve_me Hostname 10.0.11.12 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_atuin Hostname 10.0.11.13 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_gitea Hostname 10.0.11.14 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_content Hostname 10.0.11.15 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_bitebuds Hostname 10.0.11.16 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_plausible Hostname 10.0.11.17 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_loki Hostname 10.0.11.18 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_releaser Hostname 10.0.11.19 User root PubKeyAuthentication yes - IdentitiesOnly true + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host clank_postgresql Hostname 10.0.11.20 User root PubKeyAuthentication yes - IdentitiesOnly true - IdentityFile ~/.ssh/id_clank - -Host windmill - Hostname 10.0.13.4 - User root - PubKeyAuthentication yes - IdentityFile ~/.ssh/id_clank - -Host node_ollama - Hostname 10.0.13.5 - User root - PubKeyAuthentication yes - IdentityFile ~/.ssh/id_clank - -Host node_data - Hostname 10.0.13.6 - User root - PubKeyAuthentication yes - IdentityFile ~/.ssh/id_clank - -Host harbor - Hostname 10.0.10.3 - User root - PubKeyAuthentication yes + IdentitiesOnly yes IdentityFile ~/.ssh/id_clank Host hass Hostname 10.0.11.2 Port 22222 User root + IdentitiesOnly yes PubKeyAuthentication yes IdentityFile ~/.ssh/id_clank Host clank_loki Hostname 10.0.10.4 User root + IdentitiesOnly yes PubKeyAuthentication yes IdentityFile ~/.ssh/id_clank -Host ratchet_parts - Hostname 10.0.9.5 - User root - PubKeyAuthentication yes - Host ratchet_monitoring - Hostname 10.0.9.6 + # Hostname 10.0.9.6 + Hostname kjuulh-status.netbird.selfhosted User root PubKeyAuthentication yes @@ -338,8 +329,140 @@ Host netbird IdentitiesOnly yes IdentityFile ~/.ssh/id_clank -{{ if .homebrew }} -{{ else }} +Host internal-k8s-ingress-01 + Hostname 10.1.0.6 + Port 22 + User root + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_clank +Host internal-k8s-ingress-02 + Hostname 10.1.0.7 + Port 22 + User root + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_clank + +Host home-k8s-01 + Hostname k8s-master-01.netbird.selfhosted + Port 22 + User root + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_clank +Host home-k8s-02 + Hostname k8s-master-02.netbird.selfhosted + Port 22 + User root + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_clank +Host home-k8s-03 + Hostname k8s-master-03.netbird.selfhosted + Port 22 + User root + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_clank + +Host k8s-lb-01 + #Hostname 91.99.193.111 + Hostname k8s-lb-01.netbird.selfhosted + Port 22 + User root + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_clank + +Host k8s-agent-01 + #Hostname 91.99.193.111 + Hostname k8s-agent-01.netbird.selfhosted + Port 22 + User root + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_clank + +Host nef_backup + IdentityAgent '~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock' + Hostname 10.0.9.18 + User backup-user +Host prod-k8s-ingress-01 + Hostname 91.99.92.102 + Port 22 + User root + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_clank +Host prod-k8s-ingress-02 + Hostname 91.99.185.44 + Port 22 + +{{ if .understory }} +Host dashboard-01 + Hostname dashboard-01.tail7b1097.ts.net +# Hostname dashboard-01 + Port 22 + User dashboard-01 + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_dashboard + +Host etl-ec2 + #Hostname ec2-3-249-96-196.eu-west-1.compute.amazonaws.com + Hostname ec2-18-200-255-62.eu-west-1.compute.amazonaws.com + #Hostname ec2-3-253-194-97.eu-west-1.compute.amazonaws.com + Port 22 + User ec2-user + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_ed25519 + +Host clickhouse + Hostname 10.0.10.167 + Port 22 + User ec2-user + IdentityAgent '~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock' + +Host data-services + Hostname data-services + Port 22 + User ec2-user + IdentityAgent '~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock' + +Host dashboard-02 + Hostname dashboard-02.tail7b1097.ts.net +# Hostname dashboard-02 + Port 22 + User dashboard-02 + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_dashboard + +Host dashboard-03 +# Hostname dashboard-03.tail7b1097.ts.net + Hostname dashboard-03 + Port 22 + User dashboard-03 + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_dashboard + +Host data-integration + Hostname 100.97.57.21 + Port 22 + User ec2-user + IdentityAgent '~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock' + +Host etl + Hostname 100.84.251.80 + Port 22 + User ec2-user + PubKeyAuthentication yes + IdentitiesOnly yes + IdentityFile ~/.ssh/id_ed25519 +{{ end }} + Host * SetEnv TERM=xterm-256color -{{ end }}