Add emacs
This commit is contained in:
parent
085a4aa66f
commit
9461568a50
|
@ -25,6 +25,8 @@
|
|||
(import ../../modules/programs/git.nix { })
|
||||
../../modules/programs/core.nix
|
||||
../../modules/programs/devel.nix
|
||||
../../modules/programs/ssh.nix
|
||||
(import ../../modules/programs/emacs.nix { })
|
||||
];
|
||||
home.username = "nathan";
|
||||
home.homeDirectory = "/home/nathan/";
|
||||
|
@ -32,6 +34,9 @@
|
|||
home.stateVersion = "24.11";
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Machine specific configuration
|
||||
programs.nushell.environmentVariables = {
|
||||
VISUAL = "nvim";
|
||||
|
|
64
home-manager/modules/programs/emacs.nix
Normal file
64
home-manager/modules/programs/emacs.nix
Normal file
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
emacsPackage ? null,
|
||||
}:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
myAspell = pkgs.aspellWithDicts (d: [
|
||||
d.en
|
||||
d.en-science
|
||||
d.en-computers
|
||||
]);
|
||||
emacsPackage' = if emacsPackage == null then pkgs.emacs30-pgtk else emacsPackage;
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# For markdown rendering
|
||||
python312Packages.grip
|
||||
# For graph generation
|
||||
graphviz
|
||||
sqlite
|
||||
plantuml
|
||||
# For latex editing
|
||||
texlive.combined.scheme-medium
|
||||
# For notifications
|
||||
libnotify
|
||||
# For spelling
|
||||
myAspell
|
||||
# For nix
|
||||
# rnix-lsp
|
||||
manix
|
||||
nix-doc
|
||||
# For email
|
||||
mu
|
||||
meson
|
||||
pkg-config
|
||||
glib
|
||||
# Desktop file for org-protocol
|
||||
(makeDesktopItem {
|
||||
name = "org-protocol";
|
||||
exec = "emacsclient %u";
|
||||
comment = "Org protocol";
|
||||
desktopName = "org-protocol";
|
||||
type = "Application";
|
||||
mimeTypes = [ "x-scheme-handler/org-protocol" ];
|
||||
})
|
||||
# For format output
|
||||
# wkhtmltopdf
|
||||
];
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
package = emacsPackage';
|
||||
extraPackages = epkgs: [
|
||||
epkgs.mu4e
|
||||
epkgs.vterm
|
||||
epkgs.pdf-tools
|
||||
epkgs.emacsql
|
||||
epkgs.emacsql-sqlite
|
||||
];
|
||||
};
|
||||
}
|
|
@ -25,4 +25,6 @@
|
|||
];
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue