{ config , lib , pkgs , ... }: with lib; let cfg = config.my.shell; in { options.my.shell = { 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; }; }; }