anchor.diff:          '';
         };
   
  -      # More helpful buffer names. Built-in.
  +      # More helpful buffer names.
         uniquify = {
           enable = true;
           config = ''
  
positive.code:         after = [ "evil" ];
          config = "(evil-collection-init)";
        };
  
        # Ivy
        ivy = {
  
negative.code:         };
        };
  
        # Syntax checking
        flycheck = {
          enable = true;
          commands = [ "global-flycheck-mode" ];
          config = ''
            ;; Only check buffer when mode is enabled or buffer is saved.
            (setq flycheck-check-syntax-automatically '(mode-enabled save))
  
            ;; Enable flycheck in all eligible buffers.
            (global-flycheck-mode)
          '';
        };
  
        flycheck-haskell = {
          enable = true;
          hook = [ "(flycheck-mode . flycheck-haskell-setup)" ];
        };
  
        # Languages
        systemd = {
          enable = true;
          defer = true;
        };
        nix-mode = {
          enable = true;
          mode = [ ''"\\.nix\\'"'' ];
        };
  
        haskell-mode = {
          enable = true;
          mode = [
            ''("\\.hs\\'" . haskell-mode)''
            ''("\\.hsc\\'" . haskell-mode)''
            ''("\\.c2hs\\'" . haskell-mode)''
            ''("\\.cpphs\\'" . haskell-mode)''
            ''("\\.lhs\\'" . literate-haskell-mode)''
          ];
          hook = [
            ''
              (haskell-mode
               . (lambda ()
                   (subword-mode +1)
                   (interactive-haskell-mode +1)
                   (haskell-doc-mode +1)
                   (haskell-indentation-mode +1)
                   (haskell-decl-scan-mode +1)))
            ''
          ];
          config = ''
            (require 'haskell)
            (require 'haskell-doc)
  
            (setq haskell-process-auto-import-loaded-modules t
                  haskell-process-suggest-remove-import-lines t
                  haskell-process-log t
                  haskell-tags-on-save t
                  haskell-notify-p t)
  
            (setq haskell-process-args-cabal-repl
                  '("--ghc-options=+RTS -M500m -RTS -ferror-spans -fshow-loaded-modules"))
          '';
        };
  
      };
    };
  }
  