mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 00:57:22 +01:00
79 lines
2.6 KiB
Nix
79 lines
2.6 KiB
Nix
{ self, lib, config, pkgs, ... }:
|
|
let
|
|
inherit (config.swarselsystems) homeDir isPublic isNixos;
|
|
in
|
|
{
|
|
options.swarselmodules.emacs = lib.mkEnableOption "emacs settings";
|
|
config = lib.mkIf config.swarselmodules.emacs {
|
|
# needed for elfeed
|
|
sops.secrets.fever-pw = lib.mkIf (!isPublic && !isNixos) { path = "${homeDir}/.emacs.d/.fever"; };
|
|
|
|
# enable emacs overlay for bleeding edge features
|
|
# also read init.el file and install use-package packages
|
|
programs.emacs = {
|
|
enable = true;
|
|
package = pkgs.emacsWithPackagesFromUsePackage {
|
|
config = self + /files/emacs/init.el;
|
|
package = pkgs.emacs-git-pgtk;
|
|
alwaysEnsure = true;
|
|
alwaysTangle = true;
|
|
extraEmacsPackages = epkgs: [
|
|
epkgs.mu4e
|
|
epkgs.use-package
|
|
epkgs.lsp-bridge
|
|
epkgs.doom-themes
|
|
epkgs.vterm
|
|
epkgs.treesit-grammars.with-all-grammars
|
|
|
|
# build the rest of the packages myself
|
|
# org-calfw is severely outdated on MELPA and throws many warnings on emacs startup
|
|
# build the package from the haji-ali fork, which is well-maintained
|
|
|
|
(epkgs.trivialBuild rec {
|
|
pname = "eglot-booster";
|
|
version = "main-29-10-2024";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "jdtsmith";
|
|
repo = "eglot-booster";
|
|
rev = "e6daa6bcaf4aceee29c8a5a949b43eb1b89900ed";
|
|
hash = "sha256-PLfaXELkdX5NZcSmR1s/kgmU16ODF8bn56nfTh9g6bs=";
|
|
};
|
|
|
|
packageRequires = [ epkgs.jsonrpc epkgs.eglot ];
|
|
})
|
|
(epkgs.trivialBuild rec {
|
|
pname = "calfw";
|
|
version = "1.0.0-20231002";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "haji-ali";
|
|
repo = "emacs-calfw";
|
|
rev = "bc99afee611690f85f0cd0bd33300f3385ddd3d3";
|
|
hash = "sha256-0xMII1KJhTBgQ57tXJks0ZFYMXIanrOl9XyqVmu7a7Y=";
|
|
};
|
|
packageRequires = [ epkgs.howm ];
|
|
})
|
|
|
|
(epkgs.trivialBuild rec {
|
|
pname = "fast-scroll";
|
|
version = "1.0.0-20191016";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "ahungry";
|
|
repo = "fast-scroll";
|
|
rev = "3f6ca0d5556fe9795b74714304564f2295dcfa24";
|
|
hash = "sha256-w1wmJW7YwXyjvXJOWdN2+k+QmhXr4IflES/c2bCX3CI=";
|
|
};
|
|
packageRequires = [ ];
|
|
})
|
|
|
|
];
|
|
};
|
|
};
|
|
|
|
services.emacs = {
|
|
enable = true;
|
|
socketActivation.enable = false;
|
|
startWithUserSession = "graphical";
|
|
};
|
|
};
|
|
}
|