Commit Graph

68 Commits

Author SHA1 Message Date
Anton Volnuhin
b957dc3c90 fix $SUDO detection: skip when root, check doas.conf exists
On OpenBSD the doas binary exists but /etc/doas.conf may not, causing
'doas is not enabled' errors. Now checks: root → no sudo needed,
doas + config exists → use doas, sudo available → use sudo.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:58:09 +03:00
Anton Volnuhin
9af745427e fall back to xterm-256color when terminfo is missing
Replace hardcoded kitty TERM hack with a generic check: if the current
TERM's terminfo isn't installed yet, fall back to xterm-256color. The
proper terminfo gets installed later in the script. Fixes tput errors
when SSHing from Ghostty/kitty into fresh machines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:39:31 +03:00
Anton Volnuhin
748de2400d add OpenBSD support to installer
Uses pkg_add for package management with doas (default on OpenBSD).
Packages available natively: fish, neovim, atuin, fd, ripgrep, bat,
fzf, htop, jq, nnn, tmux, mc, ngrep, mtr, gcc, direnv, py3-pipx.
Not available: lazygit, nethogs, jump, skim, dust.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:37:01 +03:00
Anton Volnuhin
5c032ce1b9 skip neovim bootstrap in non-interactive mode
Headless nvim plugin/LSP install doesn't work well without a proper
terminal. Auto-skip it alongside non-interactive TUI detection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:23:50 +03:00
Anton Volnuhin
d6d47411e8 rename nixpkgs.du-dust to nixpkgs.dust
The du-dust package was renamed to dust in nixpkgs and the old name
now throws an error.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:15:08 +03:00
Anton Volnuhin
a7f938591b auto-detect non-interactive mode when no terminal is present
chezmoi run_onchange scripts don't receive CLI arguments, so the
--non-interactive flag only works when running the script directly.
Now also checks if stdin/stdout are real terminals to auto-detect
non-interactive contexts like Vagrant provisioning.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 01:48:07 +03:00
Anton Volnuhin
3e53d99ad2 fix non-interactive mode: skip TUI and use simple output
The fancy cursor-positioning TUI (get_line, print_block, tput) fails in
non-interactive contexts like Vagrant provisioning where there's no real
terminal. Now when --non-interactive is passed, uses simple echo-based
output instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 01:42:45 +03:00
Anton Volnuhin
5104a5313b fix chezmoi template escaping in embedded ghostty terminfo
The acsc capability contains literal {{||}} which chezmoi's Go template
engine tries to parse. Escape with {{ "{{" }} and {{ "}}" }} syntax.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 01:35:48 +03:00
Anton Volnuhin
e498f52252 add ghostty terminfo installation to all supported platforms
Embeds the xterm-ghostty terminfo definition directly in the installer
and compiles it via tic when not already present. On Arch, uses the
ghostty-terminfo package from official repos instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 01:32:40 +03:00
Anton Volnuhin
3686b429f2 add doas support for FreeBSD, use $SUDO throughout installer
Detect doas/sudo at startup and use $SUDO variable for all
privilege escalation commands. Prefers doas when available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 00:39:52 +03:00
Anton Volnuhin
dfafc9bd9b split tide config into separate chezmoi script, fix context display
- Extract tide prompt configuration from heavy installer into its own
  lightweight run_onchange script keyed to fish_plugins hash
- Remove tide_context_always_display (only show user@host in SSH)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:03:20 +03:00
Anton Volnuhin
0fed059f7f switch to forked tide prompt, fix right prompt item removal
- Use antonme/tide fork (from plttn/tide v7) which includes fix for
  bold leaking from home directory pwd rendering
- Replace fragile index-based tide_right_prompt_items removal with
  explicit name-based filtering of node, gcloud, and kubectl

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 22:00:42 +03:00
Anton Volnuhin
f03b8e90b2 merge live config.fish changes, fix chezmoi template on macOS
- pull live local changes: gpt-5.2 model, llm.py, rewritten s/icat/ils
  functions with ghostty support, antigravity path
- re-apply our improvements on top: fish_add_path, guards, hardcoded
  path fixes, micromamba removal
- fix osRelease.id template error on macOS (wrap ncurses block in linux check)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-02 18:38:51 +03:00
Anton Volnuhin
ac46863b48 harden install script and fix fish config portability
Install script:
- fix package availability (skim/fedora, fd-find/debian, direnv+goku/macos)
- add CLI flags for non-interactive mode (--skip-timezone, --skip-neovim-bootstrap, etc.)
- template STEPS count per OS for correct TUI layout
- add brew shellenv for fresh Apple Silicon, timeout portability
- pam_ssh_agent_auth availability check with warning for Fedora 42+
- fix fisher detection, authorized_keys whole-line dedup

