Commit graph

218 commits

Author SHA1 Message Date
Marien Zwart
ce63f7f54a
Prefer --subst-var over --subst-var-by
Rename a few other template vars to remain consistent.
2024-06-07 21:15:33 +10:00
Marien Zwart
48c4531e2e
Test noProfileHack 2024-06-07 21:15:32 +10:00
Marien Zwart
8f8f118d94
Use derivation attributes
Mostly removes string interpolation from build commands, by mechanically
pushing inputs up to derivation attributes.

Should be equivalent, but makes the derivations more readable (and
potentially allows splitting build commands out to separate files).
2024-06-07 21:15:29 +10:00
Marien Zwart
b16774f129
Refactor full init.el building 2024-06-07 21:15:22 +10:00
Marien Zwart
9d01c40caf
Split off doomscript execution helper 2024-06-07 21:14:19 +10:00
Marien Zwart
e7383f325f
Assume emacs is Emacs 29 2024-06-07 21:14:16 +10:00
github-actions[bot]
1ee01affd6 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/4f97985d133a12a5991ae8445b0bebbaedf399a6?narHash=sha256-o0G0VFgUWTpnUrKJa8ie%2B4YtCYF%2B%2Bxptv91OYsL4qu8%3D' (2024-06-06)
  → 'github:nix-community/emacs-overlay/b6765fc07d26b716af4193faa60b1da2d3406518?narHash=sha256-3bnVZgEQsP%2BNkA/TwmTUCL4UtE36%2BjoB6SFIqb9wqUY%3D' (2024-06-07)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3b01abcc24846ae49957b30f4345bab4b3f1d14b?narHash=sha256-I8/plBsua4/NZ5bKgj%2Bz7/ThiWuud1YFwLsn1QQ5PgE%3D' (2024-06-04)
  → 'github:NixOS/nixpkgs/818dbe2f96df233d2041739d6079bb616d3e5597?narHash=sha256-KE%2BUmfSVk5PG8jdKdclPVcMrUB8yVZHbsjo7ZT1Bm3c%3D' (2024-06-06)
2024-06-07 08:32:15 +00:00
marienz
5cd184470e
Merge pull request #12 from schwanberger/feature/extra_packages
Support specifying extra emacs pkgs from nixpkgs
Document how to use this to use tree-sitter
2024-06-06 23:21:57 +10:00
github-actions[bot]
f1289c66c1 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/67604448a402e3f600e6b921fa6ad34a62c6f55c?narHash=sha256-Uq4v5Aq5ENHFKBv82nXM8svy0Ip43qQggCwKxqVoDIc%3D' (2024-06-05)
  → 'github:nix-community/emacs-overlay/4f97985d133a12a5991ae8445b0bebbaedf399a6?narHash=sha256-o0G0VFgUWTpnUrKJa8ie%2B4YtCYF%2B%2Bxptv91OYsL4qu8%3D' (2024-06-06)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4a4ecb0ab415c9fccfb005567a215e6a9564cdf5?narHash=sha256-eCWaE/q1VItpFAxxLVt171MdtDcjEnwi6QB/yuF73JU%3D' (2024-06-03)
  → 'github:NixOS/nixpkgs/3b01abcc24846ae49957b30f4345bab4b3f1d14b?narHash=sha256-I8/plBsua4/NZ5bKgj%2Bz7/ThiWuud1YFwLsn1QQ5PgE%3D' (2024-06-04)
2024-06-06 08:32:45 +00:00
Thomas Schwanberger
85caf780e8 Add paragraph: Doom Emacs upcoming native TS
Eluding to likely upcoming support for native TS,
at least as an opt-in and eluding to the issue for unstraightened
not likely to be chased any further.
This is in line with the discussion in the issue..
2024-06-05 23:44:18 +02:00
Thomas Schwanberger
6c1574dda8 Update section about "add package foo"
Make it explicit that is now possible to use the home-manager option `extraPackages`
2024-06-05 23:39:05 +02:00
Thomas Schwanberger
b562c6d653 Add tree-sitter bug and workaround to readme 2024-06-05 23:36:43 +02:00
Thomas Schwanberger
596d1c8974 Add extraPackages to readme under home-manager 2024-06-05 23:35:56 +02:00
github-actions[bot]
6f60f87f77 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/170a49203727005b68444786bea716039aa332bf?narHash=sha256-OCMrTDSAztk3ftBuFxCvC2l6AQvnRx6y93PefC5/Yks%3D' (2024-06-04)
  → 'github:nix-community/emacs-overlay/67604448a402e3f600e6b921fa6ad34a62c6f55c?narHash=sha256-Uq4v5Aq5ENHFKBv82nXM8svy0Ip43qQggCwKxqVoDIc%3D' (2024-06-05)
2024-06-05 08:31:58 +00:00
github-actions[bot]
9a61f48c0a flake.lock: Update
Flake lock file updates:

• Updated input 'doomemacs':
    'github:doomemacs/doomemacs/9620bb45ac4cd7b0274c497b2d9d93c4ad9364ee?narHash=sha256-Fhir4WlcfEh70V8%2BoNS1LVAGBftiqtD2qaHzOC8BJUI%3D' (2024-04-18)
  → 'github:doomemacs/doomemacs/517daa4ed9168855c202ba2fd28920f6ee17249f?narHash=sha256-fW%2BTA5AR9xwRhFHLB2frH3MGlZuL18aRQleg55XGqwA%3D' (2024-06-03)
• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/fefb7504e796296ee5b8202823cc07c82f90e169?narHash=sha256-rDNIPlRCH7gYLy6aNGECY6X0D9NFiiaz2tnx%2B9Ijl6M%3D' (2024-06-03)
  → 'github:nix-community/emacs-overlay/170a49203727005b68444786bea716039aa332bf?narHash=sha256-OCMrTDSAztk3ftBuFxCvC2l6AQvnRx6y93PefC5/Yks%3D' (2024-06-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6132b0f6e344ce2fe34fc051b72fb46e34f668e0?narHash=sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY%3D' (2024-05-30)
  → 'github:NixOS/nixpkgs/4a4ecb0ab415c9fccfb005567a215e6a9564cdf5?narHash=sha256-eCWaE/q1VItpFAxxLVt171MdtDcjEnwi6QB/yuF73JU%3D' (2024-06-03)
2024-06-04 08:32:12 +00:00
github-actions[bot]
777dfc9e36 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/bcccabf80dbeaa8cfad827c6ff29ae8672405792?narHash=sha256-ZZ1ZGpYjS%2B%2BQPadI472Kw%2Bi%2B/rAS1Og6rqDfZHbp/%2Bs%3D' (2024-06-02)
  → 'github:nix-community/emacs-overlay/fefb7504e796296ee5b8202823cc07c82f90e169?narHash=sha256-rDNIPlRCH7gYLy6aNGECY6X0D9NFiiaz2tnx%2B9Ijl6M%3D' (2024-06-03)
2024-06-03 08:32:51 +00:00
Thomas Schwanberger
4df8b7be15 Add doomTest 'extraPackages' 2024-06-03 00:40:12 +02:00
Thomas Schwanberger
cdd7af00b8 Improve description of 'extraPackages' option 2024-06-03 00:22:21 +02:00
github-actions[bot]
2ea32ba190 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/891d7b17960d98be8cd9115927290f7c527ae97e?narHash=sha256-RhEsU8psJ6ibWan4OO7%2BXBWu1jm31Ncan6aOkx6Y9Q8%3D' (2024-05-31)
  → 'github:nix-community/emacs-overlay/bcccabf80dbeaa8cfad827c6ff29ae8672405792?narHash=sha256-ZZ1ZGpYjS%2B%2BQPadI472Kw%2Bi%2B/rAS1Og6rqDfZHbp/%2Bs%3D' (2024-06-02)
2024-06-02 03:34:44 +00:00
Thomas Schwanberger
4715b1e127 Fix extraneous whitespaces 2024-06-02 01:21:24 +02:00
Thomas Schwanberger
9aca28b012 Support specifying extra emacs pkgs from nixpkgs 2024-06-02 00:36:15 +02:00
github-actions[bot]
e611b27529 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/441ed86922224973b0853255785d3ce88b683b1a?narHash=sha256-m%2B5EQOjc7AKKrPYD%2BGkAn2W52z92%2B9IBdIVtTu0WJTY%3D' (2024-05-30)
  → 'github:nix-community/emacs-overlay/891d7b17960d98be8cd9115927290f7c527ae97e?narHash=sha256-RhEsU8psJ6ibWan4OO7%2BXBWu1jm31Ncan6aOkx6Y9Q8%3D' (2024-05-31)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6c25325ec30a566f5c0446ceee61ada081903872?narHash=sha256-GKSAGfLNocNTux33YT9GbEXwEewxepwFL%2BViX1CrMCQ%3D' (2024-05-29)
  → 'github:NixOS/nixpkgs/6132b0f6e344ce2fe34fc051b72fb46e34f668e0?narHash=sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY%3D' (2024-05-30)
2024-05-31 08:32:13 +00:00
github-actions[bot]
b2a3db03fa flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/1ca845e99884cb7d515ae7d773a186231cfae242?narHash=sha256-vbOkT8/eZiaxwgc/oTPlYCi1gCqsFKWOTk2OdbHlzcY%3D' (2024-05-29)
  → 'github:nix-community/emacs-overlay/441ed86922224973b0853255785d3ce88b683b1a?narHash=sha256-m%2B5EQOjc7AKKrPYD%2BGkAn2W52z92%2B9IBdIVtTu0WJTY%3D' (2024-05-30)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e2dd4e18cc1c7314e24154331bae07df76eb582f?narHash=sha256-usk0vE7VlxPX8jOavrtpOqphdfqEQpf9lgedlY/r66c%3D' (2024-05-26)
  → 'github:NixOS/nixpkgs/6c25325ec30a566f5c0446ceee61ada081903872?narHash=sha256-GKSAGfLNocNTux33YT9GbEXwEewxepwFL%2BViX1CrMCQ%3D' (2024-05-29)
2024-05-30 08:32:22 +00:00
github-actions[bot]
d42c9e65a7 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/76c2bc6a106076a377fca4334a612d2fad5d49b0?narHash=sha256-I2dJOniVeMDnMDIAYXvGLhOOG8pD1YLGtS5Kn6wwxB8%3D' (2024-05-28)
  → 'github:nix-community/emacs-overlay/1ca845e99884cb7d515ae7d773a186231cfae242?narHash=sha256-vbOkT8/eZiaxwgc/oTPlYCi1gCqsFKWOTk2OdbHlzcY%3D' (2024-05-29)
2024-05-29 08:32:57 +00:00
Marien Zwart
0f7eb10233
Rename doomdirs/example and doom-example
Move `doomdirs/example/` to just `doomdir/`, and rename the package
using it from `doom-example` to `doom-emacs`.

I do not expect to need multiple doomdirs checked in again, and I can
unclutter the packages provided by the flake a bit now that most of them
are checks.
2024-05-28 19:50:02 +10:00
Marien Zwart
2fc58787da
Drop doomdirs/minimal (unused) 2024-05-28 19:49:58 +10:00
github-actions[bot]
9a347dc061 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/9971a64fecb140433f2bde06f35383b281a13c1c?narHash=sha256-sC%2BV2hYlmsD%2BU8ZO6lL976Kae2U1AdMfXeNCyNXagcY%3D' (2024-05-27)
  → 'github:nix-community/emacs-overlay/76c2bc6a106076a377fca4334a612d2fad5d49b0?narHash=sha256-I2dJOniVeMDnMDIAYXvGLhOOG8pD1YLGtS5Kn6wwxB8%3D' (2024-05-28)
2024-05-28 08:32:51 +00:00
Marien Zwart
f48edf8b34
Test against init.el with all module flags enabled
Detect module flags by walking package.el files.

This still does not build all dependencies, because some are enabled
only if some flag or other module is disabled. But this should be close.
2024-05-27 20:11:06 +10:00
Marien Zwart
78ad78072d
Fix revealjs build for org +present
Noticed through upcoming test coverage improvements.
2024-05-27 20:11:05 +10:00
Marien Zwart
f7a4b53913
Manually specify another sourcehut repo
Noticed through an upcoming improvement to test coverage.

This should be the last one of these for now.
2024-05-27 20:11:04 +10:00
Marien Zwart
91e89099d2
Assume recipe type is git if not specified
Fixes fetch failure for x-face-e21.

Noticed through upcoming improvement to test coverage.
2024-05-27 20:11:03 +10:00
Marien Zwart
48ba3bb39c
Rename doomDirWithAllPackages -> ...Modules 2024-05-27 20:11:01 +10:00
Marien Zwart
313b9ef400
Remove "full" build flag
No longer used.
2024-05-27 20:10:59 +10:00
Marien Zwart
5dbe1874b1
Use generated full init.el for cachix too 2024-05-27 20:10:55 +10:00
Marien Zwart
3f2a482afd
Test with a generated init.el with all modules
...not yet with all flags, but that's the next step.

This surfaced several problems not caught by the existing "full" build,
because that did not enable dependencies conditionally enabled if a
second module is enabled.

There are a small number of dependencies only enabled if a second module
is *not* enabled, which I intend to add some manual tests for.
2024-05-27 20:08:17 +10:00
Marien Zwart
a4338aad5c
Fix helm-taskrunner build
The fix is a mess, but it's the last fix blocking the improved test
coverage that made me notice the problem.
2024-05-27 20:08:16 +10:00
Marien Zwart
2b2d2cc3cf
Add fetch override for ol-notmuch
Noticed through upcoming test coverage improvement.
2024-05-27 20:08:15 +10:00
Marien Zwart
a0bdac47f7
Handle non-github git recipes
Used by ob-clojure-literate.

Noticed through upcoming test coverage improvement.
2024-05-27 20:08:13 +10:00
Marien Zwart
aa0eb06567
Add another codeberg URL
Noticed through upcoming test coverage improvement.
2024-05-27 20:08:09 +10:00
Marien Zwart
dbd9b1e998
Don't try to use our custom packages unless pinned
They do not have src set, so if we pull them in without having a pin
they fail to build.

Noticed with org, so add a test for that. Probably not the only one
affected, though.

Fixes #4
2024-05-27 20:08:08 +10:00
Marien Zwart
6d2d203ece
Use generated minimal doomDir for tests
I intend to remove the static one.
2024-05-27 20:08:04 +10:00
marienz
73cd965483
Merge pull request #10 from marienz/fetchtree
Improve fetching performance (mainly for CI)
2024-05-27 19:59:14 +10:00
dependabot[bot]
31eaef41a1 Bump cachix/cachix-action from 14 to 15
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 14 to 15.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v14...v15)

