{ config, pkgs, ... }:

{
  environment.systemPackages = with pkgs.haskellPackages; with pkgs; [
    idea.idea-community
    # idea.clion
    texlive.combined.scheme-full biber
    gimp
    inkscape
    # jabref
    libreoffice-fresh
    # calibre
    # goldendict

    xournal
    # (xournalpp.overrideDerivation (_: {
    #   patches = [
    #     ./xournalpp-cursor-blink.patch
    #   ];
    # }))

    vscode
    ccls

    # stack

    elan
    # coq
    # emacsPackages.proofgeneral

    # virtmanager

    (if lib.hasAttr "curaPlugins" pkgs then
      cura.override {
        plugins = with curaPlugins; [ octoprint rawmouse ];
      }
     else cura)
    openscad
    freecad
    calculix
    meshlab

    audacious
    flac
    clementine

    uvccapture

    yarn

    gnome3.baobab

    rustup
  ] ++ (with aspellDicts; [ en de fr nl ]);

  programs.wireshark = {
    enable = true;
    package = pkgs.wireshark;
  };

  hardware.opengl.driSupport32Bit = true;

}