Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { config, pkgs, ... }:
- let
- pdf-tools-rev = "9a63f3909e5a331b6974deb03abd2c4bad42c2d9";
- pdf-tools-src = pkgs.fetchFromGitHub {
- owner = "politza";
- repo = "pdf-tools";
- rev = pdf-tools-rev;
- sha256 = "11i4kbwclwyvznyd9q69fq36fjasvs72ziz0555hl3fjbbq0n71q";
- };
- emacs-overrides = (self: super: rec {
- emacs = (super.emacs.override {srcRepo = true;}).overrideAttrs (old: rec {
- name = "emacs-${version}${versionModifier}";
- version = "27.0.50";
- versionModifier = "-git";
- src = pkgs.fetchFromGitHub {
- owner = "emacs-mirror";
- repo = "emacs";
- rev = "0a5212b99666b9ba0543a62cdbb12ee0685820f3";
- sha256 = "038kasdll0332vdpyc29xlkdj801sivz3ssnyz0dqr3gcavpk5yv";
- };
- patches = [];
- imagemagick = pkgs.unstable.imagemagickBig;
- });
- pdf-tools = super.pdf-tools.overrideAttrs (attrs: {
- src = pdf-tools-src;
- });
- });
- custom-emacs-and-packages =
- (pkgs.unstable.emacsPackagesNg.overrideScope' emacs-overrides).emacsWithPackages (p: with p; [
- pdf-tools
- ]);
- pdf-tools-server = pkgs.stdenv.mkDerivation rec {
- pname = "emacs-pdf-tools-server";
- version = "0.9-" + pdf-tools-rev;
- name = "${pname}-${version}";
- src = pdf-tools-src;
- buildInputs = (with pkgs; [
- gcc gnumake automake autoconf pkgconfig libpng zlib poppler
- ]);
- preConfigure = ''
- cd server
- ./autogen.sh
- '';
- installPhase = ''
- echo hello
- mkdir -p $out/bin
- cp -p epdfinfo $out/bin
- '';
- meta = with pkgs.stdenv.lib; {
- homepage = https://github.com/politza/pdf-tools;
- description = "Emacs support library for PDF files";
- maintainers = with maintainers; [ jwiegley ];
- license = licenses.gpl3;
- platforms = platforms.unix;
- };
- };
- in
- {
- imports = [
- # External binaries used by Emacs
- ./mu.nix
- ./latex.nix
- ];
- environment.systemPackages =
- [custom-emacs-and-packages] ++
- (with pkgs.unstable; [
- gcc # required for some custom compilation steps
- shellcheck # linter for bash files
- pdf-tools-server # PDF viewer
- nodePackages.textlint # linter for text
- ]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement