emacs update
moved emacs from home-manager packages to system packages updated config to use tree-sitter and lsp-mode
This commit is contained in:
		@@ -1,19 +0,0 @@
 | 
			
		||||
--- a/gruvbox.el	2021-05-17 21:19:07.731014155 +0530
 | 
			
		||||
+++ b/gruvbox.el	2021-05-17 21:20:11.297990471 +0530
 | 
			
		||||
@@ -162,11 +162,11 @@
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
      ;; line numbers
 | 
			
		||||
-     (line-number                               (:foreground gruvbox-dark4 :background gruvbox-dark1))
 | 
			
		||||
-     (line-number-current-line                  (:foreground gruvbox-bright_orange :background gruvbox-dark2))
 | 
			
		||||
-     (linum                                     (:foreground gruvbox-dark4 :background gruvbox-dark1))
 | 
			
		||||
-     (linum-highlight-face                      (:foreground gruvbox-bright_orange :background gruvbox-dark2))
 | 
			
		||||
-     (linum-relative-current-face               (:foreground gruvbox-bright_orange :background gruvbox-dark2))
 | 
			
		||||
+     (line-number                               (:foreground gruvbox-dark4 :background nil))
 | 
			
		||||
+     (line-number-current-line                  (:foreground gruvbox-bright_orange :background gruvbox-dark1))
 | 
			
		||||
+     (linum                                     (:foreground gruvbox-dark4 :background nil))
 | 
			
		||||
+     (linum-highlight-face                      (:foreground gruvbox-bright_orange :background gruvbox-dark1))
 | 
			
		||||
+     (linum-relative-current-face               (:foreground gruvbox-bright_orange :background gruvbox-dark1))
 | 
			
		||||
 
 | 
			
		||||
      ;; Highlight indentation mode
 | 
			
		||||
      (highlight-indentation-current-column-face (:background gruvbox-dark2))
 | 
			
		||||
@@ -1,45 +0,0 @@
 | 
			
		||||
;;settings
 | 
			
		||||
(setq display-line-numbers-type 'relative)
 | 
			
		||||
(setq inhibit-startup-screen t)
 | 
			
		||||
(set-face-attribute 'default nil :font "Fira Mono for Powerline" :height 120)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;add packages and shit
 | 
			
		||||
(require 'package)
 | 
			
		||||
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
 | 
			
		||||
(package-initialize)
 | 
			
		||||
(setq pkgs '(ivy gruvbox-theme elcord rainbow-delimiters))
 | 
			
		||||
(while pkgs
 | 
			
		||||
       (require (car pkgs))
 | 
			
		||||
       (setq pkgs (cdr pkgs)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;package config and modes
 | 
			
		||||
(global-hl-line-mode 1)
 | 
			
		||||
(scroll-bar-mode 0)
 | 
			
		||||
(tool-bar-mode 0)
 | 
			
		||||
(menu-bar-mode 0)
 | 
			
		||||
(fringe-mode 0)
 | 
			
		||||
(global-display-line-numbers-mode 1)
 | 
			
		||||
(load-theme 'gruvbox-dark-hard t)
 | 
			
		||||
(ivy-mode 1)
 | 
			
		||||
(elcord-mode 1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;keybinds
 | 
			
		||||
;ivy
 | 
			
		||||
(define-key ivy-minibuffer-map (kbd "C-n") 'ivy-next-line)
 | 
			
		||||
(define-key ivy-minibuffer-map (kbd "C-e") 'ivy-previous-line)
 | 
			
		||||
(define-key ivy-minibuffer-map (kbd "C-i") 'ivy-done)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;hooks
 | 
			
		||||
;exclude line numbers
 | 
			
		||||
(setq exclude-ln '(term-mode-hook eshell-mode-hook shell-mode-hook))
 | 
			
		||||
(while exclude-ln
 | 
			
		||||
       (add-hook (car exclude-ln) (lambda () (display-line-numbers-mode 0)))
 | 
			
		||||
       (setq exclude-ln (cdr exclude-ln)))
 | 
			
		||||
 | 
			
		||||
;rainbow delims
 | 
			
		||||
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
 | 
			
		||||
							
								
								
									
										1
									
								
								home/config/emacs/init.el
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								home/config/emacs/init.el
									
									
									
									
									
										Symbolic link
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
../../../modules/emacs/init.el
 | 
			
		||||
@@ -1,18 +1,60 @@
 | 
			
		||||
{ pkgs, config, ... }:
 | 
			
		||||
{
 | 
			
		||||
  #i dont really use emacs but eh
 | 
			
		||||
  programs.emacs = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    enable = false;
 | 
			
		||||
    extraPackages = epkgs: with epkgs; [
 | 
			
		||||
      elcord
 | 
			
		||||
      gruvbox-theme
 | 
			
		||||
      ivy
 | 
			
		||||
      rainbow-delimiters
 | 
			
		||||
      evil
 | 
			
		||||
      evil-colemak-basics
 | 
			
		||||
      treemacs
 | 
			
		||||
      treemacs-evil
 | 
			
		||||
      lsp-mode
 | 
			
		||||
      lsp-treemacs
 | 
			
		||||
      lsp-ui
 | 
			
		||||
      tree-sitter
 | 
			
		||||
      tree-sitter-langs
 | 
			
		||||
      tsc
 | 
			
		||||
    ];
 | 
			
		||||
    overrides = self: super: {
 | 
			
		||||
      gruvbox-theme = self.melpaPackages.gruvbox-theme.overrideAttrs(_: {
 | 
			
		||||
        patches = [ ../../config/emacs/gruvbox-el.patch ];
 | 
			
		||||
      });
 | 
			
		||||
    overrides = self: super : {
 | 
			
		||||
      tsc = super.tsc.overrideAttrs(oa: 
 | 
			
		||||
      let
 | 
			
		||||
        tsc-dyn = version: pkgs.fetchurl { 
 | 
			
		||||
          url = "https://github.com/emacs-tree-sitter/elisp-tree-sitter/releases/download/${version}/tsc-dyn.so";
 | 
			
		||||
          sha256 = "sha256-oOq/TAooHRUo7JypCblrB/ztABowAHv2LRhFL/ZmVrg=";
 | 
			
		||||
        };
 | 
			
		||||
      in { postInstall = oa.postInstall or "" + "cp ${tsc-dyn "0.15.2"} $out/share/emacs/site-lisp/elpa/tsc-${super.tsc.version}/tsc-dyn.so" ;});
 | 
			
		||||
      tree-sitter-langs = pkgs.symlinkJoin rec {
 | 
			
		||||
        name = "tree-sitter-langs";
 | 
			
		||||
        paths =
 | 
			
		||||
          let
 | 
			
		||||
            tree-sitter-grammars = pkgs.stdenv.mkDerivation rec {
 | 
			
		||||
              name = "tree-sitter-grammars";
 | 
			
		||||
              version = "0.10.4";
 | 
			
		||||
              src = pkgs.fetchzip {
 | 
			
		||||
                url = "https://github.com/emacs-tree-sitter/tree-sitter-langs/releases/download/${version}/tree-sitter-grammars-linux-${version}.tar.gz";
 | 
			
		||||
                sha256 = "sha256-Z+JtuGLTCVhCJBR60cbcDgWtdKcoYGWoeI5u9GcfvUQ=";
 | 
			
		||||
                stripRoot = false;
 | 
			
		||||
              };
 | 
			
		||||
              installPhase = ''
 | 
			
		||||
                install -d $out/langs/bin
 | 
			
		||||
                install -m444 * $out/langs/bin
 | 
			
		||||
                echo -n $version > $out/langs/bin/BUNDLE-VERSION
 | 
			
		||||
              '';
 | 
			
		||||
            };
 | 
			
		||||
          in
 | 
			
		||||
          [
 | 
			
		||||
            (super.tree-sitter-langs.overrideAttrs (oldAttrs: {
 | 
			
		||||
              postPatch = oldAttrs.postPatch or "" + ''
 | 
			
		||||
                substituteInPlace ./tree-sitter-langs-build.el \
 | 
			
		||||
                --replace "tree-sitter-langs-grammar-dir tree-sitter-langs--dir"  "tree-sitter-langs-grammar-dir \"${tree-sitter-grammars}/langs\""
 | 
			
		||||
              '';
 | 
			
		||||
            }))
 | 
			
		||||
            tree-sitter-grammars
 | 
			
		||||
          ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
  home.file.emacs = {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user