emacs: init
This commit is contained in:
parent
d966cffe7f
commit
42c9db2d45
3 changed files with 153 additions and 45 deletions
|
@ -10,27 +10,62 @@
|
|||
inherit (lib) mkIf;
|
||||
|
||||
# Taken from outfoxxed since figuring this out is really annoying.
|
||||
# newpkgs =
|
||||
# pkgs.appendOverlays
|
||||
# (with inputs.emacs-overlay.overlays; [
|
||||
# emacs
|
||||
# package
|
||||
# ]);
|
||||
newpkgs =
|
||||
pkgs.appendOverlays
|
||||
(with inputs.emacs-overlay.overlays; [
|
||||
emacs
|
||||
package
|
||||
|
||||
# custom-emacs = with newpkgs;
|
||||
# (emacsPackagesFor emacs-pgtk)
|
||||
# .emacsWithPackages (epkgs:
|
||||
# with epkgs; [
|
||||
# vterm
|
||||
# treesit-grammars.with-all-grammars
|
||||
# ]);
|
||||
(_: prev: {
|
||||
tree-sitter = prev.tree-sitter.override {
|
||||
extraGrammars = {
|
||||
tree-sitter-qmljs = {
|
||||
version = "master";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "yuja";
|
||||
repo = "tree-sitter-qmljs";
|
||||
rev = "35ead5b9955cdb29bcf709d622fa960ff33992b6";
|
||||
sha256 = "jT47lEGuk6YUjcHB0ZMyL3i5PqyUaCQmt0j78cUpy8Q=";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
]);
|
||||
|
||||
tree-sitter-parsers = grammars:
|
||||
with grammars; [
|
||||
tree-sitter-qmljs
|
||||
];
|
||||
|
||||
emaks = with newpkgs;
|
||||
(emacsPackagesFor (emacs-pgtk.override {withNativeCompilation = true;}))
|
||||
.emacsWithPackages (epkgs:
|
||||
with epkgs; let
|
||||
qml-ts-mode = trivialBuild {
|
||||
pname = "qml-ts-mode";
|
||||
version = "master";
|
||||
src = fetchFromGitHub {
|
||||
owner = "outfoxxed";
|
||||
repo = "qml-ts-mode";
|
||||
rev = "b24b9e78305ed045baa136782623ad16de01b7b8";
|
||||
sha256 = "PgXm/a92cX5zjA9blTrIRH7DfOUczRwb9oBcMMEzF2I=";
|
||||
};
|
||||
};
|
||||
in [
|
||||
vterm
|
||||
treesit-grammars.with-all-grammars
|
||||
(treesit-grammars.with-grammars (grammars: tree-sitter-parsers grammars))
|
||||
qml-ts-mode
|
||||
]);
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.${username} = {
|
||||
home.packages = with pkgs; [
|
||||
# custom-emacs
|
||||
emaks
|
||||
|
||||
clang-tools
|
||||
emacs30-pgtk
|
||||
# emacs30-pgtk
|
||||
binutils
|
||||
|
||||
## Doom dependencies
|
||||
|
@ -41,9 +76,6 @@ in {
|
|||
## Optional dependencies
|
||||
fd # faster projectile indexing
|
||||
imagemagick # for image-dired
|
||||
(mkIf (config.programs.gnupg.agent.enable)
|
||||
pinentry-emacs) # in-emacs gnupg prompts
|
||||
zstd # for undo-fu-session/undo-tree compression
|
||||
## Module dependencies
|
||||
# :email mu4e
|
||||
mu
|
||||
|
@ -62,7 +94,7 @@ in {
|
|||
|
||||
services.emacs = {
|
||||
enable = true;
|
||||
package = pkgs.emacs30-pgtk;
|
||||
package = emaks;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue