about summary refs log tree commit diff
path: root/home/modules/emacs.nix
blob: e7543eb1685d87ad67480a5bdb940de25f1d8c5b (plain) (blame)
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
{ pkgs, lib, ... }:

let
 # doom-emacs = pkgs.callPackage (builtins.fetchTarball {
 #   url = https://github.com/vlaci/nix-doom-emacs/archive/master.tar.gz;
 # }) {
 #   doomPrivateDir = ./doom.d;  # Directory containing your config.el init.el
 #                               # and packages.el files
 # };
in {
  imports = [ ./lib/cloneRepo.nix ];

  # home.packages = [ doom-emacs ];
  # home.file.".emacs.d/init.el".text = ''
  #     (load "default.el")
  # '';
  #

  home.packages = with pkgs; [
    # haskellPackages.Agda BROKEN

    # LaTeX (for org export)
    (pkgs.texlive.combine {
      inherit (pkgs.texlive)
        scheme-basic collection-fontsrecommended ulem
        fncychap titlesec tabulary varwidth framed fancyvrb float parskip
        wrapfig upquote capt-of needspace;
    })

    ispell

    gnutls
  ];

  programs.emacs.enable = true;

  impure.clonedRepos = {
    orgClubhouse = {
      github = "glittershark/org-clubhouse";
      path = "code/org-clubhouse";
    };

    doomEmacs = {
      github = "hlissner/doom-emacs";
      path = ".emacs.d";
      after = ["emacs.d"];
      onClone = "bin/doom install";
    };

    "emacs.d" = {
      github = "glittershark/emacs.d";
      path = ".doom.d";
      after = ["orgClubhouse"];
    };
  };

  # Notes
  services.syncthing = {
    enable = true;
    tray = true;
  };
}