Use fish only as login shell and keep bash as system shell
This commit is contained in:
@@ -1,9 +1,5 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
fishPlugins.tide
|
||||
];
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
@@ -13,11 +9,19 @@
|
||||
set -g fish_key_bindings fish_vi_key_bindings
|
||||
# accept completion with ctrl-y
|
||||
bind --mode insert \cy forward-char
|
||||
# initialize prompt
|
||||
# tide configure --auto --style=Lean --prompt_colors='16 colors' --show_time=No --lean_prompt_height='Two lines' --prompt_connection=Disconnected --prompt_spacing=Compact --icons='Few icons' --transient=Yes
|
||||
'';
|
||||
shellAbbrs = {
|
||||
la = "ls -lahH";
|
||||
};
|
||||
plugins = with pkgs.fishPlugins; [
|
||||
{
|
||||
name = "tide";
|
||||
inherit (tide) src;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
home.activation.configure-tide = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
${pkgs.fish}/bin/fish -c "tide configure --auto --style=Lean --prompt_colors='16 colors' --show_time=No --lean_prompt_height='Two lines' --prompt_connection=Disconnected --prompt_spacing=Compact --icons='Few icons' --transient=Yes"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.bash = {
|
||||
interactiveShellInit = ''
|
||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||
then
|
||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||
fi
|
||||
'';
|
||||
};
|
||||
programs.fish.enable = true;
|
||||
users.defaultUserShell = pkgs.fish;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user