28 lines
619 B
Nix
28 lines
619 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
let cfg = config.module.cli.shell;
|
|
in {
|
|
options.modules.cli.shell = {
|
|
name = mkOption {
|
|
default = "fish";
|
|
type = types.enum [ "fish" "zsh" ];
|
|
example = "zsh";
|
|
};
|
|
abbreviations = mkOption {
|
|
default = { };
|
|
type = with types; attrsOf str;
|
|
example = { gs = "git status"; };
|
|
};
|
|
aliases = mkOption {
|
|
default = { };
|
|
type = with types; attrsOf (nullOr (either str path));
|
|
};
|
|
variables = mkOption {
|
|
default = { };
|
|
type = with types; attrsOf str;
|
|
};
|
|
};
|
|
|
|
imports = [ ./fish.nix ./zsh.nix ];
|
|
}
|