Advertisement
Guest User

Untitled

a guest
Mar 29th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. { config, pkgs, ... }:
  2.  
  3. let
  4. pdf-tools-rev = "9a63f3909e5a331b6974deb03abd2c4bad42c2d9";
  5. pdf-tools-src = pkgs.fetchFromGitHub {
  6. owner = "politza";
  7. repo = "pdf-tools";
  8. rev = pdf-tools-rev;
  9. sha256 = "11i4kbwclwyvznyd9q69fq36fjasvs72ziz0555hl3fjbbq0n71q";
  10. };
  11. emacs-overrides = (self: super: rec {
  12. emacs = (super.emacs.override {srcRepo = true;}).overrideAttrs (old: rec {
  13. name = "emacs-${version}${versionModifier}";
  14. version = "27.0.50";
  15. versionModifier = "-git";
  16. src = pkgs.fetchFromGitHub {
  17. owner = "emacs-mirror";
  18. repo = "emacs";
  19. rev = "0a5212b99666b9ba0543a62cdbb12ee0685820f3";
  20. sha256 = "038kasdll0332vdpyc29xlkdj801sivz3ssnyz0dqr3gcavpk5yv";
  21. };
  22. patches = [];
  23. imagemagick = pkgs.unstable.imagemagickBig;
  24. });
  25. pdf-tools = super.pdf-tools.overrideAttrs (attrs: {
  26. src = pdf-tools-src;
  27. });
  28. });
  29. custom-emacs-and-packages =
  30. (pkgs.unstable.emacsPackagesNg.overrideScope' emacs-overrides).emacsWithPackages (p: with p; [
  31. pdf-tools
  32. ]);
  33. pdf-tools-server = pkgs.stdenv.mkDerivation rec {
  34. pname = "emacs-pdf-tools-server";
  35. version = "0.9-" + pdf-tools-rev;
  36. name = "${pname}-${version}";
  37. src = pdf-tools-src;
  38. buildInputs = (with pkgs; [
  39. gcc gnumake automake autoconf pkgconfig libpng zlib poppler
  40. ]);
  41. preConfigure = ''
  42. cd server
  43. ./autogen.sh
  44. '';
  45. installPhase = ''
  46. echo hello
  47. mkdir -p $out/bin
  48. cp -p epdfinfo $out/bin
  49. '';
  50. meta = with pkgs.stdenv.lib; {
  51. homepage = https://github.com/politza/pdf-tools;
  52. description = "Emacs support library for PDF files";
  53. maintainers = with maintainers; [ jwiegley ];
  54. license = licenses.gpl3;
  55. platforms = platforms.unix;
  56. };
  57. };
  58. in
  59. {
  60. imports = [
  61. # External binaries used by Emacs
  62. ./mu.nix
  63. ./latex.nix
  64. ];
  65. environment.systemPackages =
  66. [custom-emacs-and-packages] ++
  67. (with pkgs.unstable; [
  68. gcc # required for some custom compilation steps
  69. shellcheck # linter for bash files
  70. pdf-tools-server # PDF viewer
  71. nodePackages.textlint # linter for text
  72. ]);
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement