diff --git a/modules/base/fish.nix b/modules/base/fish.nix index e3bfcc4..01b25bc 100644 --- a/modules/base/fish.nix +++ b/modules/base/fish.nix @@ -2,18 +2,38 @@ # https://nixos.wiki/wiki/Fish # https://nixos.wiki/wiki/Command_Shell + programs.fish = { + enable = true; + interactiveShellInit = '' + # fzf: use ctrl+f to list files and ctrl+g to show the git log + fzf_configure_bindings --directory=\cf --git_log=\cg + ''; + }; + + # Installing a fish plugin automatically enables it environment.systemPackages = with pkgs; [ fishPlugins.colored-man-pages fishPlugins.fzf-fish fishPlugins.pure ]; - programs.fish = { - enable = true; - interactiveShellInit = '' - fzf_configure_bindings --directory=\cf --git_log=\cg - ''; - }; + # Set fish as the default shell system-wide users.defaultUserShell = pkgs.fish; + + # Add fish to the list of permissible login shells for user accounts environment.shells = with pkgs; [ fish ]; + + # Enabling fish in both NixOS and home manager is required to pick + # up completions and environment variables set by NixOS nixpkgs _and_ + # home manager modules at the same time. + # As a test, the environment variables from + # $ nix repl + # > :lf . + # > :p nixosConfigurations.omega.config.home-manager.users.caspervk.home.sessionVariables + # > :p nixosConfigurations.omega.config.home-manager.users.caspervk.home.sessionVariablesExtra + # should be available in the desktop environment's shell. + # See https://nix-community.github.io/home-manager/index.html#_why_are_the_session_variables_not_set. + home-manager.users.caspervk = { + programs.fish.enable = true; + }; } diff --git a/modules/base/vim/default.nix b/modules/base/vim/default.nix index 7c43307..a40dfdf 100644 --- a/modules/base/vim/default.nix +++ b/modules/base/vim/default.nix @@ -32,6 +32,4 @@ extraLuaConfig = builtins.readFile ./config.lua; }; }; - - environment.variables.EDITOR = "vim"; }