{ config, lib, pkgs, ... }: let cfg = config.my.home.fish; swayEnabled = config.my.home.wm.windowManager == "sway"; in { options.my.home.fish = with lib; { enable = mkEnableOption "fish configuration"; }; config.programs.fish = lib.mkIf cfg.enable { enable = true; interactiveShellInit = '' set fish_greeting # Tmux on terminal start if status is-interactive and not set -q TMUX exec tmux end ''; loginShellInit = lib.mkIf swayEnabled '' if test -z "$DISPLAY"; and test (tty) = "/dev/tty1" exec sway end ''; }; }