home/natto/emacs: tangle when deploying

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2024-06-04 16:31:12 +05:30
parent f44ddb256b
commit 7737bc5137
2 changed files with 33 additions and 29 deletions

View File

@@ -159,13 +159,11 @@ To undo and redo easily like vi
:defer t :defer t
:config :config
(treemacs-project-follow-mode)) (treemacs-project-follow-mode))
#+end_src
#+begin_src emacs-lisp (use-package treemacs-evil :after treemacs)
(use-package treemacs-evil :defer t) (use-package treemacs-magit :after treemacs)
(use-package treemacs-magit :defer t) (use-package treemacs-projectile :after treemacs)
(use-package treemacs-projectile :defer t) (use-package treemacs-all-the-icons :after treemacs)
(use-package treemacs-all-the-icons :defer t)
#+end_src #+end_src
** LSP ** LSP
@@ -516,7 +514,8 @@ not using this anymore
:keymaps '(global override vterm-mode-map) :keymaps '(global override vterm-mode-map)
:states evil-states :states evil-states
"<f4>" (lambda () (interactive) (vterm t)) "<f4>" (lambda () (interactive) (vterm t))
"C-<f1>" 'vterm-toggle-cd "C-S-t" 'vterm-toggle-cd
"C-t" 'vterm-toggle
"<f1>" 'vterm-toggle "<f1>" 'vterm-toggle
"<f5>" (lambda () (interactive) (run-in-vterm (candrun)))) "<f5>" (lambda () (interactive) (run-in-vterm (candrun))))
(general-define-key (general-define-key

View File

@@ -1,29 +1,21 @@
{ config, pkgs, inputs, ... }: { config, pkgs, inputs, lib, ... }:
let let
mymacs = config: # with inputs.emacs-overlay.packages.${pkgs.system}; already resolved with overlay emacs = pkgs.emacs-pgtk;
with pkgs; emacsWithPackagesFromUsePackage { configFile = ./config/emacs/config.org;
inherit config; enable = true;
package = emacs-pgtk;
alwaysEnsure = true;
alwaysTangle = true;
extraEmacsPackages = epkgs: with epkgs; [
use-package
(epkgs.tree-sitter-langs.withPlugins (_: epkgs.tree-sitter-langs.plugins))
];
};
in in
{ {
nixpkgs.overlays = [ inputs.emacs-overlay.overlays.default ]; nixpkgs.overlays = [ inputs.emacs-overlay.overlays.default ];
home = { home = {
file = with config; { file = {
"config.org" = {
source = ./config/emacs/config.org;
target = "${home.homeDirectory}/.emacs.d/config.org";
};
"init.el" = { "init.el" = {
source = ./config/emacs/init.el; source = pkgs.runCommandLocal "tangle-emacs" { } ''
target = "${home.homeDirectory}/.emacs.d/init.el"; ${pkgs.coreutils}/bin/ln -s ${configFile} ./config.org
${emacs}/bin/emacs -Q --batch ./config.org -f org-babel-tangle
cp ./config.el $out
'';
target = "${config.home.homeDirectory}/.emacs.d/init.el";
}; };
}; };
shellAliases = rec { shellAliases = rec {
@@ -35,8 +27,21 @@ in
}; };
}; };
programs.emacs = { programs.emacs = {
enable = true; inherit enable;
package = mymacs ./config/emacs/config.org; package = pkgs.emacsWithPackagesFromUsePackage {
config = configFile;
package = emacs;
alwaysEnsure = true;
alwaysTangle = true;
extraEmacsPackages = epkgs: with epkgs; [
use-package
(tree-sitter-langs.withPlugins (_: tree-sitter-langs.plugins))
];
};
}; };
services.emacs.enable = true; services.emacs = {
inherit enable;
defaultEditor = true;
};
systemd.user.services.emacs.Service.Environment = "COLORTERM=truecolor";
} }