Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
2bf6e53
refactor: replace Ansible with mise modules
TechDufus Oct 10, 2026
a36e56d
fix(omarchy): reload Hyprland from any shell
TechDufus Oct 10, 2026
46b0f6e
fix(omarchy): ignore stale Hyprland signatures
TechDufus Oct 10, 2026
4daaf87
fix(devtools): allow reviewed svelte@4.2.20
TechDufus Oct 11, 2026
a869932
fix(devtools): stop shadowing the Omarchy node pin
TechDufus Oct 11, 2026
bfdcbd4
fix(secrets): keep jj email in sync with 1Password
TechDufus Oct 11, 2026
133b8fa
refactor: link read-only configs instead of copying
TechDufus Oct 11, 2026
82c74b9
test(omp): parse-check extensions without type deps
TechDufus Oct 11, 2026
3e11783
docs(readme): add badge, callouts, flow diagram
TechDufus Oct 11, 2026
720f41f
fix(1password): install it from a fail-soft task
TechDufus Oct 11, 2026
56124d3
fix(bin): stop on Intel Macs, test bootstrap
TechDufus Oct 14, 2026
da25347
ci: add a scoped real-apply job
TechDufus Oct 14, 2026
8e8b7a2
docs(readme): note supported machines
TechDufus Oct 14, 2026
6015878
chore: drop goenv and rbenv leftovers
TechDufus Oct 14, 2026
e990219
feat(zsh): restyle p10k after Tern's prompt
TechDufus Oct 14, 2026
80b88b5
fix(bin): stop when mise is too old for modules
TechDufus Oct 14, 2026
5b01cef
ci: fail when the modules do not load
TechDufus Oct 14, 2026
5a6f95b
feat(bin): give dotfiles a live summary view
TechDufus Oct 14, 2026
7dc8e7f
chore(base): use catppuccin for mise prompts
TechDufus Oct 14, 2026
139b644
fix(bin): move aside files that block a link
TechDufus Oct 14, 2026
dc33b15
fix(herdr): keep ctrl+b as the prefix on Omarchy
TechDufus Oct 15, 2026
f39a02a
feat(omarchy): summon Grok Bot on CapsLock, G
TechDufus Oct 15, 2026
3f71432
fix(mise): leave Omarchy-wrapped tools to Omarchy
TechDufus Oct 15, 2026
0938ba4
chore(omp): stop auto-updating omp in overlay launchers
TechDufus Oct 15, 2026
d1860e2
feat(omarchy): stacked cells and per-screen layouts
TechDufus Oct 15, 2026
57c7104
feat(tern): bracket block and session-tab keys on Linux
TechDufus Oct 15, 2026
0d10c82
feat(omarchy): home the browser on workspace 1
TechDufus Oct 15, 2026
92bfbd4
fix(tern): move session-tab keys to Ctrl+Alt brackets
TechDufus Oct 15, 2026
ff58751
feat(omarchy): CapsLock, CapsLock, p picks the screen layout
TechDufus Oct 15, 2026
0886b1a
feat(omarchy): tighter window gaps
TechDufus Oct 15, 2026
3e614f6
docs(readme): say only link targets are kept
TechDufus Oct 15, 2026
5324248
feat(omarchy): manage themes and the default
TechDufus Oct 15, 2026
0c77ccc
chore(omarchy): default to catppuccin, no pulsar
TechDufus Oct 15, 2026
bd83d0c
fix(mise): prepare safe MacBook cutover
TechDufus Oct 15, 2026
90f4b87
fix(claude): drop Mac Herdr hook registration
TechDufus Oct 15, 2026
19efdc2
fix(macos): finish mise migration cutover
TechDufus Oct 15, 2026
46b1884
fix(ui): tune Neovim transparency and key repeat
TechDufus Oct 15, 2026
e304ce3
fix(mise): close migration readiness gaps
TechDufus Oct 16, 2026
74583ce
chore(mise): integrate current main
TechDufus Oct 16, 2026
7412936
fix(omarchy): detect home-based installations
TechDufus Oct 16, 2026
5901611
feat(omarchy): install ayaka, make it the default
TechDufus Oct 16, 2026
a3143d4
chore(mise): merge upstream migration changes
TechDufus Oct 16, 2026
8d3cc2b
feat(btop): own settings keys, let Omarchy theme it
TechDufus Oct 16, 2026
6d19f1f
feat(btop): show the GPU box on Omarchy
TechDufus Oct 16, 2026
67d5d50
feat(mise): add work and personal app rules
TechDufus Oct 16, 2026
e4dbe05
feat(tern): default the chat style to Console
TechDufus Oct 17, 2026
477bae8
feat(omarchy): port multi-monitor window moves
TechDufus Oct 18, 2026
eafcc66
fix(omarchy): accept F13 as the summon leader
TechDufus Oct 18, 2026
6a82a55
fix(omarchy): move tiled windows back into cells
TechDufus Oct 18, 2026
d3ebf49
feat(omarchy): add omp usage and GitHub to the bar
TechDufus Oct 18, 2026
f527dae
fix(omarchy): pin bar plugins to reviewed commits
TechDufus Oct 18, 2026
3a3e0a5
fix(omarchy): let bar plugins follow upstream again
TechDufus Oct 18, 2026
01978e9
feat(omarchy): keep bar plugins on latest main
TechDufus Oct 18, 2026
b1cb2d7
fix(omarchy): update bar plugins with omarchy update
TechDufus Oct 18, 2026
8ebb899
chore(kitty): set font size to 8
TechDufus Oct 18, 2026
898d3b7
feat(omarchy): keep every window fully opaque
TechDufus Oct 18, 2026
6245ba8
docs(omarchy): narrow when fullscreen windows return to cells
TechDufus Oct 18, 2026
6fd80e9
feat(omarchy): end every cell layout with a full-screen cell
TechDufus Oct 18, 2026
1dab04f
feat(k9s): theme k9s from the Omarchy theme
TechDufus Oct 18, 2026
4e03756
fix(k9s): install the Omarchy skin on first bootstrap
TechDufus Oct 18, 2026
5e6a399
fix(omarchy): keep fullscreen in sync across reloads
TechDufus Oct 18, 2026
239155e
test(omarchy): cover fullscreen restore after reload
TechDufus Oct 18, 2026
339800a
feat(omp): point /cloud at the omp-cloud service
TechDufus Oct 20, 2026
452ba91
feat(zsh): export OMP_CLOUD_TOKEN from 1Password
TechDufus Oct 20, 2026
8fc43d0
feat(omarchy): add OmaSwitch as the Alt+Tab switcher
TechDufus Oct 20, 2026
896b4c7
fix(zsh): drop OpenMonitor secrets so `secret` refreshes again
TechDufus Oct 20, 2026
3a73c02
fix(hammerspoon): swap Tern and Ghostty keys
TechDufus Oct 20, 2026
ed6c65d
feat(omp): install the omp-cloud plugin
TechDufus Oct 22, 2026
6f47f43
fix(omp): point cloud at the homelab omp-cloud host
TechDufus Oct 22, 2026
39dcb07
docs(readme): add banner, hero and reference layout
TechDufus Oct 23, 2026
19e8156
docs(agents): state rules, not config inventories
TechDufus Oct 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
124 changes: 0 additions & 124 deletions .githooks/pre-commit

