anchor.diff:        home.file.".bashrc".text = ''
           # -*- mode: sh -*-
   
  -        # Skip if not running interactively.
  -        [ -z "$PS1" ] && return
  -
  -        ${export "HISTSIZE" cfg.historySize}
  -        ${export "HISTFILESIZE" cfg.historyFileSize}
  -        ${exportIfNonEmpty "HISTCONTROL" histControlStr}
  -        ${exportIfNonEmpty "HISTIGNORE" histIgnoreStr}
  -
  -        ${shoptsStr}
  -
  -        ${aliasesStr}
  -
  -        ${cfg.initExtra}
  -
  -        ${optionalString cfg.enableAutojump
  -          ". ${pkgs.autojump}/share/autojump/autojump.bash"}
  +        ${cfg.bashrcExtra}
         '';
   
         home.packages =
  
positive.code:         '';
        };
  
        initExtra = mkOption {
          default = "";
          type = types.lines;
  
negative.code:         mapAttrsToList export (cfg.sessionVariables // globalEnvVars)
        );
      in mkIf cfg.enable {
        programs.bash.bashrcExtra = ''
          # Commands that should be applied only for interactive shells.
          if [[ -n $PS1 ]]; then
            ${export "HISTSIZE" cfg.historySize}
            ${export "HISTFILESIZE" cfg.historyFileSize}
            ${exportIfNonEmpty "HISTCONTROL" histControlStr}
            ${exportIfNonEmpty "HISTIGNORE" histIgnoreStr}
  
            ${shoptsStr}
  
            ${aliasesStr}
  
            ${cfg.initExtra}
  
            ${optionalString cfg.enableAutojump
              ". ${pkgs.autojump}/share/autojump/autojump.bash"}
          fi
        '';
  
        home.file.".bash_profile".text = ''
          # -*- mode: sh -*-
  
  