summary refs log tree commit diff stats
path: root/nix/.config/nixpkgs/emacs.nix
blob: 84b1831fd27828d8a3c59a9c0e5e3ebd72e874fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
{ pkgs ? import <nixpkgs> {}, stdenv }:

let
  myEmacs = if stdenv.isDarwin then pkgs.emacs25Macport else pkgs.emacs;
  emacsWithPackages = (pkgs.emacsPackagesNgGen myEmacs).emacsWithPackages;

  elpaBuild = import <nixpkgs/pkgs/build-support/emacs/elpa.nix> {
    inherit (pkgs) fetchurl lib stdenv texinfo;
    emacs = myEmacs;
  };

  hook-helpers = pkgs.callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
    pname = "hook-helpers";
    version = "1.1";
    src = fetchurl {
      url = "http://elpa.gnu.org/packages/hook-helpers-1.1.tar";
      sha256 = "0xvabl0lfc0ijr98clsyh0bqk2fdi1ncl0knn58j2p30gn9958i5";
    };
    packageRequires = [];
    meta = {
      homepage = https://savannah.nongnu.org/projects/hook-helpers-el/;
      license = lib.licenses.free;
    };
  }) {
    inherit elpaBuild;
    inherit (pkgs) fetchurl lib;
  };

  dired-du = pkgs.callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
    pname = "dired-du";
    version = "0.5";
    src = fetchurl {
      url = "http://elpa.gnu.org/packages/dired-du-0.5.tar";
      sha256 = "09yj37p2fa5f81fqrzwghjkyy2ydsf4rbkfwpn2yyvzd5nd97bpl";
    };
    packageRequires = [];
    meta = {
      homepage = https://github.com/calancha/dired-du;
      license = lib.licenses.free;
    };
  }) {
    inherit elpaBuild;
    inherit (pkgs) fetchurl lib;
  };
in
  emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
    diminish
    bind-key
    use-package
  ]) ++ (with epkgs.melpaPackages; [
    ace-link
    ace-window
    add-node-modules-path
    ag
    async
    auto-compile
    avy
    bbdb
    beginend
    cider
    clj-refactor
    clojure-mode
    cmd-to-echo
    coffee-mode
    command-log-mode
    company
    company-go
    company-nixos-options
    company-restclient
    company-tern
    company-web
    counsel
    counsel-projectile
    crux
    cyphejor
    dired-du
    dired-narrow
    dired-plus
    dired-subtree
    discover-my-major
    dockerfile-mode
    dtrt-indent
    dumb-jump
    easy-hugo
    editorconfig
    elisp-slime-nav
    emmet-mode
    ensime
    exec-path-from-shell
    expand-region
    eyebrowse
    eziam-theme
    flow-minor-mode
    flycheck
    flycheck-flow
    flycheck-pos-tip
    flycheck-vale
    geiser
    ggtags
    ghq
    git-gutter-fringe
    git-messenger
    git-timemachine
    go-eldoc
    go-mode
    go-projectile
    goto-chg
    haskell-mode
    highlight-stages
    imenu-anywhere
    indium
    jinja2-mode
    js2-mode
    js2-refactor
    json-mode
    ledger-mode
    lua-mode
    magit
    markdown-mode
    move-text
    multiple-cursors
    nginx-mode
    nix-mode
    org-journal
    page-break-lines
    paredit
    password-store
    projectile
    projectile-ripgrep
    quickrun
    redshank
    relative-buffers
    restclient
    ripgrep
    scala-mode
    scss-mode
    shrink-whitespace
    slime
    smart-tabs-mode
    smartparens
    smex
    swiper
    tern
    undo-tree
    visual-regexp
    volatile-highlights
    web-mode
    wgrep-ag
    which-key
    yaml-mode
  ]) ++ (with epkgs.elpaPackages; [
    beacon
  ]) ++ [
    hook-helpers                #  defined above
    # From main packages set
  ])