Fish config:
- replace set -gx PATH with idempotent fish_add_path
- guard direnv/cargo sourcing for missing tools
- fix hardcoded /home/anton/ and /Users/anton/ paths
- remove unused micromamba/conda setup

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-02 18:35:11 +03:00
Anton Volnuhin
c3f80fc4e4 do not show gcloud in tide prompt 2024-06-01 01:40:23 +03:00
Anton Volnuhin
7fd4f38d9d nvim Mason install 2024-05-31 01:29:12 +03:00
Anton Volnuhin
51f89d2ff0 better nvim wait 2024-05-31 01:17:16 +03:00
Anton Volnuhin
2904bf005c nvim longer timeout for configure 2024-05-31 01:08:10 +03:00
Anton Volnuhin
c6ce78545c nvim tests 2024-05-31 01:00:07 +03:00
Anton Volnuhin
9b0e4537cc nvim tuning 2024-05-31 00:36:22 +03:00
Anton Volnuhin
7c5da02d2d new neovim compile 2024-05-31 00:22:03 +03:00
Anton Volnuhin
816e63f155 doc fixes 2024-05-28 02:34:17 +03:00
Anton Volnuhin
a280e2449a freebsd packages tune 2024-05-28 02:21:13 +03:00
Anton Volnuhin
317ba2c019 template fix 3 2024-05-28 01:42:35 +03:00
Anton Volnuhin
2557844152 template fix 2 2024-05-28 01:40:17 +03:00
Anton Volnuhin
3231f2d2e4 template fix 2024-05-28 01:39:12 +03:00
Anton Volnuhin
33cccaa319 initial freebsd support fix 2024-05-28 01:34:38 +03:00
Anton Volnuhin
e5db0e46cc initial freebsd support 2024-05-28 01:34:01 +03:00
Anton Volnuhin
21799dee55 list supported distros in comments at the top 2024-05-22 21:21:33 +03:00
Anton Volnuhin
cb0c6b6e41 fedora fixes 2024-05-22 21:13:58 +03:00
Anton Volnuhin
076d58f734 prereqs for fedora too 2024-05-22 21:10:17 +03:00
Anton Volnuhin
43a6d02efd support for rocky (=almalinux) 2024-05-22 21:03:06 +03:00
Anton Volnuhin
6b5a595d1d blue line is really blue now 2024-05-22 20:45:23 +03:00
Anton Volnuhin
fb61db6d62 util-linux-user fix 2024-05-22 20:44:16 +03:00
Anton Volnuhin
23366bed5e green line for prereqs 2024-05-22 20:38:27 +03:00
Anton Volnuhin
feb02c31f9 blue line for prereqs 2024-05-22 20:34:32 +03:00
Anton Volnuhin
b1da37a3c9 which and nixpkgs.neovim for almalinux 2024-05-22 20:32:12 +03:00
Anton Volnuhin
4440da8609 little hacks for almalinux 2024-05-22 20:26:53 +03:00
Anton Volnuhin
9966178c66 manual padding fix for prereq 2024-05-22 20:15:18 +03:00
Anton Volnuhin
75fa15eece manual padding for prereq 2024-05-22 20:13:10 +03:00
Anton Volnuhin
a2ba545fcd fix order of vars 2024-05-22 20:08:08 +03:00
Anton Volnuhin
df1d873bd7 forgot -y 2024-05-22 20:04:51 +03:00
Anton Volnuhin
0ea094c467 setup after prereqs 2024-05-22 20:03:36 +03:00
Anton Volnuhin
3755c47b90 fixes for almalinux: ncurses at start, xz for nix 2024-05-22 20:01:56 +03:00
Anton Volnuhin
2ca2c7ae15 experimental new almalinux support 2024-05-22 19:53:22 +03:00
Anton Volnuhin
f7203a6244 remove almalinux for now 2024-05-22 01:22:36 +03:00
Anton Volnuhin
f2e7140426 less steps and almalinux support 2024-05-22 00:59:19 +03:00
Anton Volnuhin
0b1af2a914 little order rehash 2024-05-21 19:36:58 +03:00
Anton Volnuhin
70ba26e313 fix pipx for ubuntus 2024-05-21 19:28:44 +03:00
Anton Volnuhin
735f542b04 fix arch errors pipx 2024-05-21 19:21:25 +03:00