This file was deleted.

Binary file added .github/assets/dry-run.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/failure.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/header-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/header-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions .github/assets/render/capture-fixtures.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env bash
# Regenerates fixtures/ from read-only mise queries. render.py does NOT need this
# (the fixtures are committed); run it only to refresh them after the modules change.
#
# plan.json, dot.json, tasks `mise bootstrap plan --json`, `mise dot status --json`,
# `mise tasks ls --name-only` against the real HOME. All three
# only read; the JSON is reduced to the fields bin/dotfiles uses
# (no paths).
# dry-<stage>.txt `mise bootstrap --dry-run --only <parts>` against an isolated,
# empty HOME (a fresh-machine rehearsal, MISE_OFFLINE=1), with
# the temporary prefixes rewritten to /home/techdufus. Offline
# mise cannot resolve versions, so dry-tools.txt is built from
# `mise ls --json` in mise's "<tool>@<version> ⇢ would install"
# format and the offline version warnings are dropped.
#
# Never touches the real HOME's config, state or packages.
set -euo pipefail

here=$(cd "$(dirname "$0")" && pwd)
repo=$(cd "$here/../../.." && pwd)
fx=$here/fixtures
mkdir -p "$fx"

cd "$HOME"
mise bootstrap plan --json | jq -c '{resources: [.resources[] | {id, action}]}' >"$fx/plan.json"
mise dot status --json | jq -c '{files: [(.files // [])[] | {state}], edits: [(.edits // [])[] | {state}]}' >"$fx/dot.json"
mise tasks ls --name-only >"$fx/tasks"

