Home Gen348 @ 2024-10-04-19:43
This commit is contained in:
parent
c1a7d8a028
commit
7fc42ae7f9
@ -38,16 +38,12 @@
|
|||||||
unzip
|
unzip
|
||||||
zstd
|
zstd
|
||||||
];
|
];
|
||||||
|
doom-socket-path = "${config.xdg.configHome}/doom-emacs/server.sock";
|
||||||
wrapped-emacs = pkgs.symlinkJoin {
|
wrapped-emacs = pkgs.symlinkJoin {
|
||||||
name = "wrapped-emacs";
|
name = "wrapped-emacs";
|
||||||
paths = [pkgs.emacs29-pgtk];
|
paths = [pkgs.emacs29-pgtk];
|
||||||
nativeBuildInputs = [pkgs.makeBinaryWrapper];
|
nativeBuildInputs = [pkgs.makeBinaryWrapper];
|
||||||
postBuild = ''
|
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 \
|
wrapProgram $out/bin/emacs \
|
||||||
--prefix PATH : ${lib.makeBinPath doom-path-pkgs} \
|
--prefix PATH : ${lib.makeBinPath doom-path-pkgs} \
|
||||||
--add-flags "--init-directory=${config.xdg.configHome}/doom-emacs" \
|
--add-flags "--init-directory=${config.xdg.configHome}/doom-emacs" \
|
||||||
@ -59,7 +55,8 @@
|
|||||||
--prefix PATH : ${lib.makeBinPath doom-path-pkgs} \
|
--prefix PATH : ${lib.makeBinPath doom-path-pkgs} \
|
||||||
--set DOOMDIR "${config.home.sessionVariables.DOOMDIR}" \
|
--set DOOMDIR "${config.home.sessionVariables.DOOMDIR}" \
|
||||||
--set DOOMLOCALDIR "${config.home.sessionVariables.DOOMLOCALDIR}" \
|
--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" ''
|
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 = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configFile = {
|
configFile = {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user