mirror of
https://github.com/willemml/dotfiles.nix.git
synced 2025-04-13 03:37:18 +00:00
116 lines
2.7 KiB
Nix
116 lines
2.7 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
aspellPackage = pkgs.aspellWithDicts (d: [d.en d.en-science d.en-computers d.fr]);
|
|
emacsPackage =
|
|
(pkgs.emacsPackagesFor pkgs.emacs29).emacsWithPackages
|
|
(epkgs:
|
|
(with epkgs; let
|
|
company-mode = epkgs.trivialBuild rec {
|
|
pname = "company-mode";
|
|
version = "7c24dc8668af5aea8a5d07aeceda5fac7a2a85b5";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = pname;
|
|
repo = pname;
|
|
rev = version;
|
|
sha256 = "sha256-6aX2S4cUop1rdxweIF5f1qrgNmYd1mtWgT9T1Q1s2h8=";
|
|
};
|
|
};
|
|
org-auctex = epkgs.trivialBuild rec {
|
|
pname = "org-auctex";
|
|
version = "e1271557b9f36ca94cabcbac816748e7d0dc989c";
|
|
|
|
buildInputs = [epkgs.auctex];
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "karthink";
|
|
repo = pname;
|
|
rev = version;
|
|
sha256 = "sha256-cMAhwybnq5HA1wOaUqDPML3nnh5m1iwEETTPWqPbAvw=";
|
|
};
|
|
};
|
|
lean4-mode = epkgs.trivialBuild rec {
|
|
pname = "lean4-mode";
|
|
version = "d1c936409ade7d93e67107243cbc0aa55cda7fd5";
|
|
|
|
buildInputs = [epkgs.dash epkgs.f epkgs.magit-section epkgs.lsp-mode epkgs.s epkgs.flycheck];
|
|
|
|
postInstall = ''
|
|
cp -r data $out/share/emacs/site-lisp/data
|
|
'';
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "leanprover";
|
|
repo = pname;
|
|
rev = version;
|
|
sha256 = "sha256-tD5Ysa24fMIS6ipFc50OjabZEUge4riSb7p4BR05ReQ=";
|
|
};
|
|
};
|
|
in [
|
|
all-the-icons
|
|
all-the-icons-dired
|
|
auctex
|
|
cdlatex
|
|
citeproc
|
|
company-mode
|
|
company-sourcekit
|
|
counsel
|
|
dash
|
|
editorconfig
|
|
edit-indirect
|
|
f
|
|
flycheck
|
|
format-all
|
|
gnuplot
|
|
graphviz-dot-mode
|
|
htmlize
|
|
ivy
|
|
ivy-bibtex
|
|
lean4-mode
|
|
lsp-mode
|
|
lua-mode
|
|
magit
|
|
magit-section
|
|
meow
|
|
nix-mode
|
|
nix-update
|
|
org
|
|
org-auctex
|
|
org-contrib
|
|
org-download
|
|
org-modern
|
|
pdf-tools
|
|
plantuml-mode
|
|
polymode
|
|
poly-org
|
|
rustic
|
|
s
|
|
separedit
|
|
solarized-theme
|
|
swift-mode
|
|
swiper
|
|
yasnippet
|
|
])
|
|
++ (with pkgs; [
|
|
aspellPackage
|
|
gnuplot
|
|
plantuml
|
|
sqlite
|
|
]));
|
|
in {
|
|
home.file.".emacs.d/early-init.el".source = ./early-init.el;
|
|
home.file.".emacs.d/init.el".source = ./init.el;
|
|
|
|
programs.emacs.enable = true;
|
|
|
|
programs.emacs.package = emacsPackage;
|
|
|
|
services.emacs = pkgs.lib.mkIf pkgs.stdenv.isLinux {
|
|
enable = true;
|
|
client.enable = true;
|
|
startWithUserSession = true;
|
|
};
|
|
}
|