install.fairie/docs/scripts/overview/profile.md
2023-08-08 03:06:49 -04:00

3.2 KiB

title description sidebar_label slug
Profile Scripts Overview Learn about how Install Doctor incorporates well-thought, meticulously organized, and performant Bash / ZSH profile and environment setup scripts. Profile Scripts /scripts/profile

Install Doctor's expertly configured and optimized system configuration collection includes masterfully created Bash / ZSH profile scripts. These scripts are seperated into a handful of files that are only imported when necessary.

The default configuration ensures ZSH is the default shell. When combined with the Oh-My-ZSH framework, this gives the user access to advanced auto-completion, type ahead, and predictive features.

A well-optimized Bash configuration is also provided for cases where a simpler terminal shell engine might be more desirable. Bash makes use of the Bash It! framework.

Profile Scripts

The Bash / ZSH entrypoint scripts are stored at ~/.bashrc and ~/.zshrc. Both of these configurations include imports that reference a few different files located in the home/dot_config/shell/ folder. This way, shell initialization code that should be common to both the Bash and ZSH configurations is stored in a single file, reducing duplicate code. Bash-specific and ZSH-specific configuration logic is stored in their respective ~/.*rc files.

The following chart outlines the purpose of the various shared profile setup scripts:

File Path Description
~/.config/shell/aliases.sh Stores command aliases / shortcuts
~/.config/shell/exports.sh Houses all the environment variables
~/.config/shell/functions.sh Stored all the functions / more-complicated aliases
~/.config/shell/motd.sh Includes code that invokes a useful, pretty MOTD
~/.config/shell/private.sh Stores environment variables that are intended to be private (e.g. API keys)
~/.config/shell/profile.sh Main profile script that is invoked by ~/.bashrc and ~/.zshrc that includes all of the other scripts as well as some other initialization logic