diff --git a/emacs/emacs.org b/emacs/emacs.org index bf0943e..43a3d9b 100644 --- a/emacs/emacs.org +++ b/emacs/emacs.org @@ -14,7 +14,7 @@ ** use-package compile-time #+BEGIN_SRC emacs-lisp (eval-when-compile (require 'use-package)) -;(require 'diminish) +(require 'diminish) (require 'bind-key) #+END_SRC ** Custom file @@ -150,12 +150,6 @@ :config (file-notify-add-watch "~/dotfiles/color-scheme" '(change) 'reload-solarized)) #+END_SRC -** Transparency -#+BEGIN_SRC emacs-lisp - ;; todo: transparency is slow somehow - ;; (set-frame-parameter (selected-frame) 'alpha '(95 . 95)) - ;; (add-to-list 'default-frame-alist '(alpha . (95 . 95))) -#+END_SRC ** Cleaner frames #+BEGIN_SRC emacs-lisp ;; toolbars are disabled in early-init.el @@ -184,13 +178,11 @@ from https://vickychijwani.me/nuggets-from-my-emacs-part-i/ (add-hook 'css-mode-hook 'hexcolor-add-to-font-lock) #+END_SRC -** diminish +** doom-modeline #+BEGIN_SRC emacs-lisp -;(diminish 'undo-tree-mode) -;(diminish 'auto-revert-mode) -;(diminish 'org-indent-mode) + (use-package doom-modeline + :hook (after-init . doom-modeline-mode)) #+END_SRC - * Feel #+BEGIN_SRC emacs-lisp (defalias 'yes-or-no-p 'y-or-n-p) @@ -357,6 +349,7 @@ from https://vickychijwani.me/nuggets-from-my-emacs-part-i/ ** autocomplete #+BEGIN_SRC emacs-lisp (use-package company + :diminish :hook (after-init . global-company-mode)) #+END_SRC ** Indentation @@ -406,12 +399,20 @@ from [[https://www.emacswiki.org/emacs/BackupDirectory][emacs wiki]] kept-old-versions 2 version-control t) ; use versioned backups +#+END_SRC +** Undo-tree +#+BEGIN_SRC emacs-lisp + (use-package undo-tree + :diminish undo-tree-mode + :init + ;; prevent .~undo-tree file pollution + (setq undo-tree-auto-save-history nil) + :config + (global-undo-tree-mode)) + #+END_SRC ** Evil #+BEGIN_SRC emacs-lisp - (global-undo-tree-mode) - ;; prevent .~undo-tree file pollution - (setq undo-tree-auto-save-history nil) (setq evil-want-C-i-jump nil) (use-package evil @@ -526,8 +527,14 @@ from [[https://www.emacswiki.org/emacs/BackupDirectory][emacs wiki]] *** TODO use org-cliplink ** nix #+BEGIN_SRC emacs-lisp -(use-package nix-mode - :commands (nix-mode) + + (defun nix-flake-current-dir () + (interactive) + (let ((default-directory (projectile-project-root))) + (nix-flake (projectile-project-root)))) + (use-package nix-mode + :commands (nix-mode nix-flake) + :bind (("C-c f" . nix-flake-current-dir)) :mode (("\\.nix\\'" . nix-mode))) #+END_SRC ** lsp diff --git a/home-manager/desktop.nix b/home-manager/desktop.nix index 38f3051..467b12c 100644 --- a/home-manager/desktop.nix +++ b/home-manager/desktop.nix @@ -128,10 +128,16 @@ in { input."1:1:AT_Translated_Set_2_keyboard".xkb_options = "caps:escape"; input."1133:16498:Logitech_MX_Anywhere_2".left_handed = "enabled"; input."1133:45087:MX_Anywhere_2_Mouse".left_handed = "enabled"; - window.commands = [{ - criteria.app_id = "ala-fzf"; - command = "floating enable"; - }]; + window.commands = [ + { + criteria.app_id = "ala-fzf"; + command = "floating enable"; + } + { + criteria.app_id = "emacs"; + command = "opacity 0.95"; + } + ]; startup = [ { command = "mako"; } { @@ -181,23 +187,15 @@ in { home.packages = with pkgs; [ gtk-engine-murrine hicolor-icon-theme - vanilla-dmz - # arc-theme libnotify - #rxvt_unicode-with-plugins - pavucontrol light - # dropbox # really? - # xorg.xrdb - siji - fira-mono - playerctl mosquitto - #hs.arbtt + pavucontrol + playerctl + vanilla-dmz gebaar-libinput grim - eagle libreoffice obs-studio obs-wlrobs @@ -210,6 +208,6 @@ in { waypipe wl-clipboard wldash - zoom-us + # zoom-us ]; } diff --git a/home-manager/emacs.nix b/home-manager/emacs.nix index e6499cb..f5bc7e8 100644 --- a/home-manager/emacs.nix +++ b/home-manager/emacs.nix @@ -4,65 +4,68 @@ package = pkgs.emacsPgtkGcc; extraPackages = _: let epkgs = pkgs.emacsPackagesFor pkgs.emacsPgtkGcc; + engpkgs = pkgs.emacsPackagesNgFor pkgs.emacsPgtkGcc; + lsp-ui = epkgs.melpaPackages.lsp-ui.overrideAttrs (o: { + src = pkgs.fetchFromGitHub { + owner = "emacs-lsp"; + repo = "lsp-ui"; + rev = "240a7de26400cf8b13312c3f9acf7ce653bdaa8a"; + sha256 = "1zscdjlnkx43i4kw2qmlvji23xfpw7n5y4v99ld33205dg905fsy"; + }; + }); in (with epkgs.melpaPackages; [ - reason-mode - evil + all-the-icons + avy + company counsel + counsel-projectile + diminish + direnv + elixir-mode + evil + evil-leader + # evil-magit + evil-surround + flycheck + forge + ggtags + git-gutter-fringe + haskell-mode + htmlize ivy ivy-hydra - swiper - magit - forge - avy - lsp-mode - (lsp-ui.overrideAttrs (o: { - src = pkgs.fetchFromGitHub { - owner = "emacs-lsp"; - repo = "lsp-ui"; - rev = "240a7de26400cf8b13312c3f9acf7ce653bdaa8a"; - sha256 = "1zscdjlnkx43i4kw2qmlvji23xfpw7n5y4v99ld33205dg905fsy"; - }; - })) - lsp-haskell - flycheck - lsp-ivy - ]) ++ (with epkgs.melpaPackages; [ - epkgs.undo-tree - epkgs.notmuch - epkgs.rust-mode - pkgs.emacsPackagesNg.crdt - company - projectile - counsel-projectile - ggtags - use-package - org-bullets - solarized-theme - evil-leader - evil-surround # evil-magit - epkgs.evil-goggles - epkgs.ox-mediawiki - nix-buffer - which-key - git-gutter-fringe - all-the-icons - epkgs.org-cliplink - pandoc-mode - markdown-mode - #interleave - org-ref - haskell-mode - request # intero - weechat - s - elixir-mode - htmlize linum-relative - terraform-mode - direnv - vue-mode - solarized-theme + lsp-haskell + lsp-ivy + lsp-mode + lsp-ui + magit + markdown-mode + nix-buffer nix-mode + org-bullets + org-ref + pandoc-mode + projectile + reason-mode + request + s + solarized-theme + swiper + terraform-mode + use-package + vue-mode + weechat + which-key + ]) ++ (with engpkgs; [ + crdt + doom-modeline + evil-goggles + notmuch + org-cliplink + ox-mediawiki + rust-mode + undo-tree ]); };