---
updated-dependencies:
- dependency-name: cachix/cachix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 19:50:04 +10:00
github-actions[bot]
278c7c304c flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/07be0e35817635c528bb07b2ae366bd87571ddd0?narHash=sha256-%2Bh4E6JtuYPq1pirpseqn0sYU8/5Lh5UuQaBAH78xDYQ%3D' (2024-05-26)
  → 'github:nix-community/emacs-overlay/9971a64fecb140433f2bde06f35383b281a13c1c?narHash=sha256-sC%2BV2hYlmsD%2BU8ZO6lL976Kae2U1AdMfXeNCyNXagcY%3D' (2024-05-27)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c5187508b11177ef4278edf19616f44f21cc8c69?narHash=sha256-iMgzIeedMqf30TXZ439zW3Yvng1Xm9QTGO%2BZwG1IWSw%3D' (2024-05-25)
  → 'github:NixOS/nixpkgs/e2dd4e18cc1c7314e24154331bae07df76eb582f?narHash=sha256-usk0vE7VlxPX8jOavrtpOqphdfqEQpf9lgedlY/r66c%3D' (2024-05-26)
2024-05-27 08:32:30 +00:00
Marien Zwart
c042f8d6f0
Disable magic nix cache's flakehub integration
This should not be doing anything, and I saw it stall (to retry
requests) once or twice.
2024-05-26 23:29:18 +10:00
Marien Zwart
af7c877008
Prune dependencies of example doomdir
This now matters for CI, as the example is still built using fetchGit
instead of the github fetcher.

