Skip to content

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:

  • Visual Studio Code: to add the code-insiders command (needed for code), press ⇧⌘P and search for "install"

  • Clone the misc-bin and misc-scripts repos to ~/.bin/

  • brew install diff-so-fancy - and configure it

  • Download BFG Repo Cleaner and put its binary in ~/.bin/

  • ps2pdf should be installed by default, but just in case it isn't, it can be found here

  • MacDown

  • ips.py

  • MultiPatch

  • Quick look plugins:

  • For the ekizo-dl command (used by the cron job; needs to be symlinked in ~/.bin/):

    git clone git@github.com:msikma/ekizo-dl.git ~/Projects/ekizo-dl

  • Install Git LFS:

    1. brew install git-lfs
    2. git lfs install
  • Install the two icon repos (for the color command):

    1. git clone https://github.com/msikma/osx-folder-icons ~/Projects/dada-folder-icons
    2. git clone git@bitbucket.org:msikma/dada-icons.git ~/Projects/dada-icons

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