{ config, pkgs, lib, ... }: { environment.variables.SHELL = lib.getExe pkgs.fish; environment.shells = [ pkgs.fish ]; programs.fish.enable = true; programs.fish.useBabelfish = true; programs.fish.babelfishPackage = pkgs.babelfish; # needed to address bug where $PATH is not properly set for fish: # https://github.com/LnL7/nix-darwin/issues/122 programs.fish.shellInit = '' for p in (string split : ${config.environment.systemPath}) if not contains $p $fish_user_paths set -Ua fish_user_paths $p end end ''; }