{ config, lib, pkgs, ... }: { options = { morphBashToFish = lib.mkEnableOption "morphBashToFish"; }; config = { programs.fish = { enable = true; interactiveShellInit = '' # add dotnet completions if it exists (ie we're in a virtual environment) if type -q dotnet complete -f -c dotnet -a "(dotnet complete (commandline -cp))" end function rand_greet set weary "Welcome weary traveller to my shop" set sad "Do butterflies cry when they're sad?" set greetings "$weary" "$sad" echo -n $greetings[(random 1 (count $greetings))] end set -g fish_greeting (rand_greet) ''; plugins = [ { name = "grc"; src = pkgs.fishPlugins.grc.src; } ]; }; }; }