Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 17 additions & 8 deletions chezmoi/.chezmoidata/packages-system.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

# Docker replacement
"orbstack",
"augani/dory/dory",
# "augani/dory/dory",

# Optional
# "amazon-q",
Expand Down Expand Up @@ -195,8 +195,9 @@
"sops",
# "varlock", # env with schema

# @container
"lazydocker", # Docker manager
# @isolation
"docker/tap/sbx", # docker sandboxes
"lazydocker", # Docker manager

"awscli",
# "koyeb/tap/koyeb", # Koyeb CLI
Expand Down Expand Up @@ -343,12 +344,13 @@
[packages.homebrew.personal]
casks = [
# Browsers
"brave-browser",
"comet",
"aside", # agentic browser
"brave-browser", # traditional browser
# "comet", # agentic browser
# "google-chrome",
# "helium-browser",
# "thebrowsercompany-dia", # Dia Browser
"zen", # Browser
# "helium-browser", # traditional browser
# "thebrowsercompany-dia", # agentic browser
"zen", # traditional browser

# Productivity & Knowledge
# "anki",
Expand Down Expand Up @@ -451,6 +453,10 @@
"presenterm", # Presentation in CLI

"tuxedo", # task management TUI

# Media
"LargeModGames/spotatui/spotatui", # Terminal music player

# Window Management
"felixkratz/formulae/borders",

Expand Down Expand Up @@ -648,6 +654,9 @@
"asciinema", # record your terminal
"superfile", # file manager in terminal

# Media
"spotatui-bin", # Terminal music player

# Development Tools
"opencode-bin",
"fd",
Expand Down
2 changes: 1 addition & 1 deletion chezmoi/.chezmoiexternals/external-mac-apps.toml.tmpl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{ if and (eq .chezmoi.os "darwin") .features.graphical }}
{{ if and (eq .chezmoi.os "darwin") .features.graphical .features.personal }}

{{- range .macos_external_app }}
{{- if and .app_name .download_url }}
Expand Down
2 changes: 1 addition & 1 deletion chezmoi/.chezmoiexternals/my-project.toml.tmpl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{ if eq .secrets.provider "onepassword" }}
{{ if and (eq .secrets.provider "onepassword") .features.personal }}

# If file <key>.pub (public key) exist in ~/.ssh_keys directory
{{- if stat (joinPath .chezmoi.homeDir ".ssh_keys" "ghcny.pub") }}
Expand Down
15 changes: 15 additions & 0 deletions chezmoi/.chezmoiignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,27 @@ Library
.config/ghostty
.config/hypr
.config/karabiner
.config/kitty
.config/launchpallete
.config/rift
.config/wezterm
Library/Application Support/Leader Key
{{ end }}

{{ if not .features.personal }}
# Personal-only configs are opt-in. Company machines without the `personal`
# feature skip these so nothing non-development is deployed.
# Note: `private_` source prefixes are stripped in target paths, so
# `private_hermes` matches `.config/hermes` and `private_agent.toml`
# matches `agent.toml`.
.config/1Password/ssh/agent.toml
.config/bunch
.config/espanso
.config/hermes
.config/launchpallete
.config/zed
{{ end }}

{{- $is_ci := ne (env "CI") "" -}}
{{- $skip_encrypted := or (not .encrypted_files.enabled) $is_ci -}}
{{ if $skip_encrypted }}
Expand Down
96 changes: 96 additions & 0 deletions chezmoi/bin/executable_update-fish-completions
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
#!/usr/bin/env bash

set -euo pipefail

command -v chezmoi >/dev/null 2>&1 || {
echo "chezmoi is required to locate the source state." >&2
exit 1
}
command -v cmp >/dev/null 2>&1 || {
echo "cmp is required to compare completion files." >&2
exit 1
}

source_dir="$(chezmoi source-path)"
completion_source_dir="$source_dir/dot_config/fish/completions"
tmpdir="$(mktemp -d "${TMPDIR:-/tmp}/update-fish-completions.XXXXXXXX")"
trap 'rm -rf "$tmpdir"' EXIT

generated=()
generated_count=0

generate_stdout() {
local cli="$1"
local filename="$2"
shift 2

if ! command -v "$cli" >/dev/null 2>&1; then
printf 'Skipping %s: command is not installed.\n' "$cli"
return
fi

printf 'Generating %s completion...\n' "$cli"
"$@" > "$tmpdir/$filename"
if [[ ! -s "$tmpdir/$filename" ]]; then
printf 'Error: %s generated an empty completion file.\n' "$cli" >&2
exit 1
fi
chmod 0644 "$tmpdir/$filename"
generated+=("$filename")
generated_count=$((generated_count + 1))
}

