Home Gen348 @ 2024-10-04-19:43

This commit is contained in:
Jonas Röger 2024-10-04 19:43:47 +02:00
parent c1a7d8a028
commit 7fc42ae7f9

View File

@ -38,16 +38,12 @@
unzip
zstd
];
doom-socket-path = "${config.xdg.configHome}/doom-emacs/server.sock";
wrapped-emacs = pkgs.symlinkJoin {
name = "wrapped-emacs";
paths = [pkgs.emacs29-pgtk];
nativeBuildInputs = [pkgs.makeBinaryWrapper];
postBuild = ''
mkdir -p $out/lib/systemd/system
if [ -d ${pkgs.emacs29-pgtk}/lib/systemd/system ]; then
cp -r ${pkgs.emacs29-pgtk}/lib/systemd/system/* $out/lib/systemd/system/
fi
wrapProgram $out/bin/emacs \
--prefix PATH : ${lib.makeBinPath doom-path-pkgs} \
--add-flags "--init-directory=${config.xdg.configHome}/doom-emacs" \
@ -59,7 +55,8 @@
--prefix PATH : ${lib.makeBinPath doom-path-pkgs} \
--set DOOMDIR "${config.home.sessionVariables.DOOMDIR}" \
--set DOOMLOCALDIR "${config.home.sessionVariables.DOOMLOCALDIR}" \
--suffix LD_LIBRARY_PATH : "${pkgs.stdenv.cc.cc.lib}/lib"
--suffix LD_LIBRARY_PATH : "${pkgs.stdenv.cc.cc.lib}/lib" \
--append-flags "-s ${doom-socket-path}"
'';
};
doom-setup = pkgs.writeShellScript "doom-setup" ''
@ -88,6 +85,29 @@ in {
};
};
systemd.user.services.doom-emacs-server = {
Unit = {
Description = "Doom Emacs Server";
};
Service = {
ExecStart = "${wrapped-emacs}/bin/emacs --fg-daemon";
Restart = "on-failure";
SuccessExitStatus = 15;
};
Install = {
WantedBy = ["default.target"]; # Start with your user session
};
};
systemd.user.sockets.doom-emacs-server = {
Socket = {
ListenStream = "${doom-socket-path}";
DirectoryMode = "0700";
};
Install = {
WantedBy = ["sockets.target"];
};
};
xdg = {
enable = true;
configFile = {