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.
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.
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
Note that most of these installation instructions are for Mac OS X only.
-
Install Brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
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
-
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 forcode
), 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 -
Quick look plugins:
- quick look JSON (copy to
~/Library/QuickLook/
and restart the service withqlmanage -r
) - Markdown Quick Look plugin
- quick look JSON (copy to
-
For the
ekizo-dl
command (used by the cron job; needs to be symlinked in~/.bin/
):git clone [email protected]:msikma/ekizo-dl.git ~/Projects/ekizo-dl
-
Install Git LFS:
brew install git-lfs
git lfs install
-
Install the two icon repos (for the
color
command):git clone https://github.com/msikma/osx-folder-icons ~/Projects/dada-folder-icons
git clone [email protected]:msikma/dada-icons.git ~/Projects/dada-icons
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.
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:
- Copy the LaunchAgent plist file
etc/com.dada.crontab.plist
to~/Library/LaunchAgents
- 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.
MIT license