generate_stdout herdr herdr.fish herdr completion fish
generate_stdout atuin atuin.fish atuin gen-completions --shell fish
generate_stdout proto proto.fish proto completions --shell fish

if command -v pueue >/dev/null 2>&1; then
printf 'Generating pueue completion...\n'
pueue completions fish "$tmpdir"
if [[ ! -s "$tmpdir/pueue.fish" ]]; then
echo "Error: pueue did not generate pueue.fish." >&2
exit 1
fi
chmod 0644 "$tmpdir/pueue.fish"
generated+=(pueue.fish)
generated_count=$((generated_count + 1))
else
printf 'Skipping pueue: command is not installed.\n'
fi

generate_stdout taplo taplo.fish taplo completions fish

if [[ "$generated_count" -eq 0 ]]; then
printf 'No completion generators are installed.\n'
exit 0
fi

changed_count=0

for filename in "${generated[@]}"; do
source_filename="$filename"
if [[ "$filename" == atuin.fish ]]; then
source_filename=private_atuin.fish
fi
source_path="$completion_source_dir/$source_filename"
generated_file="$tmpdir/$filename"
if [[ ! -f "$source_path" ]]; then
printf 'Error: managed source file was not found: %s\n' "$source_path" >&2
exit 1
fi

if cmp -s "$generated_file" "$source_path"; then
printf 'Unchanged: %s\n' "$filename"
continue
fi

cp "$generated_file" "$source_path"
changed_count=$((changed_count + 1))
printf 'Updated source state: %s\n' "$source_path"
done

if [[ "$changed_count" -gt 0 ]]; then
printf "Run 'chezmoi apply' to update the installed Fish completions.\n"
else
printf 'Fish completions are already up to date.\n'
fi
16 changes: 12 additions & 4 deletions chezmoi/dot_config/aerospace/aerospace.toml
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,6 @@ start-at-login = false
if.app-id = "com.apidog.app"
run = "move-node-to-workspace 2"

[[on-window-detected]]
if.app-id = "dev.kdrag0n.MacVirt"
run = "move-node-to-workspace 2"

[[on-window-detected]]
if.app-id = "com.jetbrains.datagrip"
run = "move-node-to-workspace 2"
Expand All @@ -123,6 +119,10 @@ start-at-login = false
if.app-id = "app.zen-browser.zen"
run = "move-node-to-workspace 2"

[[on-window-detected]]
if.app-id = "at.studio.AsideBrowser"
run = "move-node-to-workspace 2"

[[on-window-detected]]
if.app-id = "company.thebrowser.dia"
run = "move-node-to-workspace 2"
Expand All @@ -143,6 +143,14 @@ start-at-login = false
if.app-id = "ai.perplexity.comet"
run = "move-node-to-workspace 2"

[[on-window-detected]]
if.app-id = "com.openai.codex"
run = "move-node-to-workspace 3"

[[on-window-detected]]
if.app-id = "dev.kdrag0n.MacVirt"
run = "move-node-to-workspace 3"

[[on-window-detected]]
if.app-id = "notion.id"
run = "move-node-to-workspace 4"
Expand Down
1 change: 1 addition & 0 deletions chezmoi/dot_config/fish/conf.d/90_jw.fish
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
jw shell init fish | source
2 changes: 1 addition & 1 deletion chezmoi/dot_config/herdr/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ onboarding = false
tab_bar_position = "bottom"

[keys]
prefix = "ctrl+a"
prefix = "ctrl+b"

# worktree
new_worktree = "prefix+W"
Expand Down
4 changes: 2 additions & 2 deletions chezmoi/dot_config/kanata/parts/chords.kbd.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@

