home/natto/emacs: tangle when deploying
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
		@@ -159,13 +159,11 @@ To undo and redo easily like vi
 | 
			
		||||
  :defer t
 | 
			
		||||
  :config
 | 
			
		||||
  (treemacs-project-follow-mode))
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
#+begin_src emacs-lisp
 | 
			
		||||
(use-package treemacs-evil :defer t)
 | 
			
		||||
(use-package treemacs-magit :defer t)
 | 
			
		||||
(use-package treemacs-projectile :defer t)
 | 
			
		||||
(use-package treemacs-all-the-icons :defer t)
 | 
			
		||||
(use-package treemacs-evil :after treemacs)
 | 
			
		||||
(use-package treemacs-magit :after treemacs)
 | 
			
		||||
(use-package treemacs-projectile :after treemacs)
 | 
			
		||||
(use-package treemacs-all-the-icons :after treemacs)
 | 
			
		||||
#+end_src
 | 
			
		||||
 | 
			
		||||
** LSP
 | 
			
		||||
@@ -516,7 +514,8 @@ not using this anymore
 | 
			
		||||
      :keymaps '(global override vterm-mode-map)
 | 
			
		||||
      :states evil-states
 | 
			
		||||
      "<f4>"  (lambda () (interactive) (vterm t))
 | 
			
		||||
      "C-<f1>" 'vterm-toggle-cd
 | 
			
		||||
      "C-S-t" 'vterm-toggle-cd
 | 
			
		||||
      "C-t" 'vterm-toggle
 | 
			
		||||
      "<f1>" 'vterm-toggle
 | 
			
		||||
      "<f5>" (lambda () (interactive) (run-in-vterm (candrun))))
 | 
			
		||||
    (general-define-key
 | 
			
		||||
 
 | 
			
		||||
@@ -1,29 +1,21 @@
 | 
			
		||||
{ config, pkgs, inputs, ... }:
 | 
			
		||||
{ config, pkgs, inputs, lib, ... }:
 | 
			
		||||
let
 | 
			
		||||
  mymacs = config: # with inputs.emacs-overlay.packages.${pkgs.system}; already resolved with overlay
 | 
			
		||||
    with pkgs; emacsWithPackagesFromUsePackage {
 | 
			
		||||
      inherit config;
 | 
			
		||||
      package = emacs-pgtk;
 | 
			
		||||
      alwaysEnsure = true;
 | 
			
		||||
      alwaysTangle = true;
 | 
			
		||||
      extraEmacsPackages = epkgs: with epkgs; [
 | 
			
		||||
        use-package
 | 
			
		||||
        (epkgs.tree-sitter-langs.withPlugins (_: epkgs.tree-sitter-langs.plugins))
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  emacs = pkgs.emacs-pgtk;
 | 
			
		||||
  configFile = ./config/emacs/config.org;
 | 
			
		||||
  enable = true;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  nixpkgs.overlays = [ inputs.emacs-overlay.overlays.default ];
 | 
			
		||||
 | 
			
		||||
  home = {
 | 
			
		||||
    file = with config; {
 | 
			
		||||
      "config.org" = {
 | 
			
		||||
        source = ./config/emacs/config.org;
 | 
			
		||||
        target = "${home.homeDirectory}/.emacs.d/config.org";
 | 
			
		||||
      };
 | 
			
		||||
    file = {
 | 
			
		||||
      "init.el" = {
 | 
			
		||||
        source = ./config/emacs/init.el;
 | 
			
		||||
        target = "${home.homeDirectory}/.emacs.d/init.el";
 | 
			
		||||
        source = pkgs.runCommandLocal "tangle-emacs" { } ''
 | 
			
		||||
          ${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 {
 | 
			
		||||
@@ -35,8 +27,21 @@ in
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
  programs.emacs = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    package = mymacs ./config/emacs/config.org;
 | 
			
		||||
    inherit enable;
 | 
			
		||||
    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";
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user