From e00331bf9436cf0555d72e29f17fa151fb61fa0d Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sat, 18 Jan 2025 21:26:17 -0500 Subject: [PATCH] Wrap emacs settings in a mkMerge. --- nix/configuration/roles/emacs/default.nix | 69 ++++++++++++----------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/nix/configuration/roles/emacs/default.nix b/nix/configuration/roles/emacs/default.nix index 1d14883..eb82469 100644 --- a/nix/configuration/roles/emacs/default.nix +++ b/nix/configuration/roles/emacs/default.nix @@ -39,43 +39,48 @@ let e_shorthand = pkgs.writeShellScriptBin "e" '' exec ${pkgs.emacs29-pgtk}/bin/emacs "''${@}" ''; + in { imports = [ ]; - environment.systemPackages = with pkgs; [ - plainmacs - e_shorthand - emacs29-pgtk - clang # To compile tree-sitter grammars - nixd # nix language server - nixfmt-rfc-style # auto-formatting nix files through nixd - ]; - - home-manager.users.talexander = - { pkgs, ... }: + config = lib.mkMerge [ { - home.file.".config/emacs" = { - source = ./files/emacs; - recursive = true; + environment.systemPackages = with pkgs; [ + plainmacs + e_shorthand + emacs29-pgtk + clang # To compile tree-sitter grammars + nixd # nix language server + nixfmt-rfc-style # auto-formatting nix files through nixd + ]; + + home-manager.users.talexander = + { pkgs, ... }: + { + home.file.".config/emacs" = { + source = ./files/emacs; + recursive = true; + }; + }; + + environment.persistence."/state" = lib.mkIf (!config.me.buildingIso) { + hideMounts = true; + users.talexander = { + directories = [ + ".config/emacs/eln-cache" # Installed packages + ".config/emacs/elpa" # Installed packages + ".config/emacs/private" # For recentf + ".config/emacs/tree-sitter" # Compiled tree-sitter grammars + ]; + files = [ + ".config/emacs/history" # For savehist + ".config/emacs/.last-package-update-day" # For use-package + ]; + }; }; - }; - environment.persistence."/state" = lib.mkIf (!config.me.buildingIso) { - hideMounts = true; - users.talexander = { - directories = [ - ".config/emacs/eln-cache" # Installed packages - ".config/emacs/elpa" # Installed packages - ".config/emacs/private" # For recentf - ".config/emacs/tree-sitter" # Compiled tree-sitter grammars - ]; - files = [ - ".config/emacs/history" # For savehist - ".config/emacs/.last-package-update-day" # For use-package - ]; - }; - }; - - environment.variables.EDITOR = "${plainmacs}/bin/plainmacs"; + environment.variables.EDITOR = "${plainmacs}/bin/plainmacs"; + } + ]; }