From 8fa6e46dffaa30be5bcafef9b76170b5790148cb Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Fri, 2 May 2025 16:54:14 +0200 Subject: ... --- accounts/gkleen@sif/default.nix | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index e900370b..44609927 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix @@ -50,6 +50,17 @@ let }; lockCommand = "${lib.getExe' config.systemd.package "systemctl"} --user start gtklock.service"; + + editor = pkgs.symlinkJoin { + inherit (cfg.services.emacs.package) name; + buildInputs = with pkgs; [ makeWrapper ]; + paths = [ cfg.services.emacs.package ]; + postBuild = '' + wrapProgram $out/bin/emacsclient \ + --inherit-argv0 \ + --add-flags ${lib.escapeShellArgs cfg.services.emacs.client.arguments} + ''; + }; in { imports = with flake.nixosModules.userProfiles.${userName}; [ mpv yt-dlp (args: import ./xcompose.nix (inputs // args)) @@ -281,7 +292,7 @@ in { gh = { enable = true; settings = { - editor = lib.getExe' config.home-manager.users.${userName}.programs.emacs.package "emacsclient"; + editor = lib.getExe' editor "emacsclient"; gitProtocol = "ssh"; }; }; @@ -354,7 +365,7 @@ in { socketActivation.enable = true; client = { enable = true; - arguments = mkForce ["--reuse-frame" "--alternate-editor" "\"\""]; + arguments = mkForce ["--create-frame" "--alternate-editor" (lib.getExe cfg.services.emacs.package)]; }; }; gpg-agent = { @@ -503,11 +514,7 @@ in { QT_QPA_PLATFORMTHEME = "qt5ct"; LIBVIRT_DEFAULT_URI = "qemu:///system"; STACK_XDG = 1; - EDITOR = pkgs.writeShellScript "editor" '' - args=("--reuse-frame" "--alternate-editor" "") - args+=("$@") - exec -a emacsclient ${lib.getExe' cfg.services.emacs.package "emacsclient"} "''${args[@]}" - ''; + EDITOR = lib.getExe' editor "emacsclient"; RCLONE_PASSWORD_COMMAND = "${lib.getExe' pkgs.libsecret "secret-tool"} lookup service rclone"; }; -- cgit v1.2.3