Try out straight
This commit is contained in:
parent
732d65be39
commit
82a42c2240
|
@ -21,7 +21,8 @@
|
|||
(add-hook 'emacs-startup-hook
|
||||
(lambda ()
|
||||
(message "%s packages loaded in %0.1f seconds"
|
||||
(length package-activated-list)
|
||||
;;(length package-activated-list)
|
||||
(hash-table-count straight--profile-cache)
|
||||
(string-to-number (emacs-init-time)))))
|
||||
|
||||
(add-hook 'after-init-hook #'(lambda ()
|
||||
|
|
|
@ -11,8 +11,7 @@
|
|||
(setq dabbrev-case-fold-search t)
|
||||
(setq dabbrev-case-replace nil))
|
||||
|
||||
(use-package hippie-expand
|
||||
:ensure nil
|
||||
(use-feature hippie-expand
|
||||
:init
|
||||
(setq hippie-expand-try-functions-list
|
||||
'(;yas-hippie-try-expand
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
(use-package dired
|
||||
:ensure nil
|
||||
(use-feature dired
|
||||
:config
|
||||
(put 'dired-find-alternate-file 'disabled nil)
|
||||
:custom
|
||||
|
@ -14,8 +13,7 @@
|
|||
(dired-kill-when-opening-new-dired-buffer t)
|
||||
(wdired-use-dired-vertical-movement 'sometimes))
|
||||
|
||||
(use-package dired-x
|
||||
:ensure nil)
|
||||
(use-feature dired-x)
|
||||
|
||||
(use-package dired-subtree
|
||||
:config
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
;;; Code:
|
||||
|
||||
(use-package emacs
|
||||
:ensure nil
|
||||
:bind
|
||||
("C-x \\" . align-regexp)
|
||||
("C-+" . text-scale-increase)
|
||||
|
@ -123,9 +122,8 @@
|
|||
(undo-tree-history-directory-alist `((".*" . ,temporary-file-directory)))
|
||||
(undo-tree-auto-save-history t))
|
||||
|
||||
(use-package abbrev
|
||||
(use-feature abbrev
|
||||
:defer 5
|
||||
:ensure nil
|
||||
:diminish
|
||||
:hook
|
||||
(text-mode . abbrev-mode)
|
||||
|
@ -148,8 +146,7 @@
|
|||
:bind
|
||||
("C-c ." . operate-on-number-at-point))
|
||||
|
||||
(use-package xref
|
||||
:ensure nil
|
||||
(use-feature xref
|
||||
:custom (xref-search-program 'ripgrep)
|
||||
:config
|
||||
(defun xref-find-references-other-window (identifier)
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
|
||||
(require 'init-lisp)
|
||||
|
||||
(use-package eldoc
|
||||
:ensure nil
|
||||
(use-feature eldoc
|
||||
:diminish)
|
||||
|
||||
(use-package elisp-slime-nav
|
||||
|
|
|
@ -31,6 +31,8 @@
|
|||
#'command-completion-default-include-p))
|
||||
|
||||
(use-package vertico
|
||||
:straight (vertico :files (:defaults "extensions/*")
|
||||
:includes (vertico-directory vertico-repeat))
|
||||
:init
|
||||
(vertico-mode)
|
||||
:custom (vertico-cycle t)
|
||||
|
@ -95,8 +97,7 @@ DEFS is a plist associating completion categories to commands."
|
|||
("C-M-S-g" . minibuffer-really-quit)
|
||||
(:map vertico-map ("M-RET" . minibuffer-force-complete-and-exit))))
|
||||
|
||||
(use-package vertico-directory
|
||||
:ensure nil
|
||||
(use-feature vertico-directory
|
||||
:after vertico
|
||||
:init
|
||||
(defvar switching-project nil)
|
||||
|
@ -144,8 +145,7 @@ DEFS is a plist associating completion categories to commands."
|
|||
;; Tidy shadowed file names
|
||||
:hook (rfn-eshadow-update-overlay . vertico-directory-tidy))
|
||||
|
||||
(use-package vertico-repeat
|
||||
:ensure nil
|
||||
(use-feature vertico-repeat
|
||||
:bind ("M-P" . vertico-repeat))
|
||||
|
||||
(use-package consult
|
||||
|
|
|
@ -6,8 +6,7 @@
|
|||
(column-number-mode t)
|
||||
;(size-indication-mode t) ; TODO
|
||||
|
||||
(use-package which-func
|
||||
:ensure nil
|
||||
(use-feature which-func
|
||||
:config
|
||||
(which-function-mode 1))
|
||||
|
||||
|
|
|
@ -2,55 +2,68 @@
|
|||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
;; TODO - straight.el?
|
||||
|
||||
(require 'package)
|
||||
(require 'url)
|
||||
(defvar initial-features features)
|
||||
|
||||
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
|
||||
("melpa-stable" . "https://stable.melpa.org/packages/")
|
||||
("nongnu" . "https://elpa.nongnu.org/nongnu/")
|
||||
("elpa" . "https://elpa.gnu.org/packages/")))
|
||||
(setq package-pinned-packages '((cider . "melpa-stable")))
|
||||
(package-initialize)
|
||||
|
||||
(unless package-archive-contents
|
||||
(package-refresh-contents))
|
||||
(setq straight-use-package-by-default t
|
||||
straight-vc-git-default-clone-depth 1
|
||||
straight-check-for-modifications '(find-when-checking check-on-save)
|
||||
use-package-always-defer t
|
||||
package-native-compile t)
|
||||
|
||||
(setq package-native-compile t)
|
||||
(defvar bootstrap-version)
|
||||
(let ((bootstrap-file
|
||||
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||
(bootstrap-version 6))
|
||||
(unless (file-exists-p bootstrap-file)
|
||||
(with-current-buffer
|
||||
(url-retrieve-synchronously
|
||||
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||
'silent 'inhibit-cookies)
|
||||
(goto-char (point-max))
|
||||
(eval-print-last-sexp)))
|
||||
(load bootstrap-file nil 'nomessage))
|
||||
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-install 'use-package))
|
||||
(require 'use-package)
|
||||
(straight-use-package 'use-package)
|
||||
|
||||
(setq use-package-always-ensure t
|
||||
use-package-always-defer t)
|
||||
;; https://github.com/radian-software/radian/blob/e3aad124c8e0cc870ed09da8b3a4905d01e49769/emacs/radian.el#L352
|
||||
(defmacro use-feature (name &rest args)
|
||||
"Like `use-package', but with `straight-use-package-by-default' disabled.
|
||||
`NAME' and `ARGS' are as with `use-package'"
|
||||
(declare (indent defun))
|
||||
`(use-package ,name
|
||||
:straight nil
|
||||
,@args))
|
||||
(use-feature straight-x
|
||||
:commands (straight-x-fetch-all))
|
||||
|
||||
(use-package diminish)
|
||||
|
||||
(use-package epl
|
||||
:if noninteractive
|
||||
:demand t
|
||||
:config
|
||||
;; TODO make a copy of the built-in check for system packages work instead
|
||||
(defvar my/system-packages '(vterm))
|
||||
;; emacs -Q --batch -L "~/.emacs.d/lisp/" -l "init-packages.el" -f "my/upgrade-packages"
|
||||
(defun my/upgrade-packages ()
|
||||
(defun run-straight-lock-file-function (func)
|
||||
"Safely run straight lockfile-related function `FUNC'.
|
||||
This will set `features' back the value it had before loading straight, to ensure
|
||||
that everything loaded by `require' or `use-package' is re-loaded."
|
||||
(setq features initial-features)
|
||||
(funcall func))
|
||||
|
||||
(defun my/upgrade-packages ()
|
||||
"Upgrade all packages installed with straight."
|
||||
(interactive)
|
||||
(epl-refresh)
|
||||
(when-let ((upgrades (seq-filter (lambda (u)
|
||||
(not (member
|
||||
(epl-package-name (epl-upgrade-available u))
|
||||
my/system-packages)))
|
||||
(epl-find-upgrades))))
|
||||
;; TODO why doesn't this work?
|
||||
;; (epl-upgrade (mapcar 'epl-upgrade-available upgrades)
|
||||
(dolist (upgrade upgrades)
|
||||
(epl-package-install (epl-upgrade-available upgrade) 'force)
|
||||
(epl-package-delete (epl-upgrade-installed upgrade))))
|
||||
(message "Package upgrade finished.")
|
||||
;; TODO does this help async native-comp to finish when called from the command line?
|
||||
(sit-for 30)))
|
||||
(straight-pull-recipe-repositories) ;; TODO is this needed?
|
||||
(straight-x-fetch-all)
|
||||
(straight-merge-all)
|
||||
(straight-check-all)
|
||||
;; Do this automatically, as we can always revert and thaw
|
||||
(run-straight-lock-file-function 'straight-freeze-versions))
|
||||
|
||||
(defun my/thaw-packages ()
|
||||
"Restore all packages to the versions in the straight lockfile."
|
||||
(interactive)
|
||||
(run-straight-lock-file-function 'straight-thaw-versions))
|
||||
|
||||
(provide 'init-packages)
|
||||
;;; init-packages.el ends here
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
(require 'subr-x)
|
||||
|
||||
(use-package project
|
||||
:ensure nil
|
||||
:config
|
||||
(defun project--clojure-switch-to-test (filename project-root)
|
||||
(let* ((project-src-file (string-remove-prefix project-root filename))
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
(use-package isearch
|
||||
:ensure nil
|
||||
(use-feature isearch
|
||||
:custom
|
||||
(search-whitespace-regexp ".*\\b")
|
||||
(isearch-lax-whitespace t)
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
(use-package sql
|
||||
:ensure nil
|
||||
(use-feature sql
|
||||
:commands add-sql-connection
|
||||
:config
|
||||
;; partially inspired by https://dev.to/viglioni/emacs-as-sql-client-with-lsp-143l (but currently only works for postgres)
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
(use-package tramp
|
||||
(use-feature tramp
|
||||
:defer 5
|
||||
:ensure nil
|
||||
:custom
|
||||
(tramp-default-method "ssh")
|
||||
(vc-ignore-dir-regexp
|
||||
|
|
|
@ -56,8 +56,7 @@
|
|||
("C-S-<left>" . buf-move-left)
|
||||
("C-S-<right>" . buf-move-right)))
|
||||
|
||||
(use-package uniquify
|
||||
:ensure nil
|
||||
(use-feature uniquify
|
||||
:custom
|
||||
(uniquify-buffer-name-style 'forward))
|
||||
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
;; Based on prelude-xml.el
|
||||
;;; Code:
|
||||
|
||||
(use-package nxml-mode
|
||||
:ensure nil
|
||||
(use-feature nxml-mode
|
||||
:config
|
||||
(push '("<\\?xml" . nxml-mode) magic-mode-alist)
|
||||
(add-to-list 'auto-mode-alist '("\\.pom\\'" . nxml-mode))
|
||||
|
|
Loading…
Reference in New Issue