mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-12-02 13:06:11 +01:00
75 lines
2.1 KiB
Nix
75 lines
2.1 KiB
Nix
{ nixpkgs, nixpkgs-unstable, nixpkgs-master }:
|
|
inputs:
|
|
let
|
|
name = "emacs";
|
|
version = "28";
|
|
|
|
emacs-overlay = inputs.emacs-overlay.overlay nixpkgs nixpkgs;
|
|
hunspell-with-dicts = with nixpkgs; dicts:
|
|
let
|
|
searchPath = lib.makeSearchPath "share/hunspell" dicts;
|
|
in
|
|
stdenv.mkDerivation {
|
|
name = (appendToName "with-dicts" hunspell).name;
|
|
buildInputs = [ makeWrapper ];
|
|
buildCommand = ''
|
|
makeWrapper ${hunspell.bin}/bin/hunspell $out/bin/hunspell --prefix DICPATH : ${searchPath}
|
|
'';
|
|
meta = removeAttrs hunspell.meta ["outputsToInstall"];
|
|
};
|
|
emacs = with nixpkgs; with emacs-overlay; ((emacsGit.overrideAttrs (
|
|
old: {
|
|
src = inputs.emacs;
|
|
buildInputs = old.buildInputs ++ [ jansson harfbuzz.dev glib-networking ];
|
|
makeFlags = [ "NATIVE_FULL_AOT=1" ];
|
|
inherit name version;
|
|
}
|
|
)).override { nativeComp = true; });
|
|
vtermModule = with nixpkgs; stdenv.mkDerivation {
|
|
name = "vtermModule";
|
|
src = inputs.vtermModule;
|
|
buildInputs = [ cmake libtool glib.dev libvterm-neovim ];
|
|
cmakeFlags = [
|
|
"-DEMACS_SOURCE=${emacs.src}"
|
|
"-DUSE_SYSTEM_LIBVTERM=ON"
|
|
];
|
|
installPhase = ''
|
|
mkdir -p $out/lib
|
|
install ../vterm-module.so $out/lib
|
|
'';
|
|
};
|
|
in
|
|
with nixpkgs; stdenv.mkDerivation {
|
|
name = "emacs";
|
|
buildInputs = [ makeWrapper emacs ];
|
|
unpackPhase = "true";
|
|
buildPhase = "true";
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
ln -s ${emacs}/bin/emacsclient $out/bin/emacsclient
|
|
makeWrapper ${emacs}/bin/emacs $out/bin/emacs --prefix PATH : ${lib.makeBinPath [
|
|
nodePackages.pyright
|
|
python38Full
|
|
nodePackages.typescript-language-server
|
|
|
|
fira-code
|
|
|
|
rust-analyzer
|
|
|
|
(hunspell-with-dicts [ hunspellDicts.en_US ])
|
|
|
|
w3m
|
|
sqlite
|
|
|
|
webkitgtk
|
|
|
|
ghostscript
|
|
imagemagick
|
|
(texlive.combine { inherit (texlive) scheme-small siunitx amsmath ulem dvipng wrapfig cancel capt-of; })
|
|
texlab
|
|
|
|
gcc
|
|
]} --prefix EMACSLOADPATH : ${vtermModule}/lib:
|
|
'';
|
|
}
|