The example was doing double duty as an example and a stress-test,
enabling some problematic or interesting modules. That is no longer
necessary (once the branch with dynamically generated init.el with all
modules/flags enabled lands).
2024-05-26 23:14:54 +10:00
Marien Zwart
0e996d2ccb
Rework CI caching, adding tarball cache
Using the lockfile hash as cache key did not make much sense, since
changes to Unstraightened itself change what we fetch.

And a static restore key means we never flush our cache: that might be
ok if cache size was reasonable, but it is not (over 3 GiB).

Switch to using the date as cache key, and only restore caches from the
current month.

Add tarballs as a second cache.

I considered caching all of ~/.cache/nix, but do not want to find out
the hard way any (new) caches are not portable if I add CI for other
platforms. The tarball-cache seems to be another git tree, so it should
be ok.
2024-05-26 23:01:30 +10:00
Marien Zwart
2af26fcfa1
Use fetchTree / github fetcher for CI
This seems to be much more space-efficient: ~/.cache/nix/tarball-cache
is about 700MiB uncompressed, under 300MiB as tzst (using tar's
defaults, CI uses zstdmt but I assume will be in the same ballpark). The
gitv3 cache is multiple GiB.

CI will still build doom-example using fetchGit. I intend to shrink the
number of modules enabled in the example to keep gitv3 cache size under
control.
2024-05-26 22:42:51 +10:00
Marien Zwart
645f79a916
Disable submodule fetching by default
This may turn out to be too much (but it does at least build).

Motivation: CI's git checkouts consume an unmanageably large amount of
cache (over 3 GiB per snapshot out of 10 GiB quota), and must be cached
for acceptable build speeds. Dropping submodules should help somewhat
directly, but I want to try switching most of CI over to fetchTree's
github fetcher, which won't include submodules. This change should help
maintain parity.

I'm also seeing a submodule fetch failure in CI (for stan-mode) that I
may not need to debug if the package functions without that submodule.
2024-05-26 22:06:07 +10:00
github-actions[bot]
47b6f20d7d flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/ead4e219ec8cd7341a7975f355b2450868fbb214?narHash=sha256-oFPp9LatqUWmjf1qXJ7CWplKcp5wtxD8Iqfw2TMqRUQ%3D' (2024-05-25)
  → 'github:nix-community/emacs-overlay/07be0e35817635c528bb07b2ae366bd87571ddd0?narHash=sha256-%2Bh4E6JtuYPq1pirpseqn0sYU8/5Lh5UuQaBAH78xDYQ%3D' (2024-05-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3305b2b25e4ae4baee872346eae133cf6f611783?narHash=sha256-0lT5RVelqN%2BdgXWWneXvV5ufSksW0r0TDQi8O6U2%2Bo8%3D' (2024-05-23)
  → 'github:NixOS/nixpkgs/c5187508b11177ef4278edf19616f44f21cc8c69?narHash=sha256-iMgzIeedMqf30TXZ439zW3Yvng1Xm9QTGO%2BZwG1IWSw%3D' (2024-05-25)
2024-05-26 08:30:31 +00:00