This commit is contained in:
RootHost-Stormwind
2025-01-13 01:09:41 +01:00
parent 3dbfc323e6
commit abdeb14b9b
3 changed files with 51 additions and 1 deletions

28
user/stormwind/fish.nix Normal file
View File

@@ -0,0 +1,28 @@
{ config, pkgs, ... }:
# These are all scoped in home-manager.users.stormwind.
{
programs.fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting # Disable greeting
fish_vi_key_bindings # Vi bindings
'';
plugins = [
# Enable a plugin (here grc for colorized command output) from nixpkgs
{ name = "grc"; src = pkgs.fishPlugins.grc.src; }
# Manually packaging and enable a plugin
{
name = "z";
src = pkgs.fetchFromGitHub {
owner = "jethrokuan";
repo = "z";
rev = "e0e1b9dfdba362f8ab1ae8c1afc7ccf62b89f7eb";
sha256 = "0dbnir6jbwjpjalz14snzd3cgdysgcs3raznsijd6savad3qhijc";
};
}
];
};
}

View File

@@ -1,6 +1,27 @@
{ config, pkgs, ... }:
{
# Also install these globally
programs.fish.enable = true;
environment.systemPackages = with pkgs; [
fishPlugins.done
fishPlugins.fzf-fish
fishPlugins.forgit
fishPlugins.hydro
fzf
fishPlugins.grc
grc
];
# Keep bash as the interactive shell (bcuz fish is not posix compliant) and launch fish immediately
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
'';
# Define a user account. Don't forget to set a password with passwd.
users.users.stormwind = {
isNormalUser = true;
@@ -21,6 +42,7 @@
imports =
[
./git.nix
./fish.nix
];
home.stateVersion = "24.11";