Commit graph

406 commits

Author SHA1 Message Date
github-actions[bot]
e0831e53fc flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/00193d839cb752bccc8f6508e54afd2dab60c7c9?narHash=sha256-aJo8V/pEvCiF0Cu%2BPLPnK0FU63yNAELwSiClnaj3swc%3D' (2024-05-21)
  → 'github:nix-community/emacs-overlay/6eb679f5e75b80580e8d3fa1594369e128b37911?narHash=sha256-D8Zj8ftu5Zpgkb3wbQoxsRfJ9cGJxDdauFtuPHenD8E%3D' (2024-05-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5a5ac83292c7842072318f57d68a48474f8bd34d?narHash=sha256-xYRimrR0duWvokWQEvB87bSsICeCvvX9DxpUOzCfsDE%3D' (2024-05-20)
  → 'github:NixOS/nixpkgs/e381a1288138aceda0ac63db32c7be545b446921?narHash=sha256-PH3w5av8d%2BTdwCkiWN4UPBTxrD9MpxIQPDVWctlomVo%3D' (2024-05-21)
2024-05-22 08:32:25 +00:00
github-actions[bot]
195c519950 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/aa8ac9a29c08356bd9285f66b18dd49631cc2227?narHash=sha256-hkeDsZJS%2BWkAqWJFzmOaNzK0qoa2afozX5HGD%2Buuxos%3D' (2024-05-20)
  → 'github:nix-community/emacs-overlay/00193d839cb752bccc8f6508e54afd2dab60c7c9?narHash=sha256-aJo8V/pEvCiF0Cu%2BPLPnK0FU63yNAELwSiClnaj3swc%3D' (2024-05-21)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f9256de8281f2ccd04985ac5c30d8f69aefadbe8?narHash=sha256-3DNg/PV%2BX2V7yn8b/fUR2ppakw7D9N4sjVBGk6nDwII%3D' (2024-05-19)
  → 'github:NixOS/nixpkgs/5a5ac83292c7842072318f57d68a48474f8bd34d?narHash=sha256-xYRimrR0duWvokWQEvB87bSsICeCvvX9DxpUOzCfsDE%3D' (2024-05-20)
2024-05-21 08:31:38 +00:00
github-actions[bot]
f94c5e658c flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/66d6cd2197e49ce0fd42a4b896bd35c500fd1d15?narHash=sha256-/ZputM2bBZ1ADB1BJCGpemEmpeey3KYHLLd%2BMzhvGLo%3D' (2024-05-19)
  → 'github:nix-community/emacs-overlay/aa8ac9a29c08356bd9285f66b18dd49631cc2227?narHash=sha256-hkeDsZJS%2BWkAqWJFzmOaNzK0qoa2afozX5HGD%2Buuxos%3D' (2024-05-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/02923630b89aa1ab36ef8e422501a6f4fd4b2016?narHash=sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA%3D' (2024-05-18)
  → 'github:NixOS/nixpkgs/f9256de8281f2ccd04985ac5c30d8f69aefadbe8?narHash=sha256-3DNg/PV%2BX2V7yn8b/fUR2ppakw7D9N4sjVBGk6nDwII%3D' (2024-05-19)
2024-05-20 08:31:41 +00:00
Marien Zwart
a40637115a
CI: write to Cachix
This is only a starting point. For this to be more useful, we need to
build for multiple Emacsen. But I want to get a baseline for the size of
the closure first (as well as confirming it works in the first place).
2024-05-19 17:51:43 +10:00
marienz
b7b1a944d9
Create dependabot.yml 2024-05-19 16:45:45 +10:00
Marien Zwart
607989d7b6 Tweak installation instructions 2024-05-19 13:40:32 +10:00
Marien Zwart
4fe712f8ba Update status 2024-05-19 13:40:32 +10:00
Marien Zwart
26ca403bec Comment on rough edges of CI workflow 2024-05-19 13:40:32 +10:00
Marien Zwart
cd7a5a3954
CI: daily automated flake.lock update
Manual test run succeeded.
2024-05-19 12:58:50 +10:00
github-actions[bot]
60558bf011 flake.lock: Update
Flake lock file updates:

• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/49e8b3163e27221484c57c76f4a86fb5e8a4cc6f?narHash=sha256-sNPKfy1GU%2BS%2Bx8/pyg3O8E7v9%2BlNMYRYCZHzGaG17oE%3D' (2024-05-18)
  → 'github:nix-community/emacs-overlay/66d6cd2197e49ce0fd42a4b896bd35c500fd1d15?narHash=sha256-/ZputM2bBZ1ADB1BJCGpemEmpeey3KYHLLd%2BMzhvGLo%3D' (2024-05-19)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ea77cefecb0ab07e61d6bde3e24c7ae6820b96d5?narHash=sha256-OrvqfRNUTKNg25z7%2BmCLV2PAnAjvdj/Z7HeS1g5OB7E%3D' (2024-05-16)
  → 'github:NixOS/nixpkgs/02923630b89aa1ab36ef8e422501a6f4fd4b2016?narHash=sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA%3D' (2024-05-18)
2024-05-19 02:35:55 +00:00
Marien Zwart
157b05763e
CI: request contents write access
commit failed with a 403, and this permission bit is probably why.
2024-05-19 00:05:03 +10:00
Marien Zwart
cc8d2ea320
CI: Specify identity when committing
Git refuses to commit otherwise.

Identity cargo-culted from other projects / answers.
2024-05-18 23:07:53 +10:00
Marien Zwart
6aad68a612 CI: add nix flake update and commit steps
And rename the workflow as it no longer runs just checks.
2024-05-18 22:20:56 +10:00
Marien Zwart
db62bca56c CI: save gitv3 cache
A cache hit on restore means the cache is not saved afterwards.
2024-05-18 22:20:56 +10:00
Marien Zwart
b085d95461 CI: nicer names
(...triggering another CI run to test the git checkout cache)
2024-05-18 22:20:56 +10:00
Marien Zwart
8a2d602ae2 CI: try to cache Nix's git checkouts 2024-05-18 22:20:56 +10:00
Marien Zwart
4cd93c5552 More verbose errors in CI
(Also, trigger CI again so I can see if the cache works...)
2024-05-18 22:20:56 +10:00
Marien Zwart
96d6db2e96 Maybe fix fetching notmuch
This fails the same way emms was, and like emms I do see the commit.
2024-05-18 22:20:56 +10:00
Marien Zwart
cbe7d2586a Attempt to fix emms
CI fails to fetch it:

```
error: Server does not allow request for unadvertised object 87d0d1fb0566a80229029d0d8d7c863138d70aae
warning: could not update mtime for file '/home/runner/.cache/nix/gitv3/0gjpwip102kwcvz961gsiva3lqmmr6266s5wzs8kq0ybm68gwpx9/refs/heads/master': No such file or directory
error:
       … while checking flake output 'checks'
         at /nix/store/fwrwzxjvvpx1l27h8j5f9gffzwn2vdik-source/flake.nix:54:7:
           53|     in {
           54|       checks = perSystemPackages (pkgs:
             |       ^
           55|         let
       … while checking the derivation 'checks.x86_64-linux.full'
         at /nix/store/fwrwzxjvvpx1l27h8j5f9gffzwn2vdik-source/flake.nix:83:11:
           82|           })).emacsWithDoom;
           83|           full = mkDoom {
             |           ^
           84|             full = true;
       (stack trace truncated; use '--show-trace' to show the full trace)
       error: Cannot find Git revision '87d0d1fb0566a80229029d0d8d7c863138d70aae' in ref 'refs/heads/master' of repository 'https://git.savannah.gnu.org/git/emms.git'! Please make sure that the rev exists on the ref you've specified or add allRefs = true; to fetchGit.
```

Try to follow the suggestions from the error message, as I do see the
commit in https://git.savannah.gnu.org/cgit/emms.git/.

I'm not sure why this is only failing now...
2024-05-18 22:20:56 +10:00
Marien Zwart
2e2548e80f Add nix flake check github workflow 2024-05-18 22:20:56 +10:00
Marien Zwart
631c786d8b nix flake update
...with `--override-flake nixpkgs github:NixOS/nixpkgs/nixpkgs-unstable`
(bypass my local registry) to write a flake.lock that should pass
flake-checker.
2024-05-18 22:20:56 +10:00
Marien Zwart
bc808de7fc
Add basic end-to-end test 2024-05-17 21:03:24 +10:00
Marien Zwart
d7c2725a61
Tweak README 2024-05-13 22:53:43 +10:00
Marien Zwart
482f7f3c7f
Apply pins per-repo
I knew this might cause problems at some point, but it came to a head
sooner than expected: it triggered
https://github.com/magit/magit/issues/5131 (magit is pinned but
magit-section was not, and those packages expect to be kept in sync).

The fix is messier than I'd like but at least fixes magit.
2024-05-13 22:09:28 +10:00
Marien Zwart
ebc03f12fe
Add comment about getting nixpkgs through registry 2024-05-12 20:40:49 +10:00
Marien Zwart
1e879c9556
org: make it find its datadir 2024-05-11 22:58:15 +10:00
Marien Zwart
1842251412
org: partially parallel build
Org's build system still builds docs before lisp, but does partially
parallelize.
2024-05-11 22:54:18 +10:00
Marien Zwart
8b4fc00d8e
Use runCommandLocal 2024-05-11 21:32:48 +10:00
Marien Zwart
78eb3559a9
Move most "packages" to checks
Neither "minimal" nor "full" were particularly useful packages.

Add an emacsWithDoom check while I'm there.
2024-05-11 21:09:54 +10:00
Marien Zwart
d216451849
Remove unneeded example init.el comments 2024-05-11 20:43:55 +10:00
Marien Zwart
fe4b632478
Refactor flake / home-manager common code
Avoids having the emacs-overlay hack in two places.
2024-05-11 20:35:42 +10:00
Marien Zwart
f65aa4a718
Remove stale comment 2024-05-11 20:16:45 +10:00
Marien Zwart
310cadf813
Fix flycheck in emacs-lisp buffers
Doom hooks into flycheck's emacs-lisp checker to load itself. This does
not involve its profile loader, so this bypasses our profile dir
customization.

Hook into this hook to add that customization back.
2024-05-09 21:24:13 +10:00
Marien Zwart
e0db277665
Clean up repetitive code 2024-05-07 23:24:37 +10:00
Marien Zwart
2cc2bdaf63
Fix excessively long lines
This keeps nix code within 100 columns except for one string in a
comment.
2024-05-07 23:19:43 +10:00
Marien Zwart
c12417c362
Rename doom.nix to default.nix 2024-05-07 23:02:59 +10:00
Marien Zwart
badafb50f6
Appease statix 2024-05-07 22:59:57 +10:00
Marien Zwart
a435bdc848
Use nix-systems
Not hugely important because it only affects our packages, not overlay
or home-manager module, but might as well.
2024-05-07 22:58:41 +10:00
Marien Zwart
0d1f14d15a
Disable nixpkgs inputs of doom-overlay
They should be unused as all we're using is the overlay. Let's make that
explicit.
2024-05-07 22:36:33 +10:00
Marien Zwart
9ce8bbd4ce
nix flake update 2024-05-04 22:49:22 +10:00
Marien Zwart
c8b82d46ba
Use emacs-overlay directly, not as overlay
Slight hack to avoid instantiating an additional nixpkgs unnecessarily.
2024-05-04 22:48:11 +10:00
Marien Zwart
0dd5a3d425
Appease statix 2024-04-29 15:46:56 +10:00
Marien Zwart
b3ed7ea627
Add a Home Manager module
It turns out using Home Manager's `programs.emacs` module does not work
correctly. Document that in HACKING.md for future reference.
2024-04-29 15:46:13 +10:00
Marien Zwart
7848f69115
Document some known doom doctor complaints 2024-04-29 14:19:43 +10:00
Marien Zwart
19d0b562de
nix flake update 2024-04-28 20:30:37 +10:00
Marien Zwart
c13337d454
Wrap doom CLI
Enough of this now works. In particular, it is possible to run `doom
doctor`.
2024-04-28 20:19:46 +10:00
Marien Zwart
6b8ff7b693
Advice doom-profile-init-file to use our profile
`doom-start` locates the profile init file relative to
`doom-profile-dir` when running interactively, which we customize (either
directly or by setting `doom-profile-data-dir`). But when running
noninteractively, it uses `doom-profile-init-file`, which always loads
relative to `doom-data-dir`.

We cannot point `doom-data-dir` into the store, so this breaks us.

Work around it by advicing `doom-profile-data-dir` to locate the init
file relative to `doom-profile-dir` too. Try to make this more safe by
erroring out if called on a non-default profile.

All of this feels questionable, but I really want `doom doctor` to
work...
2024-04-28 20:11:51 +10:00
Marien Zwart
24ee7b6838
Actually load straight when asked to initialize it
`straight--load-build-cache` is not autoloaded, so we fail if it has not
been loaded yet. Apparently it usually is when we hit this override
interactively, but Doom CLI can call our override early enough we need
this.
2024-04-28 20:09:06 +10:00
Marien Zwart
87267ca824
Make profile loader optional
Not heavily tested, but seems to work.
2024-04-28 18:59:38 +10:00
Marien Zwart
7c5ee461be
Don't force DOOMDIR and DOOMPROFILE* on doomscript
It does not use them (although doomscripts themselves might).

Not forcing them seems more convenient for users (this should let me
test build-profile-loader) and helps me make the profile loader
optional.
2024-04-28 17:54:11 +10:00