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 = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
@@ -13,11 +9,19 @@
|
|||||||
set -g fish_key_bindings fish_vi_key_bindings
|
set -g fish_key_bindings fish_vi_key_bindings
|
||||||
# accept completion with ctrl-y
|
# accept completion with ctrl-y
|
||||||
bind --mode insert \cy forward-char
|
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 = {
|
shellAbbrs = {
|
||||||
la = "ls -lahH";
|
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, ... }:
|
{ 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;
|
programs.fish.enable = true;
|
||||||
users.defaultUserShell = pkgs.fish;
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user