System/applications/emacs.nix

57 lines
1.6 KiB
Nix
Raw Normal View History

{ config, pkgs, doomEmacs, ... }:
2021-12-20 13:37:26 -05:00
{
# Install emacs
2022-06-13 23:23:50 -04:00
environment.systemPackages = with pkgs; [
2022-05-02 20:13:18 -04:00
# For markdown rendering
2022-06-13 23:23:50 -04:00
python39Packages.grip
# For graph generation
2022-06-13 23:23:50 -04:00
graphviz
2022-06-29 06:46:55 -04:00
sqlite
2022-07-01 20:22:12 -04:00
# For latex editing
texlive.combined.scheme-medium
2021-12-20 13:37:26 -05:00
];
2022-04-21 15:18:47 -04:00
# Utilize home-manager
home-manager.users.nathan = {
# Nixify doomEmacs
2022-05-25 04:48:14 -04:00
# TODO:Reenable, currently off because of ghub
2022-04-21 15:18:47 -04:00
imports = [ doomEmacs ];
programs.doom-emacs = {
2022-06-13 13:28:10 -04:00
enable = true;
2022-04-21 15:18:47 -04:00
doomPrivateDir = ../doom.d;
2022-07-01 20:22:12 -04:00
emacsPackagesOverlay = self: super: {
org-protocol-capture-html = self.trivialBuild {
pname = "org-protocol-capture-html";
ename = "org-protocol-capture-html";
version = "0.0.0";
buildInputs = [ self.s ];
src = pkgs.fetchFromGitHub {
owner = "alphapapa";
repo = "org-protocol-capture-html";
rev = "3359ce9a2f3b48df26329adaee0c4710b1024250";
hash = "sha256-ueEHJCS+aHYCnd4Lm3NKgqg+m921nl5XijE9ZnSRQXI=";
};
};
};
2022-06-13 23:23:50 -04:00
emacsPackage = pkgs.emacsPgtkNativeComp;
2022-04-21 15:18:47 -04:00
};
2022-07-01 20:22:12 -04:00
# Configure org protocol handler
home.packages = (with pkgs; [
(makeDesktopItem {
name = "org-protocol";
exec = "emacsclient %u";
comment = "Org protocol";
desktopName = "org-protocol";
type = "Application";
mimeTypes = [ "x-scheme-handler/org-protocol" ];
})
]);
2022-04-21 15:18:47 -04:00
# Startup service
services.emacs = {
2022-04-22 14:59:06 -04:00
enable = pkgs.stdenv.isLinux;
2022-04-21 15:18:47 -04:00
client.enable = true;
defaultEditor = true;
2022-05-25 14:25:39 -04:00
};
2022-04-21 15:18:47 -04:00
};
2021-12-20 13:37:26 -05:00
}