diff --git a/.gitignore b/.gitignore index 9575723..9a62571 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ straight/* elpaca/* !elpaca/packages.lock.el +!elpaca/versions.lock *.elc .DS_Store diff --git a/core/siren-core-packages.el b/core/siren-core-packages.el index dbfda85..88fa262 100644 --- a/core/siren-core-packages.el +++ b/core/siren-core-packages.el @@ -14,9 +14,9 @@ (require 'jka-compr) (setq load-prefer-newer t) -;; Always ensure packages are installed. +;; Basic Elpaca configuration. (setq use-package-always-ensure t) -(setq elpaca-lock-file (expand-file-name "elpaca/packages.lock.el" user-emacs-directory)) +(setq elpaca-queue-limit 30) ;; ;; Install Elpaca package manager. @@ -26,7 +26,8 @@ (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) -(defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" +(defvar elpaca-order '(elpaca :repo "https://github.com/jimeh/elpaca.git" + :branch "lock-file-improvements" :ref nil :depth 1 :inherit ignore :files (:defaults "elpaca-test.el" (:exclude "extensions")) :build (:not elpaca--activate-package))) @@ -65,47 +66,5 @@ (elpaca elpaca-use-package (elpaca-use-package-mode)) -;; -;; Lock file and force update helpers. -;; - -;; Freeze package versions into the lock file. -(defun elpaca-lock-versions () - "Write current package versions to `elpaca-lock-file'." - (interactive) - (if (or (null elpaca-lock-file) (string-empty-p elpaca-lock-file)) - (warn "elpaca-lock-file is not set") - (elpaca-write-lock-file elpaca-lock-file))) - -(defvar elpaca-force-update--packages nil - "List of package IDs to force update, bypassing pin checks.") - -(defun elpaca-force-update--pinned-p-advice (orig-fn e) - "Advice to bypass pin check for packages in `elpaca-force-update--packages'." - (if (and elpaca-force-update--packages - (memq (elpaca<-id e) elpaca-force-update--packages)) - nil - (funcall orig-fn e))) - -(defun elpaca-force-update--clear-packages () - "Clear the force update package list after queue processing." - (setq elpaca-force-update--packages nil)) - -;; Install advice and hook once at load time -(advice-add 'elpaca-pinned-p :around #'elpaca-force-update--pinned-p-advice) -(add-hook 'elpaca-post-queue-hook #'elpaca-force-update--clear-packages) - -(defun elpaca-force-update (id) - "Force update package ID, bypassing lock file pin." - (interactive (list (elpaca--read-queued "Force update package: "))) - (setq elpaca-force-update--packages (list id)) - (elpaca-update id t)) - -(defun elpaca-force-update-all () - "Force update all packages, bypassing lock file pins." - (interactive) - (setq elpaca-force-update--packages (mapcar #'car (elpaca--queued))) - (elpaca-update-all t)) - (provide 'siren-core-packages) ;;; siren-core-packages.el ends here diff --git a/elpaca/packages.lock.el b/elpaca/versions.lock similarity index 97% rename from elpaca/packages.lock.el rename to elpaca/versions.lock index d9a744e..717c4a8 100644 --- a/elpaca/packages.lock.el +++ b/elpaca/versions.lock @@ -155,7 +155,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "93694ae3c1862bd835195669a55a3c817a8e7c58")) + "f8682a046a57525754ebc812ba3ae9c973db083b")) (cargo :source "elpaca-menu-lock-file" :recipe (:package "cargo" :repo "kwrooijen/cargo.el" :fetcher github :files @@ -237,7 +237,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "26fe3a53e675c6d7d9d3ddd751a3eec603f25681")) + "947426d0c93e5ad5374c464b2f121c36cdaf2132")) (code-review :source "elpaca-menu-lock-file" :recipe (:package "code-review" :repo "wandersoncferreira/code-review" :fetcher @@ -283,19 +283,20 @@ "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref "c4f2e243fba03c11e46b1600b124e036f2be7691")) - (cond-let :source "elpaca-menu-lock-file" :recipe - (:package "cond-let" :fetcher github :repo - "tarsius/cond-let" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" - "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" - "doc/*.texinfo" "lisp/*.el" "docs/dir" - "docs/*.info" "docs/*.texi" "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" "tests.el" - "*-test.el" "*-tests.el" "LICENSE" - "README*" "*-pkg.el")) - :source "elpaca-menu-lock-file" :protocol https - :inherit t :depth treeless :ref - "8f1661fc9f49cae699948992411d921216ddd4c0")) + (cond-let + :source "elpaca-menu-lock-file" :recipe + (:package "cond-let" :fetcher github :repo "tarsius/cond-let" + :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" + "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" + "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" + "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" + "*-test.el" "*-tests.el" "LICENSE" "README*" + "*-pkg.el")) + :source "elpaca-menu-lock-file" :protocol https :inherit + t :depth treeless :ref + "0430bd1eb3493ea90d69feb6b7eb7dac3e10d0ba")) (consult :source "elpaca-menu-lock-file" :recipe (:package "consult" :repo "minad/consult" :fetcher github :files @@ -308,7 +309,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "1de751087e348b24c05e0b1dca16ced752e8f505")) + "6eaf346b73c2a6f2898d1085e14b510902436ffe")) (consult-dir :source "elpaca-menu-lock-file" :recipe (:package "consult-dir" :fetcher github :repo "karthink/consult-dir" :files @@ -387,7 +388,7 @@ github :files (:defaults "icons") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "f63a301f585bcf0ab334551fc323ce06178673d0")) + "ded79ff0637f0ceb04380926a5ce4c40ef0a4f4c")) (dart-mode :source "elpaca-menu-lock-file" :recipe (:package "dart-mode" :fetcher github :repo "emacsorphanage/dart-mode" :files @@ -530,7 +531,7 @@ "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "be2b402856ea6717b2c74b140ce55f638d398ee7")) + "d074b922ae37a9dab994fce204533e0c0143ab75")) (doom-themes :source "elpaca-menu-lock-file" :recipe (:package "doom-themes" :fetcher github :repo "doomemacs/themes" :files @@ -601,8 +602,9 @@ (elpaca :source "elpaca-menu-lock-file" :recipe (:source nil :protocol https :inherit ignore :depth 1 :repo - "https://github.com/progfolio/elpaca.git" :ref - "1508298c1ed19c81fa4ebc5d22d945322e9e4c52" :files + "https://github.com/jimeh/elpaca.git" :branch + "lock-file-improvements" :ref + "929c336df1d32169cbd11e185de00a5b027b489b" :files (:defaults "elpaca-test.el" (:exclude "extensions")) :build (:not elpaca--activate-package) :package "elpaca")) (elpaca-use-package :source "elpaca-menu-lock-file" :recipe @@ -622,7 +624,7 @@ :files (:defaults "README.md" "sqlite") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "f6864fa3510e40e078df924a71d6cdfdfa23283c")) + "d654e4fb1d0f5addd998982754519d144df4bd4c")) (embark :source "elpaca-menu-lock-file" :recipe (:package "embark" :repo "oantolin/embark" :fetcher github :files ("embark.el" "embark-org.el" "embark.texi") @@ -797,7 +799,7 @@ ("lisp/*.el" "docs/*.texi" ".dir-locals.el") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "b66bb21f6ecfca132f29d9ac833561f6faf3b242")) + "965a3744daf56890f3929168fed3824fb3ab1223")) (frame-local :source "elpaca-menu-lock-file" :recipe (:package "frame-local" :fetcher github :repo "sebastiencs/frame-local" :files @@ -868,7 +870,7 @@ ("lisp/*.el" "docs/*.texi" ".dir-locals.el") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "f9c2cc024faa095baf8b840f63cd6fd13a3117ac")) + "21e042438537bf2bbfdd2d25a58f5ab5c799a8f6")) (git-commit-ts-mode :source "elpaca-menu-lock-file" :recipe (:package "git-commit-ts-mode" :repo "danilshvalov/git-commit-ts-mode" @@ -915,7 +917,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "34b83f341464eb0fb53eecbc6199246623aab473")) + "c3faeeea1982786f78d8c38397dec0f078eaec84")) (git-timemachine :source "elpaca-menu-lock-file" :recipe (:package "git-timemachine" :fetcher codeberg :repo "pidu/git-timemachine" :files @@ -1071,7 +1073,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "850c20689fe00e18b13047c784c77f0df8ab6ca9")) + "93d58e4cce68c8f603562904f77a3e329eaf5a24")) (groovy-mode :source "elpaca-menu-lock-file" :recipe (:package "groovy-mode" :fetcher github :repo "Groovy-Emacs-Modes/groovy-emacs-modes" :files @@ -1120,7 +1122,7 @@ "helm-core.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "5f8ba191b01c3a113acfe5df003fdd3152f1770f")) + "cbbaff3c5a76b3ab91ba297844acce11980f55fd")) (helm-ag :source "elpaca-menu-lock-file" :recipe (:source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :host github :repo @@ -1133,7 +1135,7 @@ "helm-multi-match.el") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "5f8ba191b01c3a113acfe5df003fdd3152f1770f")) + "cbbaff3c5a76b3ab91ba297844acce11980f55fd")) (helm-descbinds :source "elpaca-menu-lock-file" :recipe (:package "helm-descbinds" :repo "emacs-helm/helm-descbinds" :fetcher github @@ -1407,7 +1409,7 @@ ("llama.el" ".dir-locals.el") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "472f5967f6684342d3c042d1ba12c3b3d6cefaba")) + "2a89ba755b0459914a44b1ffa793e57f759a5b85")) (loop :source "elpaca-menu-lock-file" :recipe (:package "loop" :repo "Wilfred/loop.el" :fetcher github :files ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" @@ -1453,7 +1455,7 @@ github :files (:defaults "clients/*.*") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "f7fca9db34d202a89da1670a3a0cdf326d42e630")) + "2315fdec79e5ce638a26a385d7744c57949f4560")) (lsp-origami :source "elpaca-menu-lock-file" :recipe (:package "lsp-origami" :repo "emacs-lsp/lsp-origami" :fetcher github :files @@ -1479,7 +1481,7 @@ :files (:defaults "lsp-ui-doc.html" "resources") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "e5e38f3058bc6c3a108742ffa1048eebda6e5055")) + "ff349658ed69086bd18c336c8a071ba15f7fd574")) (lua-mode :source "elpaca-menu-lock-file" :recipe (:package "lua-mode" :repo "immerrr/lua-mode" :fetcher github :files @@ -1500,7 +1502,7 @@ (:exclude "lisp/magit-section.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "c1448720eac5222beef827277c369fc5bab04a36")) + "9cbdaf5ddfe825c04ffa306dde6bdfea9ab6dff3")) (magit-delta :source "elpaca-menu-lock-file" :recipe (:package "magit-delta" :fetcher github :repo "dandavison/magit-delta" :files @@ -1537,7 +1539,7 @@ "magit-section-pkg.el") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "c1448720eac5222beef827277c369fc5bab04a36")) + "9cbdaf5ddfe825c04ffa306dde6bdfea9ab6dff3")) (makefile-executor :source "elpaca-menu-lock-file" :recipe (:package "makefile-executor" :repo "Olivia5k/makefile-executor.el" :fetcher @@ -1569,7 +1571,7 @@ "LICENSE" "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "76591cfdd2d07293db6866f3939759d5de8a955c")) + "fc0cee1151fced42db6014e1d29a61ed63de81d9")) (markdown-mode :source "elpaca-menu-lock-file" :recipe (:package "markdown-mode" :fetcher github :repo "jrblevin/markdown-mode" :files @@ -1612,7 +1614,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "4e27da98ab8f6dc5b56a9e5e2b537f5230da7af7")) + "5b73cd443c28a6e9c8e5ddd60ada38afdf40dfb9")) (mise :source "elpaca-menu-lock-file" :recipe (:package "mise" :fetcher github :repo "eki3z/mise.el" :files ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" @@ -1858,7 +1860,7 @@ "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "af13435418a1c782460a59307b14b64e3dd4b6f2")) + "f29d17b3a2d87267f277f93ac512e87e7f1918c3")) (package-lint :source "elpaca-menu-lock-file" :recipe (:package "package-lint" :fetcher github :repo "purcell/package-lint" :files @@ -2007,7 +2009,7 @@ ("editors/protobuf-mode.el") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "0fa45b23bde831225060f3c65f17a60d7f94c1cf")) + "3acf23cce5aac088a7c6585484a8b38c48448255")) (rainbow-mode :source "elpaca-menu-lock-file" :recipe (:package "rainbow-mode" :repo ("https://github.com/emacsmirror/gnu_elpa" @@ -2290,7 +2292,7 @@ "LICENSE" "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "eab26a7af450d3f7e83b5a61ef2b7b347700b640")) + "53742d44b48a13e7550ecf4de824e15963bfa365")) (shell-pop :source "elpaca-menu-lock-file" :recipe (:package "shell-pop" :repo "kyagi/shell-pop-el" :fetcher github :files @@ -2331,7 +2333,7 @@ "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "bb14d9609fed47000b76ecc8393285abff1bb766")) + "b60fce74b97ea3598b569354dd9de448af6384d7")) (shrink-path :source "elpaca-menu-lock-file" :recipe (:package "shrink-path" :fetcher gitlab :repo "bennya/shrink-path.el" :files @@ -2560,7 +2562,7 @@ :files ("thrift/contrib/thrift.el") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "76baffe037eea78083ebadbfb4a3481a096e1347")) + "1c89f94651bcfb367f536836b02f090217340c4c")) (transient :source "elpaca-menu-lock-file" :recipe (:package "transient" :fetcher github :repo "magit/transient" :files @@ -2573,7 +2575,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "caacdd789c9ed29839c5e46c56cdfba06299e7fb")) + "150e9d625ba28747812a7243f79d61ea927aacc6")) (tree-sitter :source "elpaca-menu-lock-file" :recipe (:package "tree-sitter" :fetcher github :repo "emacs-tree-sitter/elisp-tree-sitter" :branch @@ -2596,7 +2598,7 @@ (:defaults "queries") :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "b9d7d200b24d5e4a9e6a3e9e490708c704bf4afe")) + "37f51c271b3dad4e11f987b656835488bbf92b3c")) (treemacs :source "elpaca-menu-lock-file" :recipe (:package "treemacs" :fetcher github :repo "Alexander-Miller/treemacs" :files @@ -2691,7 +2693,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "ac67233b93a5e47088a760d6b15c254507010a2a")) + "17fc25be69c06225b5b74f65e7ff6c212919bd3f")) (undo-fu-session :source "elpaca-menu-lock-file" :recipe (:package "undo-fu-session" :fetcher codeberg :repo "ideasman42/emacs-undo-fu-session" :files @@ -2706,7 +2708,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "6b9ac96b6932a4ae10737caffd39a84d4e11d683")) + "58bd7f321e6fb2a359d32f23a962fd1d74966314")) (uuidgen :source "elpaca-menu-lock-file" :recipe (:package "uuidgen" :fetcher github :repo "kanru/uuidgen-el" :files @@ -2725,7 +2727,7 @@ (:defaults "extensions/vertico-*.el") :fetcher github :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "709597a39f337b8448c50c8824e34b8ce98cfaca")) + "11200d9a2dfc9f4ffdbf0b06c64cccafddf73906")) (vmd-mode :source "elpaca-menu-lock-file" :recipe (:package "vmd-mode" :repo "blak3mill3r/vmd-mode" :fetcher github :files @@ -2808,7 +2810,7 @@ "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "164e4efa2a96bed201a0a5402e137ebeef15bcc6")) + "6ea49841ab76f44c0164b9f4722da2f9d46228da")) (which-key :source "elpaca-menu-lock-file" :recipe (:package "which-key" :repo "justbur/emacs-which-key" :fetcher github :files @@ -2822,20 +2824,20 @@ :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref "38d4308d1143b61e4004b6e7a940686784e51500")) - (with-editor :source "elpaca-menu-lock-file" :recipe - (:package "with-editor" :fetcher github :repo - "magit/with-editor" :files - ("*.el" "*.el.in" "dir" "*.info" "*.texi" - "*.texinfo" "doc/dir" "doc/*.info" - "doc/*.texi" "doc/*.texinfo" "lisp/*.el" - "docs/dir" "docs/*.info" "docs/*.texi" - "docs/*.texinfo" - (:exclude ".dir-locals.el" "test.el" - "tests.el" "*-test.el" "*-tests.el" - "LICENSE" "README*" "*-pkg.el")) - :source "elpaca-menu-lock-file" :protocol - https :inherit t :depth treeless :ref - "bf6c5d9297adbf64b7f74f7472f08399312f65b4")) + (with-editor :source "elpaca-menu-lock-file" + :recipe + (:package "with-editor" :fetcher github :repo "magit/with-editor" + :files + ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" + "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" + "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" + "docs/*.texinfo" + (:exclude ".dir-locals.el" "test.el" "tests.el" + "*-test.el" "*-tests.el" "LICENSE" "README*" + "*-pkg.el")) + :source "elpaca-menu-lock-file" :protocol https :inherit + t :depth treeless :ref + "902b4d572af2c2f36060da01e3c33d194cdec32b")) (x509-mode :source "elpaca-menu-lock-file" :recipe (:package "x509-mode" :fetcher github :repo "jobbflykt/x509-mode" :files (:defaults "*.txt") @@ -2967,4 +2969,4 @@ "LICENSE" "README*" "*-pkg.el")) :source "elpaca-menu-lock-file" :protocol https :inherit t :depth treeless :ref - "48bc4629a4462a60df092657bd7356e61abe25d4"))) + "8a0ae04de53583949a58e0aa8e7f64f03be7c9f8")))