Skip to content
rewine edited this page Sep 13, 2023 · 13 revisions

emacs

Since NixOS 22.05 emacs uses the Lucid toolkit by default instead of GTK. Users who still wish to remain using GTK can do so by using emacs-gtk.

environment.systemPackages = with pkgs; [
    emacs-gtk
];

If you need a user service for the Emacs daemon, use the following code instead

services.emacs = {
  enable = true;
  package = pkgs.emacs-gtk;
};

for system dependencies

Edit /etc/nixos/configuration.nix

environment.systemPackages = with pkgs; [
   git nodejs wmctrl xdotool
   # eaf-browser
   aria 
   # eaf-file-manager
   fd
];

You can also use nix-env to install,for example nix-env -iA nixos.fd

for python dependencies

with pkgs;
let
  my-python-packages = python-packages: with python-packages; [
    pandas
    requests
    sexpdata tld
    pyqt6 pyqt6-sip
    pyqt6-webengine epc lxml # for eaf
    qrcode # eaf-file-browser
    pysocks # eaf-browser
    pymupdf # eaf-pdf-viewer
    pypinyin # eaf-file-manager
    psutil # eaf-system-monitor
    retry # eaf-markdown-previewer
    markdown
  ];
  python-with-my-packages = python3.withPackages my-python-packages;

pyqtwebengine in 20.09 channel seems broken,upgrading the system or add unstable channel can solve the problem if you use NixOS 20.09

For error: qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in "",it's not necessary to install qt6.full, just set environment variables in configuration.nix

   environment.variables = {
     QT_QPA_PLATFORM_PLUGIN_PATH = "${pkgs.qt6.qtbase.outPath}/lib/qt-6/plugins";
   };

VDPAU driver with OpenGL/VAAPI backend [optional]

  hardware.opengl = {
    enable = true;
    driSupport = true;
    extraPackages = with pkgs; [
      libvdpau-va-gl
    ];
  };

Install/Update EAF applications

./install-eaf.py --ignore-core-deps