59 lines
1.3 KiB
Nix
59 lines
1.3 KiB
Nix
{ inputs, pkgs, ... }:
|
|
let
|
|
emacs = pkgs.emacsWithPackagesFromUsePackage {
|
|
package = pkgs.emacs-unstable;
|
|
config = ./config.org;
|
|
defaultInitFile = pkgs.callPackage ./config.nix {};
|
|
|
|
alwaysEnsure = true;
|
|
alwaysTangle = true;
|
|
|
|
extraEmacsPackages = epkgs: [
|
|
epkgs.flymake-go-staticcheck
|
|
epkgs.tree-sitter-langs
|
|
epkgs.treesit-grammars.with-all-grammars
|
|
|
|
(epkgs.trivialBuild {
|
|
pname = "eglot-booster";
|
|
version = "main-2024-04-11";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "jdtsmith";
|
|
repo = "eglot-booster";
|
|
rev = "e19dd7ea81bada84c66e8bdd121408d9c0761fe6";
|
|
hash = "sha256-vF34ZoUUj8RENyH9OeKGSPk34G6KXZhEZozQKEcRNhs=";
|
|
};
|
|
})
|
|
];
|
|
};
|
|
|
|
e = pkgs.writeShellScriptBin "e" ''
|
|
${emacs}/bin/emacs -nw $@
|
|
'';
|
|
|
|
ec = pkgs.writeShellScriptBin "ec" ''
|
|
${emacs}/bin/emacsclient -t -c -a= $@
|
|
'';
|
|
in
|
|
{
|
|
nixpkgs.overlays = [ inputs.emacs-overlay.overlay ];
|
|
|
|
home-manager.users.alex = {
|
|
home.sessionVariables = {
|
|
EDITOR = "${e}/bin/e $@";
|
|
VISUAL = "${e}/bin/e $@";
|
|
TIG_EDITOR = "${e}/bin/e $@";
|
|
};
|
|
|
|
home.packages = [
|
|
e
|
|
ec
|
|
emacs
|
|
pkgs.wl-clipboard
|
|
pkgs.emacs-lsp-booster
|
|
];
|
|
};
|
|
|
|
environment.systemPackages = [ pkgs.ripgrep ];
|
|
}
|