(defchordsv2
{{- if eq .chezmoi.os "darwin" }}
;; (m ,) C-a $input-chord-time all-released ()
;; (m ,) C-b $input-chord-time all-released ()
(i o) A-left 20 all-released ()
(o p) A-right 20 all-released ()

{{- else if eq .chezmoi.os "linux" }}
;; (m ,) C-a $input-chord-time all-released ()
;; (m ,) C-b $input-chord-time all-released ()
(i o) C-left 20 all-released ()
(o p) C-right 20 all-released ()
{{- end }}
Expand Down
6 changes: 2 additions & 4 deletions chezmoi/dot_config/kanata/parts/core.kbd.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
dtn S-C-A-M-f5 ;; Dictation
dnd S-C-A-M-f6 ;; Do Not Disturb

;; Used by the base, tmux, and zellij layers.
;; Used by the base and tmux layers.
lwh_symbols (layer-while-held symbols)
thl-spc-symbols (tap-hold $tap-time $hold-time spc @lwh_symbols)
)
Expand All @@ -23,8 +23,6 @@
thl-ret-herdr (tap-hold $tap-time $hold-time ret @lwh_herdr)
thl-sls-tmux (tap-hold $tap-time $hold-time / @lwh_tmux)
thl-z-tmux (tap-hold $tap-time $hold-time z @lwh_tmux)
thl-v-zlj (tap-hold $tap-time $hold-time v (layer-while-held zellij))
thl-m-zlj (tap-hold $tap-time $hold-time m (layer-while-held zellij))

;; Home-row modifiers and sublayer access.
a (tap-hold $tap-time $hold-time a (layer-while-held sublayers))
Expand All @@ -49,7 +47,7 @@
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
@lmet_tab q w e r t y u i o p [ ] \
@thl-caps-nav @a @s @d @f g h @j @k @l @; ' @thl-ret-herdr
lsft @thl-z-tmux x c @thl-v-zlj b n @thl-m-zlj , . @thl-sls-tmux rsft
lsft @thl-z-tmux x c v b n m , . @thl-sls-tmux rsft
lctl lmet lalt @thl-spc-symbols ralt rmet rctl
)

Expand Down
38 changes: 19 additions & 19 deletions chezmoi/dot_config/kanata/parts/herdr.kbd
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
;; HERDR layer and aliases.
(defalias
herdr-workspace-1 (macro C-a C-1)
herdr-workspace-2 (macro C-a C-2)
herdr-workspace-3 (macro C-a C-3)
herdr-workspace-4 (macro C-a C-4)
herdr-workspace-5 (macro C-a C-5)
herdr-workspace-6 (macro C-a C-6)
herdr-workspace-7 (macro C-a C-7)
herdr-workspace-8 (macro C-a C-8)
herdr-workspace-9 (macro C-a C-9)
herdr-workspace-1 (macro C-b C-1)
herdr-workspace-2 (macro C-b C-2)
herdr-workspace-3 (macro C-b C-3)
herdr-workspace-4 (macro C-b C-4)
herdr-workspace-5 (macro C-b C-5)
herdr-workspace-6 (macro C-b C-6)
herdr-workspace-7 (macro C-b C-7)
herdr-workspace-8 (macro C-b C-8)
herdr-workspace-9 (macro C-b C-9)

herdr-agent-1 (macro C-a A-1)
herdr-agent-2 (macro C-a A-2)
herdr-agent-3 (macro C-a A-3)
herdr-agent-4 (macro C-a A-4)
herdr-agent-5 (macro C-a A-5)
herdr-agent-6 (macro C-a A-6)
herdr-agent-7 (macro C-a A-7)
herdr-agent-8 (macro C-a A-8)
herdr-agent-9 (macro C-a A-9)
herdr-agent-1 (macro C-b A-1)
herdr-agent-2 (macro C-b A-2)
herdr-agent-3 (macro C-b A-3)
herdr-agent-4 (macro C-b A-4)
herdr-agent-5 (macro C-b A-5)
herdr-agent-6 (macro C-b A-6)
herdr-agent-7 (macro C-b A-7)
herdr-agent-8 (macro C-b A-8)
herdr-agent-9 (macro C-b A-9)

herdr-pane-zoom (macro C-a z)
herdr-pane-zoom (macro C-b z)
)

(deflayer herdr
Expand Down
2 changes: 1 addition & 1 deletion chezmoi/dot_config/kanata/parts/tmux.kbd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
;; TMUX layer and aliases.
(defalias
tmux-prefix C-a
tmux-prefix C-b

tx-new-window (macro @tmux-prefix c) ;; New window.
tx-new-session (macro @tmux-prefix S-s)
Expand Down
49 changes: 0 additions & 49 deletions chezmoi/dot_config/kanata/parts/zellij.kbd

This file was deleted.

1 change: 0 additions & 1 deletion chezmoi/dot_config/kanata/row-staggered.kbd.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
(include "parts/core.kbd")
(include "parts/tmux.kbd")
(include "parts/herdr.kbd")
(include "parts/zellij.kbd")

{{ if eq .chezmoi.os "darwin" -}}
(include "parts/raycast.kbd")
Expand Down
Loading
Loading