{ options , config , lib , pkgs , ... }: with lib; with lib.metacfg; let cfg = config.metacfg.base; in { options.metacfg.base = with types; { enable = mkBoolOpt false "Whether or not to enable the base config."; }; config = mkIf cfg.enable { environment = { systemPackages = with pkgs; [ alacritty age delta git git-crypt git-delete-merged-branches home-manager htop mosh nixpkgs-fmt openssl restic rrsync sops tmux vim wget starship ]; shells = [ pkgs.fish pkgs.bash ]; }; programs = { bash = { ## shellInit = '' interactiveShellInit = '' bind '"\e[A": history-search-backward' bind '"\e[B": history-search-forward' ''; }; fish.enable = true; }; security = { pam.enableSudoTouchIdAuth = true; }; }; }