From 1fe21928c76b04775f40b49b74ba91ebec1be40e Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Mon, 20 Feb 2023 19:08:57 -0800 Subject: feat(home/fish): move fish's code to external files It's easier to edit / debug / test the code that way. This also add a new function (`find-ssh-agent') to find or start a new ssh agent when a shell is started. --- home/shell/fish/default.nix | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) (limited to 'home/shell/fish/default.nix') diff --git a/home/shell/fish/default.nix b/home/shell/fish/default.nix index d000cd9..f3e41d9 100644 --- a/home/shell/fish/default.nix +++ b/home/shell/fish/default.nix @@ -1,7 +1,6 @@ { config, lib, pkgs, ... }: let cfg = config.my.home.shell; - swayEnabled = config.my.home.wm.windowManager == "sway"; aliases = config.my.home.shell.aliases; in { @@ -9,24 +8,10 @@ in programs.fish = { enable = true; shellAliases = aliases; - interactiveShellInit = '' - set fish_greeting - - # Tmux on terminal start, unless we're in a SSH connection - if status is-interactive - if test -z "$SSH_CONNECTION" - if not tmux has-session 2>/dev/null; or test -z "$TMUX" - exec tmux new-session -A -s 0 - end - end - end - ''; - loginShellInit = lib.mkIf swayEnabled '' - if test -z "$DISPLAY"; and test (tty) = "/dev/tty1" - exec sway - end - ''; + interactiveShellInit = builtins.readFile ./interactive.fish; + loginShellInit = builtins.readFile ./login.fish; }; + xdg.configFile."fish/functions" = { source = ./functions; recursive = true; -- cgit v1.2.3