From 7fc42ae7f9f88bfeb6f875f9a7f3d75a7a42b561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20R=C3=B6ger?= Date: Fri, 4 Oct 2024 19:43:47 +0200 Subject: [PATCH] Home Gen348 @ 2024-10-04-19:43 --- home/jonas/doom.nix | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/home/jonas/doom.nix b/home/jonas/doom.nix index 266b71e..933c7c5 100644 --- a/home/jonas/doom.nix +++ b/home/jonas/doom.nix @@ -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 = {