anchor.diff:  
     cfg = config.services.jupyter;
   
  -  # NOTE: We don't use top-level jupyter because we don't
  -  # want to pass in JUPYTER_PATH but use .environment instead,
  -  # saving a rebuild.
  -  package = pkgs.python3.pkgs.notebook;
  +  package = cfg.package;
   
     kernels = (pkgs.jupyter-kernel.create  {
       definitions = if cfg.kernels != null
  
positive.code: 
          serviceConfig = {
            Restart = "always";
            ExecStart = ''${package}/bin/jupyter-notebook \
              --no-browser \
              --ip=${cfg.ip} \
              --port=${toString cfg.port} --port-retries 0 \
  
negative.code:       description = ''
          IP address Jupyter will be listening on.
        '';
      };
  
      package = mkOption {
        type = types.package;
        # NOTE: We don't use top-level jupyter because we don't
        # want to pass in JUPYTER_PATH but use .environment instead,
        # saving a rebuild.
        default = pkgs.python3.pkgs.notebook;
        description = ''
          Jupyter package to use.
        '';
      };
  
      command = mkOption {
        type = types.str;
        default = "jupyter-notebook";
        example = "jupyter-lab";
        description = ''
          Which command the service runs. Note that not all jupyter packages
          have all commands, e.g. jupyter-lab isn't present in the default package.
         '';
      };
  
      port = mkOption {
  