glow v2.1.2 validates the style path with ~ expanded but passes the
original unexpanded string to glamour's file reader, causing ENOENT.
Fix: pass the style via --style flag so bash expands $HOME before glow
sees it. Revert glow.yml style to "auto" (unused when arty drives it).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add .config/glow/nord.json — full glamour style using Nord palette
(Polar Night bg, Frost headings, Aurora syntax, Snow Storm text)
- Configure glow.yml to use the Nord style by default
- Track both glow files in .gitignore whitelist
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- New generate_notes_md(): builds title, description blockquote,
dependencies table, per-script fenced blocks, and details section
from the entire arty.yml using existing yq helpers
- show_notes() now accepts --raw to print raw Markdown; formatted
mode pipes through the same glow/mdcat/python3 render pipeline
- Removes the decorative ━━━ border (clashes with full-document output)
- main() passes args[] through to show_notes for flag forwarding
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Prompts for name and email, writes [user] section to ~/.gitconfig.local
which is already included by .gitconfig.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
nvm is a shell function, not a binary — it doesn't survive into arty's
subprocess. Sourcing nvm.sh inline makes it available.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Applies the official Nord Sublime Text theme from crabique/Nord-plist
(arcticicestudio/nord-sublime-text) as the authoritative source.
Adaptations for bat/syntect:
- Strip alpha channel from all hex colors (#RRGGBBAA → #RRGGBB)
- Replace non-Nord comment color #616e88 with #4C566A (nord3)
- Remove SublimeLinter/GitGutter package-specific entries
- Consolidate JS+TS decorator and template-expression rules
- Preserve uuid from source for cache identity
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
--no-pager causes journalctl to disable ANSI colors. Setting SYSTEMD_PAGER=cat
achieves the same effect (no interactive pager) while preserving color output.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
systemctl and journalctl use their own color detection (SYSTEMD_COLORS env
var) independently of the terminal — child processes don't always inherit
it. Force colors for status and logs subcommands of update and backup.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The update and backup services ran without STACKS_DIR since systemd
doesn't source ~/.env or ~/.zshrc. Capture the value at install time
and write it as Environment= in the generated unit files.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add 'export' flag to source_file that wraps the source call in set -a/+a,
auto-exporting all variables to child processes. Use it for ~/.env instead
of a separate inline block.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Variables set in ~/.env without explicit export were shell-local only —
child processes (scripts, subshells) never inherited them. Source it in
a dedicated section with set -a/set +a to auto-export everything.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Makes stacks work like arty — discovers stacks in the current directory.
Explicit STACKS_DIR env var still takes precedence.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Create ~/.ssh dir if missing before writing agent-environment
- Suppress ssh-add errors (no keys yet is fine)
- Skip entire block if ssh-agent binary is not installed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
bin/setup:
- Fix Step 1 of 6 → Step 1 of 7
- exec zsh -l </dev/tty to avoid inheriting stale curl pipe on stdin
(without /dev/tty the curl|sh pipe bytes re-run the script as zsh)
- Fall back to printing exec zsh hint when /dev/tty is unavailable
- Check completion file existence instead of trusting arty exit code
bin/arty:
- Fix cmd_completion returning exit 1 for zsh: last statement was
[[ "$shell" == "bash" ]] which is false, changed to if/fi
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The script already sets zsh as default shell via chsh. Now it also
hands off to a zsh login shell immediately at the end so the user
doesn't need to run exec zsh manually.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add ensure_zsh step (step 3 of 7): installs zsh via apt/brew if
missing, sets it as default shell via chsh
- Replace manual completion write with arty completion zsh --install
- Extend PATH with ~/.local/bin and ~/go/bin before completion step so
yq installed by arty deps (in a subshell) is found
- Renumber all steps 1-7
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>