Command Line
Bluefin is designed to be used by normal people, but the command line is our passion. Therefore we invest in our command line experience, knowing that most people will never see it. Slay out.
Installing Applications
The brew application is the package manager used for installing command line applications in Bluefin.
Note that the cask functionality in homebrew is MacOS specific and non functional in Bluefin, flatpak is used instead. Other package management tools like uv, pixi, asdf, and mise are available and work perfectly fine when installed via homebrew. Package managers inside of package managers ... hey look it was like that when we got here, this one isn't our fault! They do work great though, and some users may prefer those tools, so we give you the option to forge your own path.
Generally speaking, if you need a tool or utility, use homebrew. If you need a library and dependencies for development work, use a container. This keeps everything nice and clean.
bluefin-cli
ujust bluefin-cli
will install Bluefin's opt-in command line experience using modern tools with great features that make us more efficient. It is designed to be turned on and off.
We love our command line tools. This is intended to be a rendition of what a brand new terminal experience would look like with modern tooling. The traditional tooling is always a toggle away. Keep up with the cool kids without sacrificing your "known good" kit.
It comes with some fantastic CLI tools:
- atuin for shell history
- direnv to load and unload environment variables depending on the current directory.
- eza as a replacement
ls
- fd for
find
- fzf for command line fuzzy finding
- ripgrep for search
- tealdeer for
tldr
- television - a blazing fast general-purpose fuzzy finder TUI - (
tv
) - trash-cli to manage the system trashcan. (Strongly recommended for new CLI users)
- ugrep for grep
- uutils as coreutils
- yq for yaml, json, and xml processing
- zoxide as
cd
The community may add new tools over time, re-running ujust bluefin-cli
will pull in the new tools.
What greatness have I been missing? Being set in my old, tired ways.
-- Bill Childers (Probably, this quote is made up)
Message of the Day and fastfetch
We prefer to have functional bling that is slick but it must also serve a purpose. New terminals (Ctrl
-Alt
-Enter
) display a message of the day with some basic information:
The bluefin-dx:beta
line is the name of the OS image, and is a good way to remind yourself if you're on a pinned image as well as a quick reference to common commands. You can toggle it on and off with ujust toggle-user-motd
. Note that the Tip rotates regularly in order to spread useful tips to the community.
We love to flex our machines and software. Run fastfetch
:
This screen will show you hardware information, as well as your username, machine name, and kernel version. Each Bluefin image has a "Forged On" date, commemorating the initial installation of the machine.
Note that the terminal color scheme will automatically match your desktop accent color. Restart your terminal after setting the color for the setting to apply.
Terminal Configuration
Changing the default terminal shell
Bluefin uses bash by default but also ships with fish and zsh on the image for convenience.
The Bluefin team lacks expertise in both fish and zsh, contributions to help us reach feature parity would be welcome and appreciated!
Bluefin ships Ptyxis as the default terminal. It shows up as Terminal
in the menu. It is strongly recommended that you change your shell via the terminal emulator instead of system-wide. Click on the Terminal settings and edit your profile:
Then select "Use Custom Command" and then add the shell you want to use. /usr/bin/fish
and /usr/bin/zsh
are both included on the image:
Using bluefin-cli
with alternate shells
You can enable bluefin-cli
for fish
or zsh
by pre-pending an override to the $SHELL
variable to the command with:
SHELL=fish ujust bluefin-cli
SHELL=zsh ujust bluefin-cli
# Or do it all at once from bash with
ujust bluefin-cli && SHELL=fish ujust bluefin-cli && SHELL=zsh ujust bluefin-cli
Fonts
Homebrew is also used for installing fonts, browse this page and install your favorite fonts. They will be copied into ~/.local/share/fonts
- Microsoft Fonts: Follow these instructions to install Office fonts if you need them. You can skip the homebrew installation instructions since it is installed already.