sb=$(mktemp -d "${TMPDIR:-/tmp}/dotfiles-fixtures.XXXXXX")
trap 'rm -rf "$sb"' EXIT
mkdir -p "$sb/home" "$sb/mise" "$sb/data" "$sb/state" "$sb/cache"
ln -s "$repo/modules" "$sb/mise/conf.d"
printf 'auto_env = true\nenv = ["omarchy", "personal"]' >"$sb/mise/miserc.local.toml"

dry() { # dry <fixture name> <parts>
(cd "$sb/home" && env -i HOME="$sb/home" PATH="$PATH" TERM=dumb NO_COLOR=1 \
XDG_CONFIG_HOME="$sb/home/.config" XDG_DATA_HOME="$sb/data" XDG_STATE_HOME="$sb/state" XDG_CACHE_HOME="$sb/cache" \
MISE_CONFIG_DIR="$sb/mise" MISE_DATA_DIR="$sb/data/mise" MISE_STATE_DIR="$sb/state/mise" MISE_CACHE_DIR="$sb/cache/mise" \
MISE_OFFLINE=1 MISE_TASK_RUN_AUTO_INSTALL=0 MISE_TRUSTED_CONFIG_PATHS="$sb" \
mise bootstrap --yes --dry-run --only "$2" 2>&1 || true) |
sed "s#$sb/mise#/home/techdufus/.config/mise#g; s#$sb/home#/home/techdufus#g; s#$sb#/home/techdufus#g" >"$fx/dry-$1.txt"
}
dry packages accounts,plugins,packages
dry system files,services,firewall,compose
dry dotfiles repos,dotfiles
dry shell mise-shell-activate,macos-defaults,macos-launchd-agents,linux-systemd-units,user
dry modules task,final-hook
sed -i '/^mise WARN/d' "$fx/dry-modules.txt"
{
echo 'mise bootstrap: tools'
mise ls --json | jq -r 'to_entries[] | select(.value | length > 0) | "mise \(.key)@\(.value[0].version) ⇢ would install"' | sort
} >"$fx/dry-tools.txt"
wc -l "$fx"/dry-*.txt
3 changes: 3 additions & 0 deletions .github/assets/render/fixtures/apply-dotfiles.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
mise bootstrap: repos
mise bootstrap: dotfiles
mise dotfiles: 2 updated, 86 already in place
19 changes: 19 additions & 0 deletions .github/assets/render/fixtures/apply-modules.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
mise bootstrap: running `bootstrap` task
[bootstrap] $ mise run --jobs 1 'bootstrap:*'
[bootstrap:1password] sources up-to-date, skipping
[bootstrap:btop] $ bash settings.sh
btop: set owned keys in ~/.config/btop/btop.conf
[bootstrap:cursor] $ bash bootstrap.sh
[bootstrap:devtools] $ bash bootstrap.sh
[bootstrap:gh] $ bash bootstrap.sh
[bootstrap:git] $ python3 bootstrap.py
[bootstrap:k9s] $ bash bootstrap.sh
[bootstrap:obsidian] sources up-to-date, skipping
[bootstrap:omarchy] $ bash bootstrap.sh
[bootstrap:omarchy-plugins] $ bash bootstrap.sh
[bootstrap:omarchy-theme] sources up-to-date, skipping
[bootstrap:omp] $ bash bootstrap.sh
[bootstrap:secrets] sources up-to-date, skipping
[bootstrap:system] sources up-to-date, skipping
[bootstrap:taskfile] sources up-to-date, skipping
[bootstrap:tern] $ bash bootstrap.sh
3 changes: 3 additions & 0 deletions .github/assets/render/fixtures/apply-packages.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
mise bootstrap: system packages
mise pacman: 50 package(s) already installed
mise pacman: installing lazygit
2 changes: 2 additions & 0 deletions .github/assets/render/fixtures/apply-shell.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mise bootstrap: login shell
mise login_shell: already set to /usr/bin/zsh
2 changes: 2 additions & 0 deletions .github/assets/render/fixtures/apply-system.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mise bootstrap: system files
mise system files: already converged
5 changes: 5 additions & 0 deletions .github/assets/render/fixtures/apply-tools.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
mise bootstrap: tools
mise actionlint@1.7.12 download actionlint_1.7.12_linux_amd64.tar.gz
mise actionlint@1.7.12 install
mise cosign@3.1.3 download cosign-linux-amd64
mise cosign@3.1.3 install
1 change: 1 addition & 0 deletions .github/assets/render/fixtures/dot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"files":[{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"differs"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"}],"edits":[{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"applied"},{"state":"differs"},{"state":"applied"},{"state":"applied"}]}
93 changes: 93 additions & 0 deletions .github/assets/render/fixtures/dry-dotfiles.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
mise bootstrap: repos
git clone https://github.com/abhijeet-swami/omarchy-ayaka-theme.git /home/techdufus/.config/omarchy/themes/ayaka
git clone https://github.com/iamanro/omarchy-omp-usage.git /home/techdufus/.config/omarchy/plugins/iamanro.omp-usage
git clone https://github.com/robzolkos/omarchy-github.git /home/techdufus/.config/omarchy/plugins/robzolkos.github
git clone https://github.com/piyush97/omaswitch.git /home/techdufus/.config/omarchy/plugins/piyush.omaswitch
mise bootstrap: dotfiles
mise WARN [dotfiles]."~/.cursor/cli-config.json": ~/.cursor/cli-config.json does not exist; permissions not set
mise WARN [dotfiles]."~/.omp/agent/mcp.json": ~/.omp/agent/mcp.json does not exist; permissions not set
mise WARN [dotfiles]."~/.ssh": ~/.ssh does not exist; permissions not set
cp /home/techdufus/.config/mise/conf.d/1password/agent.toml ~/.config/1Password/ssh/agent.toml
ln -sf /home/techdufus/.config/mise/conf.d/claude/settings.json ~/.claude/settings.json
ln -sf /home/techdufus/.config/mise/conf.d/claude/scripts ~/.claude/scripts
ln -sf /home/techdufus/.config/mise/conf.d/claude/commands ~/.claude/commands
ln -sf /home/techdufus/.config/mise/conf.d/claude/hooks ~/.claude/hooks
ln -sf /home/techdufus/.config/mise/conf.d/claude/agents ~/.claude/agents
ln -sf /home/techdufus/.config/mise/conf.d/claude/lsp.json ~/.claude/.lsp.json
cp -r /home/techdufus/.config/mise/conf.d/claude/skills/skill-creator ~/.claude/skills/skill-creator
ln -sf /home/techdufus/.config/mise/conf.d/codex/AGENTS.md ~/.codex/AGENTS.md
ln -sf /home/techdufus/.config/mise/conf.d/codex/skills/work ~/.codex/skills/work
ln -sf /home/techdufus/.config/mise/conf.d/codex/skills/github-issue-hierarchy ~/.codex/skills/github-issue-hierarchy
ln -sf /home/techdufus/.config/mise/conf.d/codex/skills/intent ~/.codex/skills/intent
ln -sf /home/techdufus/.config/mise/conf.d/codex/skills/commit ~/.codex/skills/commit
cp -r /home/techdufus/.config/mise/conf.d/codex/agents ~/.codex/agents
ln -sf /home/techdufus/.config/mise/conf.d/cursor/statusline.sh ~/.cursor/statusline.sh
ln -sf /home/techdufus/.config/mise/conf.d/cursor/agents/* into ~/.cursor/agents/ (5 files)
ln -sf /home/techdufus/.config/mise/conf.d/cursor/rules/* into ~/.cursor/rules/ (3 files)
ln -sf /home/techdufus/.config/mise/conf.d/cursor/skills/commit ~/.cursor/skills/commit
ln -sf /home/techdufus/.config/mise/conf.d/cursor/skills/orchestrate ~/.cursor/skills/orchestrate
ln -sf /home/techdufus/.config/mise/conf.d/cursor/skills/ultraresearch ~/.cursor/skills/ultraresearch
ln -sf /home/techdufus/.config/mise/conf.d/cursor/skills/ultrathink ~/.cursor/skills/ultrathink
ln -sf /home/techdufus/.config/mise/conf.d/cursor/skills/verification ~/.cursor/skills/verification
ln -sf /home/techdufus/.config/mise/conf.d/gh/gh-dash/config.yaml ~/.config/gh-dash/config.yaml
ln -sf /home/techdufus/.config/mise/conf.d/ghostty/config ~/.config/ghostty/config
ln -sf /home/techdufus/.config/mise/conf.d/ghostty/shaders/* into ~/.config/ghostty/shaders/ (1 files)
ln -sf /home/techdufus/.config/mise/conf.d/ghostty/themes/* into ~/.config/ghostty/themes/ (1 files)
ln -sf /home/techdufus/.config/mise/conf.d/git/dotfiles.gitconfig ~/.config/git/dotfiles.gitconfig
ln -sf /home/techdufus/.config/mise/conf.d/git/commit_template ~/.config/git/commit_template
ln -sf /home/techdufus/.config/mise/conf.d/lfk/config.yaml ~/.config/lfk/config.yaml
ln -sf /home/techdufus/.config/mise/conf.d/lsd/config.yaml ~/.config/lsd/config.yaml
ln -sf /home/techdufus/.config/mise/conf.d/lsd/colors.yaml ~/.config/lsd/colors.yaml
ln -sf /home/techdufus/.config/mise/conf.d/neovim/nvim ~/.config/nvim
ln -sf /home/techdufus/.config/mise/conf.d/omp/config.yml ~/.omp/agent/config.yml
ln -sf /home/techdufus/.config/mise/conf.d/omp/lsp.json ~/.omp/agent/lsp.json
ln -sf /home/techdufus/.config/mise/conf.d/omp/RULES.md ~/.omp/agent/RULES.md
ln -sf /home/techdufus/.config/mise/conf.d/omp/WATCHDOG.md ~/.omp/agent/WATCHDOG.md
ln -sf /home/techdufus/.config/mise/conf.d/omp/overlays/herd.yml ~/.omp/agent/overlays/herd.yml
ln -sf /home/techdufus/.config/mise/conf.d/omp/overlays/cursor.yml ~/.omp/agent/overlays/cursor.yml
ln -sf /home/techdufus/.config/mise/conf.d/omp/overlays/claude.yml ~/.omp/agent/overlays/claude.yml
ln -sf /home/techdufus/.config/mise/conf.d/omp/overlays/claude-sol.yml ~/.omp/agent/overlays/claude-sol.yml
ln -sf /home/techdufus/.config/mise/conf.d/omp/overlays/codex.yml ~/.omp/agent/overlays/codex.yml
ln -sf /home/techdufus/.config/mise/conf.d/omp/agents/* into ~/.omp/agent/agents/ (5 files)
ln -sf /home/techdufus/.config/mise/conf.d/omp/extensions/* into ~/.omp/agent/extensions/ (2 files)
ln -sf /home/techdufus/.config/mise/conf.d/omp/skills/test-audit ~/.omp/agent/skills/test-audit
ln -sf /home/techdufus/.config/mise/conf.d/omp/skills/herdr-workflow ~/.omp/agent/skills/herdr-workflow
ln -sf /home/techdufus/.config/mise/conf.d/omp/skills/semantic-compression ~/.omp/agent/skills/semantic-compression
ln -sf /home/techdufus/.config/mise/conf.d/omp/skills/verification ~/.omp/agent/skills/verification
ln -sf /home/techdufus/.config/mise/conf.d/omp/skills/commit ~/.omp/agent/skills/commit
ln -sf /home/techdufus/.config/mise/conf.d/omp/bin/omp-cursor ~/.local/bin/omp-cursor
ln -sf /home/techdufus/.config/mise/conf.d/omp/bin/omp-claude ~/.local/bin/omp-claude
ln -sf /home/techdufus/.config/mise/conf.d/omp/bin/omp-claude-sol ~/.local/bin/omp-claude-sol
ln -sf /home/techdufus/.config/mise/conf.d/omp/bin/omp-codex ~/.local/bin/omp-codex
ln -sf /home/techdufus/.config/mise/conf.d/omp/AGENTS.md ~/.omp/agent/AGENTS.md
ln -sf /home/techdufus/.config/mise/conf.d/worktrunk/config.toml ~/.config/worktrunk/config.toml
ln -sf /home/techdufus/.config/mise/conf.d/zsh/zshenv ~/.zshenv
ln -sf /home/techdufus/.config/mise/conf.d/zsh/zshrc ~/.zshrc
ln -sf /home/techdufus/.config/mise/conf.d/zsh/p10k.zsh ~/.p10k.zsh
ln -sf /home/techdufus/.config/mise/conf.d/zsh/zsh/* into ~/.config/zsh/ (39 files)
ln -sf /home/techdufus/.config/mise/conf.d/k9s/config.yaml ~/.config/k9s/config.yaml
ln -sf /home/techdufus/.config/mise/conf.d/k9s/plugins.yaml ~/.config/k9s/plugins.yaml
ln -sf /home/techdufus/.config/mise/conf.d/k9s/aliases.yaml ~/.config/k9s/aliases.yaml
ln -sf /home/techdufus/.config/mise/conf.d/kitty/kitty.conf ~/.config/kitty/kitty.conf
ln -sf /home/techdufus/.config/mise/conf.d/taskfile/Taskfile.yml ~/Taskfile.yml
ln -sf /home/techdufus/.config/mise/conf.d/zsh/os/linux/os_functions.zsh ~/.config/zsh/os_functions.zsh
ln -sf /home/techdufus/.config/mise/conf.d/k9s/k9s.yaml.tpl ~/.config/omarchy/themed/k9s.yaml.tpl
ln -sf /home/techdufus/.config/mise/conf.d/k9s/omarchy-skin.hook ~/.config/omarchy/hooks/theme-set.d/dotfiles-k9s-skin.hook
ln -sf /home/techdufus/.config/mise/conf.d/omarchy/hypr/* into ~/.config/hypr/dotfiles/ (9 files)
cp /home/techdufus/.config/mise/conf.d/omarchy/fcitx5/keyboard.conf ~/.config/fcitx5/conf/keyboard.conf
ln -sf /home/techdufus/.config/mise/conf.d/omarchy/plugin-update.hook ~/.config/omarchy/hooks/post-update.d/dotfiles-plugin-update.hook
chmod 0700 ~/.omp
chmod 0700 ~/.omp/agent
chmod 0700 ~/.omp/agent/overlays
mise bootstrap: dotfile edits
edit ~/.codex/config.toml (merge:shared)
edit ~/.cursor/cli-config.json (merge:managed)
edit ~/.npmrc (line:author)
edit ~/.npmrc (line:license)
edit ~/.npmrc (line:save-exact)
edit ~/.config/herdr/config.toml (merge:shared)
edit ~/.config/jj/config.toml (merge:shared) (if changed)
edit ~/.omp/agent/mcp.json (merge:managed)
edit ~/.config/tern/settings.json (merge:shared)
edit ~/.config/tern/settings.json (merge:keybinds)
edit ~/.config/hypr/autostart.lua (block:dotfiles)
2 changes: 2 additions & 0 deletions .github/assets/render/fixtures/dry-modules.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mise bootstrap: running `bootstrap` task
[bootstrap] $ mise run --jobs 1 'bootstrap:*'
2 changes: 2 additions & 0 deletions .github/assets/render/fixtures/dry-packages.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mise bootstrap: system packages
mise pacman: 51 package(s) already installed
2 changes: 2 additions & 0 deletions .github/assets/render/fixtures/dry-shell.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mise bootstrap: login shell
mise login_shell: already set to /usr/bin/zsh
2 changes: 2 additions & 0 deletions .github/assets/render/fixtures/dry-system.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mise bootstrap: system files
mise system files: already converged
61 changes: 61 additions & 0 deletions .github/assets/render/fixtures/dry-tools.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
mise bootstrap: tools
mise actionlint@1.7.12 ⇢ would install
mise ansible@14.4.0 ⇢ would install
mise aqua:gitleaks/gitleaks@8.30.1 ⇢ would install
mise aqua:kubernetes-sigs/kubebuilder@4.16.0 ⇢ would install
mise aqua:prometheus/alertmanager@0.34.1 ⇢ would install
mise aqua:shssoichiro/oxipng@10.2.1 ⇢ would install
mise bun@1.4.3 ⇢ would install
mise cilium-cli@0.20.1 ⇢ would install
mise claude@2.1.305 ⇢ would install
mise codex@0.163.0 ⇢ would install
mise cosign@3.1.3 ⇢ would install
mise flux2@2.9.5 ⇢ would install
mise flux-operator@0.60.0 ⇢ would install
mise flux-operator-mcp@0.60.0 ⇢ would install
mise gh@2.102.0 ⇢ would install
mise github:can1357/oh-my-pi@18.11.3 ⇢ would install
mise github:home-operations/flate@0.6.5 ⇢ would install
mise github:janosmiko/lfk@0.19.6 ⇢ would install
mise go@1.27.1 ⇢ would install
mise go:github.com/golangci/golangci-lint/v2/cmd/golangci-lint@2.13.1 ⇢ would install
mise go:github.com/mrjosh/helm-ls@0.5.4 ⇢ would install
mise go:golang.org/x/tools/gopls@0.24.0 ⇢ would install
mise helm@4.3.0 ⇢ would install
mise java@temurin-17.0.20+101 ⇢ would install
mise jq@1.8.2 ⇢ would install
mise kind@0.32.0 ⇢ would install
mise kubeconform@0.8.0 ⇢ would install
mise kubectl@1.36.1 ⇢ would install
mise node@24.20.0 ⇢ would install
mise npm:@ansible/ansible-language-server@26.6.0 ⇢ would install
mise npm:@astrojs/language-server@2.17.2 ⇢ would install
mise npm:bash-language-server@5.8.1 ⇢ would install
mise npm:@biomejs/biome@2.5.15 ⇢ would install
mise npm:clawpatch@0.8.2 ⇢ would install
mise npm:dockerfile-language-server-nodejs@0.15.0 ⇢ would install
mise npm:graphql-language-service-cli@3.5.0 ⇢ would install
mise npm:intelephense@1.18.5 ⇢ would install
mise npm:npm-check-updates@23.1.1 ⇢ would install
mise npm:@olrtg/emmet-language-server@2.8.0 ⇢ would install
mise npm:@prisma/language-server@31.13.0 ⇢ would install
mise npm:pyright@1.1.414 ⇢ would install
mise npm:serve@14.2.6 ⇢ would install
mise npm:svelte-language-server@0.18.5 ⇢ would install
mise npm:@tailwindcss/language-server@0.16.0 ⇢ would install
mise npm:typescript@7.0.2 ⇢ would install
mise npm:typescript-language-server@6.0.2 ⇢ would install
mise npm:vscode-langservers-extracted@4.10.0 ⇢ would install
mise npm:@vue/language-server@3.3.13 ⇢ would install
mise npm:yaml-language-server@2.0.0 ⇢ would install
mise npm:yarn@1.22.22 ⇢ would install
mise opentofu@1.12.6 ⇢ would install
mise pipx:check-jsonschema@0.38.2 ⇢ would install
mise pipx:yamllint@1.38.0 ⇢ would install
mise pnpm@12.14.0 ⇢ would install
mise shellcheck@0.9.0 ⇢ would install
mise talosctl@1.14.2 ⇢ would install
mise task@3.53.1 ⇢ would install
mise trivy@0.74.0 ⇢ would install
mise uv@0.13.1 ⇢ would install
mise yq@4.53.6 ⇢ would install
7 changes: 7 additions & 0 deletions .github/assets/render/fixtures/fail-tools.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
mise bootstrap: tools
mise aqua:gitleaks/gitleaks@8.30.1 install
mise aqua:gitleaks/gitleaks@8.30.1 download gitleaks_8.30.1_linux_x64.tar.gz
mise ERROR Failed to install aqua:gitleaks/gitleaks@8.30.1: error sending request for url (https://github.com/gitleaks/gitleaks/releases/download/v8.30.1/gitleaks_8.30.1_linux_x64.tar.gz)
mise ERROR Caused by: operation timed out
mise ERROR Version: 2026.10.12 linux-x64 (2026-10-16)
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information
Loading
Loading