29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
# Shared login profile
|
|
|
|
This repository owns the portable login environment. It is deliberately quiet,
|
|
shell-agnostic and independent of interactive shell configuration.
|
|
|
|
## Responsibilities
|
|
|
|
- Install `~/.profile` as a symlink into this repository.
|
|
- Define XDG locations and general editor/browser environment variables.
|
|
- Construct `PATH` idempotently for language and user-level executables.
|
|
- Load portable login environment setup, such as Cargo's `env` file.
|
|
|
|
## Boundaries
|
|
|
|
The `profile` file must remain safe for a POSIX shell to source during login. It
|
|
must not print output, configure a prompt, define interactive conveniences,
|
|
perform terminal operations or start background work.
|
|
|
|
Aliases, interactive functions, reminders, command catalogues, completion,
|
|
history and prompt configuration belong to the relevant shell repository. User
|
|
services and timers belong in the separate `systemd` repository.
|
|
|
|
## Files
|
|
|
|
- `profile`: portable login environment and `PATH` construction.
|
|
- `install.sh`: installs the `~/.profile` symlink.
|
|
|
|
Interactive Bash uses this environment through the conventional `~/.profile`
|
|
interface. This repository does not reference or load the Bash repository.
|