32 lines
624 B
Nix
32 lines
624 B
Nix
|
# Shell configuration, including common tools used within the shell and
|
||
|
# shell functions/aliases.
|
||
|
|
||
|
{ pkgs, lib, config, ... }:
|
||
|
|
||
|
let cfg = config.custom.fish;
|
||
|
|
||
|
in with lib; {
|
||
|
|
||
|
options.custom.fish = with types; {
|
||
|
extraAliases = mkOption {
|
||
|
default = {};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = {
|
||
|
|
||
|
# Configure the shell itself
|
||
|
programs.fish = {
|
||
|
enable = true;
|
||
|
shellAliases = {} // cfg.extraAliases;
|
||
|
};
|
||
|
|
||
|
# Configure useful additions to the shell
|
||
|
programs.direnv.enable = true;
|
||
|
programs.skim.enable = true;
|
||
|
programs.starship.enable = true;
|
||
|
programs.zoxide.enable = true;
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|