update
This commit is contained in:
parent
7a97c460d8
commit
c3c680ecca
11 changed files with 364 additions and 356 deletions
36
README.md
36
README.md
|
|
@ -20,8 +20,8 @@ This repository does not own:
|
|||
|
||||
- Portable login environment variables or shared PATH construction. Those
|
||||
belong in the `profile` repository.
|
||||
- Common aliases intended for more than one Bourne-family shell. Those belong
|
||||
in `profile/aliases.sh`; genuinely Bash-specific aliases may live here.
|
||||
- Common aliases intended for more than one Bourne-family shell. Those load
|
||||
through `profile/interactive.sh`; genuinely Bash-specific aliases live here.
|
||||
- User services, timers or background refresh logic. Those belong in the
|
||||
`systemd` repository. Bash may consume their cached output or request a
|
||||
non-blocking service start.
|
||||
|
|
@ -42,10 +42,40 @@ shell is not interactive.
|
|||
## Files
|
||||
|
||||
- `bash_profile`: connects Bash login startup to the shared profile and Bash RC.
|
||||
- `bashrc`: interactive Bash configuration.
|
||||
- `bashrc`: interactive guard and ordered module loader.
|
||||
- `bashrc.d/`: numbered interactive Bash modules; lower numbers load first.
|
||||
- `aliases.bash`: Bash-specific and warning-only transition aliases.
|
||||
- `gitstatus-custom.sh`: prompt integration for gitstatus.
|
||||
- `cheat.bash`: completion for `cheat`.
|
||||
- `install.sh`: installs the home-directory symlinks and gitstatus dependency.
|
||||
|
||||
Run `install.sh` when initially installing the repository. It preserves an
|
||||
existing destination before creating each symlink.
|
||||
|
||||
## Bash RC modules
|
||||
|
||||
The loader sources every readable `bashrc.d/*.bash` file in lexical order:
|
||||
|
||||
- `00-core.bash`: colors, history, terminal and Readline settings.
|
||||
- `10-prompt.bash`: prompt, gitstatus and per-command history flushing.
|
||||
- `20-greeting.bash`: calendar-day greeting and adjective selection.
|
||||
- `30-integrations.bash`: shared aliases, NVM and z.lua.
|
||||
- `40-status.bash`: command reminders, memory and cached package status.
|
||||
- `50-completions.bash`: command-specific completion setup.
|
||||
- `60-directory-notes.bash`: `TODO.md` and `.autonote.md` display after `cd`.
|
||||
- `70-development.bash`: OpenCode and Pyenv initialization.
|
||||
|
||||
Keep cross-module dependencies explicit through this numbering. New modules
|
||||
should own one coherent area rather than becoming another general-purpose RC.
|
||||
|
||||
## Package-status integration
|
||||
|
||||
`40-status.bash` is a read-only consumer of the package cache at
|
||||
`~/.cache/package-status/status`. It never runs Pacman or synchronizes package
|
||||
databases during shell startup. When the cache is missing, stale or predates a
|
||||
local package transaction, Bash requests a non-blocking start of
|
||||
`package-status-refresh.service`, subject to a five-minute retry backoff.
|
||||
|
||||
The refresh service and 30-minute timer are owned and documented by the
|
||||
`systemd` repository. The Arch `update` wrapper in the `profile` repository
|
||||
also requests a refresh after a successful upgrade.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue