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
 | 
					  :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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user