NixOS - emacs-eaf/emacs-application-framework GitHub Wiki
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