Files
sydnix/modules/home/users/msyds/emacs.nix
Madeleine Sydney Ślaga 1f0c248b24
Some checks failed
build / build (push) Failing after 1m17s
fix(emacs): set eshell aliases file envvar
2026-03-31 11:47:47 -06:00

61 lines
1.5 KiB
Nix
Executable File

{ config, lib, pkgs, ... }@args:
let cfg = config.sydnix.users.msyds.emacs;
in {
options.sydnix.users.msyds.emacs = {
enable = lib.mkEnableOption ''Emacs, à la msyds'';
userDir = lib.mkOption {
description = ''
The path to the Emacs user directory.
'';
default = "/persist/dots/modules/home/users/msyds/emacs";
type = lib.types.path;
};
package = lib.mkPackageOption pkgs "emacs" {
default = [ "emacs-pgtk" ];
};
};
imports = [
./emacs/nix/jinx.nix
./emacs/nix/tufte-latex.nix
./emacs/nix/plex-latex.nix
./emacs/nix/treesit.nix
];
config = lib.mkIf cfg.enable {
sydnix.users.msyds.emacs = {
jinx.enable = true;
tufte-latex.enable = true;
plex-latex.enable = true;
treesit.enable = true;
};
home.sessionVariables = {
ESHELL_ALIASES_FILE = pkgs.writeText "eshell-aliases" ''
alias cdp syd-project-cd
alias jj jj --no-pager $*
${lib.concatMapAttrsStringSep
"\n"
(alias: value: "alias ${alias} ${value} $*")
config.home.shellAliases}
'';
};
sydnix.emacs = {
enable = true;
defaultEditor = true;
inherit (cfg) userDir;
fontPackages = [
pkgs.julia-mono
pkgs.nerd-fonts.victor-mono
pkgs.ibm-plex
];
extraWrapProgramArgs = [
"--set" "ESHELL_ALIASES_FILE"
config.home.sessionVariables.ESHELL_ALIASES_FILE
];
};
};
}