diff --git a/user/app/emacs/default.nix b/user/app/emacs/default.nix index b2aae0e4..1ebcd786 100644 --- a/user/app/emacs/default.nix +++ b/user/app/emacs/default.nix @@ -26,6 +26,7 @@ nix-mode python python-mode lsp-mode flycheck lsp-ui lsp-treemacs + (epkgs.callPackage ./ultra-scroll.nix {}) ]; }) fira-code diff --git a/user/app/emacs/init.el b/user/app/emacs/init.el index 8697471a..a11083c6 100644 --- a/user/app/emacs/init.el +++ b/user/app/emacs/init.el @@ -114,12 +114,15 @@ ;; Mouse & Smooth Scroll (setq scroll-step 1 - scroll-margin 1 + scroll-margin 0 scroll-conservatively 101 scroll-preserve-screen-position nil redisplay-skip-fontification-on-input t) (pixel-scroll-precision-mode 1) + (require 'ultra-scroll) + (ultra-scroll-mode 1) + ;; Line numbers (setq display-line-numbers-type t line-move-visual t) diff --git a/user/app/emacs/ultra-scroll.nix b/user/app/emacs/ultra-scroll.nix new file mode 100644 index 00000000..113351d8 --- /dev/null +++ b/user/app/emacs/ultra-scroll.nix @@ -0,0 +1,19 @@ +{ lib, fetchurl, trivialBuild }: + +trivialBuild { + pname = "ultra-scroll"; + version = "0.2.0"; + + src = fetchGit { + url = "https://github.com/jdtsmith/ultra-scroll.git"; + rev = "64ad7be02e11317576498dabb15c92cf31e2c04c"; + ref = "main"; + }; + + meta = with lib; { + description = "scroll Emacs like lightning"; + homepage = "https://github.com/jdtsmith/ultra-scroll"; + license = licenses.gpl3; + platforms = platforms.all; + }; +}