summary refs log tree commit diff stats
path: root/nix/.config/nixpkgs/emacs.nix
blob: 1635e38ef290b77783df25e0af0e3b3cd7d7d194 (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
157
158
159
160
161
162
163
164
165
{
  pkgs ? import <nixpkgs> {},
  emacs ? pkgs.emacs,
  stdenv,
}:

let
  myEmacs = 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
    smartparens
  ]) ++ (with epkgs.melpaPackages; [
    ace-link
    ace-window
    add-node-modules-path
    ag
    auto-compile
    avy
    bbdb
    beginend
    cider
    clj-refactor
    clojure-mode
    cmd-to-echo
    command-log-mode
    company
    company-go
    company-restclient
    company-tern
    company-web
    counsel
    counsel-projectile
    crux
    cyphejor
    dired-narrow
    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
    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
    helpful
    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
    nix-sandbox
    outorg
    outshine
    navi-mode
    org-journal
    page-break-lines
    paredit
    password-store
    projectile
    projectile-ripgrep
    quickrun
    redshank
    relative-buffers
    restclient
    ripgrep
    rjsx-mode
    scala-mode
    scss-mode
    shrink-whitespace
    slime
    smart-tabs-mode
    smex
    suggest
    swiper
    tern
    toml-mode
    undo-tree
    visual-regexp
    volatile-highlights
    web-mode
    white-theme
    wgrep-ag
    which-key
    yaml-mode
  ]) ++ (with epkgs.elpaPackages; [
    rainbow-mode
  ]) ++ [
    # defined above
    hook-helpers
    dired-du
    # From main packages set
  ])