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
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [Unreleased]

---

## [0.5.0] - 2026-03-01

### Added
- **Kali Linux style starship prompt** (`config/starship.toml`): two-line prompt with `┌──(user@host)─[dir git]` / `└─$` layout; always shows username and hostname; git branch/status, Node/Python/Rust/Go version indicators
- **tmux auto-attach** (`dotfiles/.zshrc.d/tmux.zsh`): attaches to the most recent existing session on shell start, or creates a new one; uses `exec` so closing tmux exits the shell; skips VSCode terminal

### Fixed
- ShellCheck CI: add `# shellcheck shell=bash` directive to all `dotfiles/.zshrc.d/*.zsh` files (SC2148, SC1103)
- ShellCheck CI: add `# shellcheck disable=SC1090` for non-constant `source` in `fzf.zsh` (SC1090)
Expand All @@ -18,6 +26,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Linux CI: make `yazi` cargo build failure non-fatal in `modules/core.sh`
- Linux CI: pre-install `yazi` binary from GitHub releases in workflow to avoid `cargo` compile failure

### Maintenance
- `dotfiles/.zshrc`: remove duplicate tmux auto-attach block (superseded by `tmux.zsh`)
- `uninstall.sh`: add `tmux.zsh` to `ZSHRC_D_FILES` so it is removed on uninstall
- `tests/test_configs.sh`: add `tmux.zsh` to `.zshrc.d` file existence check
- `README.md/ja/zh`: fix tmux session description (removed incorrect "named `main`" reference)
- `CLAUDE.md`: add `tmux.zsh` to `.zshrc.d/` structure listing

---

## [0.4.0] - 2026-03-01
Expand Down
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ dotfiles/
├── install_and_configure.sh ← ORIGINAL: monolithic installer (DO NOT MODIFY — CI uses it)
├── modules/
│ ├── lib.sh ← shared helpers (colors, OS detect, pkg_install, backup)
│ ├── core.sh ← existing tools: zsh/tmux/lsd/emacs/htop/neofetch/yazi
│ ├── core.sh ← existing tools: zsh/tmux/lsd/emacs/htop/neofetch/yazi + tmux.zsh
│ ├── shell.sh ← starship, fzf, zoxide, atuin
│ ├── dev.sh ← gh, ripgrep, direnv, bat, delta, fd, jq, lazygit
│ ├── node.sh ← fnm + Node LTS + commitizen
Expand All @@ -27,6 +27,7 @@ dotfiles/
│ ├── .gitmessage ← conventional commit template
│ ├── .zshrc.local.example ← secrets/local config template (copy to ~/.zshrc.local)
│ └── .zshrc.d/
│ ├── tmux.zsh ← auto-attach to tmux session on shell start
│ ├── fzf.zsh ← fzf keybindings + rg integration + helpers
│ ├── zoxide.zsh ← eval "$(zoxide init zsh)"
│ ├── starship.zsh ← eval "$(starship init zsh)"
Expand Down
2 changes: 1 addition & 1 deletion README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ bash bootstrap.sh --list # モジュール一覧表示
|-------|------|
| [tmux](https://github.com/tmux/tmux) | ターミナルマルチプレクサ。ログイン時に自動起動し、tmux 終了でシェルも終了 |

新しいターミナルを開くと tmux が自動的に起動し、`main` という名前のセッションにアタッチ(なければ作成)します。tmux を終了するとシェルも終了します。無効にするには `~/.zshrc.d/tmux.zsh` を削除してください。
新しいターミナルを開くと tmux が自動的に起動し、既存のセッションがあればアタッチし、なければ新しいセッションを作成します。tmux を終了するとシェルも終了します。無効にするには `~/.zshrc.d/tmux.zsh` を削除してください。

### ファイル管理

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ bash bootstrap.sh --list # List modules
|------|-------------|
| [tmux](https://github.com/tmux/tmux) | Terminal multiplexer. Auto-starts on login; exit tmux to close the shell |

tmux starts automatically when you open a new terminal and attaches to (or creates) a session named `main`. Closing tmux also exits the shell. To disable, remove `~/.zshrc.d/tmux.zsh`.
tmux starts automatically when you open a new terminal and attaches to the most recent existing session, or creates a new one. Closing tmux also exits the shell. To disable, remove `~/.zshrc.d/tmux.zsh`.

### File Management

Expand Down
2 changes: 1 addition & 1 deletion README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ bash bootstrap.sh --list # 列出所有模块
|------|------|
| [tmux](https://github.com/tmux/tmux) | 终端复用器。登录时自动启动;退出 tmux 同时退出 Shell |

打开新终端时 tmux 会自动启动,并附加到名为 `main` 的会话(不存在则创建)。关闭 tmux 时 Shell 也会一并退出。如需禁用,请删除 `~/.zshrc.d/tmux.zsh`。
打开新终端时 tmux 会自动启动,并附加到最近的现有会话(不存在则创建新会话)。关闭 tmux 时 Shell 也会一并退出。如需禁用,请删除 `~/.zshrc.d/tmux.zsh`。

### 文件管理

Expand Down
5 changes: 0 additions & 5 deletions dotfiles/.zshrc
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,3 @@ if [ -d "$HOME/.zshrc.d" ]; then
fi
# Load machine-specific / secret config (never committed)
[ -f "$HOME/.zshrc.local" ] && . "$HOME/.zshrc.local"

# tmux auto-attach: attach to 'tmux-dev' session (create if missing)
if command -v tmux &>/dev/null && [ -z "$TMUX" ] && [[ $- == *i* ]]; then
tmux new-session -As tmux-dev
fi
2 changes: 1 addition & 1 deletion tests/test_configs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ run_tests() {
done

# ── .zshrc.d files ──────────────────────────────────────────────────────────
for _f in fzf.zsh zoxide.zsh starship.zsh atuin.zsh direnv.zsh node.zsh docker.zsh commit.zsh; do
for _f in tmux.zsh fzf.zsh zoxide.zsh starship.zsh atuin.zsh direnv.zsh node.zsh docker.zsh commit.zsh; do
assert_file_exists ".zshrc.d/${_f}" "${r}/dotfiles/.zshrc.d/${_f}"
done

Expand Down
1 change: 1 addition & 0 deletions uninstall.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export DOTFILES_ROOT

# ── Files we own in ~/.zshrc.d ─────────────────────────────────────────────────
ZSHRC_D_FILES=(
tmux.zsh
fzf.zsh
zoxide.zsh
starship.zsh
Expand Down
Loading