Profile Configuration#
Immutablue customizes the shell environment via /etc/profile.d/25-immutablue.sh.
Location#
/etc/profile.d/25-immutablue.shThis script runs for all users during login shell initialization.
Features#
File Descriptor Limits#
Sets the ulimit for non-root users:
ulimit -n 524288Configurable via:
# settings.yaml
immutablue:
profile:
ulimit_nofile: 524288Starship Prompt#
Enables the Starship prompt by default:
eval "$(starship init bash)"Configurable via:
# settings.yaml
immutablue:
profile:
enable_starship: trueHomebrew Bash Completions#
Sources bash completions from Homebrew:
for f in /home/linuxbrew/.linuxbrew/etc/bash_completion.d/*; do
source "${f}"
doneConfigurable via:
# settings.yaml
immutablue:
profile:
enable_brew_bash_completions: truefzf-git Integration#
Sources fzf-git for enhanced git operations with fzf:
source /usr/bin/fzf-gitConfigurable via:
# settings.yaml
immutablue:
profile:
enable_sourcing_fzf_git: trueAll Profile Settings#
| Setting | Default | Description |
|---|---|---|
.immutablue.profile.ulimit_nofile | 524288 | Max open file descriptors |
.immutablue.profile.enable_starship | true | Enable Starship prompt |
.immutablue.profile.enable_brew_bash_completions | true | Enable Homebrew completions |
.immutablue.profile.enable_sourcing_fzf_git | true | Enable fzf-git integration |
Customizing#
To override these settings, create a user settings file:
# ~/.config/immutablue/settings.yaml
immutablue:
profile:
enable_starship: false # Disable Starship
ulimit_nofile: 1048576 # Increase file limitExecution Order#
Profile scripts run in alphanumeric order. The 25- prefix ensures Immutablue’s script runs:
- After system defaults (typically
00-to20-) - Before user customizations (typically
90-and above)
Checking Current Settings#
# Check if Starship is enabled
immutablue-settings .immutablue.profile.enable_starship
# Check ulimit setting
immutablue-settings .immutablue.profile.ulimit_nofile
# Check current ulimit
ulimit -nTroubleshooting#
Starship not loading#
Check if enabled:
immutablue-settings .immutablue.profile.enable_starshipCheck if Starship is installed:
which starshipEnsure you’re in a bash shell:
echo $BASH_VERSION
Completions not working#
Check if enabled:
immutablue-settings .immutablue.profile.enable_brew_bash_completionsCheck if Homebrew is installed:
ls /home/linuxbrew/.linuxbrew/etc/bash_completion.d/