Skip to content

My personal shell theme and prompt for Fish Shell

Notifications You must be signed in to change notification settings

msikma/dada-shell-theme

Repository files navigation

Dada shell theme

A simple Fish shell theme designed exactly how I want it. This readme also contains instructions for installing all the terminal tools I commonly use.

Screenshot of Dada shell theme

Since I use Mac OS X, this is primarily designed for Mac OS X, but I also run it on my Ubuntu 20.04 LTS server with some changes.

Installation

First, install the Fish shell and set it as the default.

Then clone this repository in ~/.config/dada. Append this command to ~/.config/fish/config.fish to load the theme:

echo "source ~/.config/dada/dada.fish" >> ~/.config/fish/config.fish

If running on a server, add one extra line before that:

set -gx DADA_FISH_ENV "server"

You should now see the welcome message when opening a new terminal window.

To suppress the "last login" text that shows up briefly before the welcome message:

touch ~/.hushlogin

Installing utilities

Note that most of these installation instructions are for Mac OS X only.

  1. Install Brew:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Install the following Brew packages:

    brew install bat bchunk ccd2iso composer coreutils ecm exa fd findutils flac gawk git-extras gnu-getopt gnu-indent gnu-sed gnu-tar gnutls grep jq mdf2iso ncdu node python3 rsync streamlink tldr unar wget xdelta yt-dlp ghostscript autoconf automake libtool

  3. Install the following npm packages:

    npm i -g ascr cheerio dist-exiftool empty-trash-cli feedparser-promised fileicon imagemagick node-exiftool request sanitize-filename trash-cli vgmpfdl

After this there are some applications and packages that require extra configuration:

Backups

To see the current backup status, use backup. This prints a list of the available commands and how long it has been since they were last used.

Backup scripts listed under "non device specific" are global; they can be run on any device and store their data in the same place. The other scripts store their data in a directory named after the current hostname (~/.cache/dada).

Backups are disabled when running on a server.

Cron job

The built in cron job only runs on Mac OS X.

To set up the cron job, run cron-install. If this somehow doesn't work, it can be manually installed as follows:

  1. Copy the LaunchAgent plist file etc/com.dada.crontab.plist to ~/Library/LaunchAgents
  2. Activate it: launchctl load ~/Library/LaunchAgents/com.dada.crontab.plist.

Note that the run-cron.fish file doesn't use env to invoke Fish - it doesn't seem to be supported when running a cron job.

Copyright

MIT license

About

My personal shell theme and prompt for Fish Shell

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published