Commit graph

409 commits

Author SHA1 Message Date
Marien Zwart
b6cd4a3794
Fix yasnippet startup warning 2024-04-07 21:00:19 +10:00
Marien Zwart
d05ecd9b19
Fix autoloads load order
Trying to start doom-example after enabling `scheme +guile` confirmed we
have at least one package (geiser-guile) that requires its dependency's
autoloads are loaded before its own are.

Fix it by assuming `package-activated-list` is in reverse order of
activation. That behavior is (as far as I could find) not documented,
but sufficiently obvious it seems safe enough to rely on it.
2024-04-07 20:40:12 +10:00
Marien Zwart
9fea22f0c5
Include package-activated-list in profile
This seemed reasonable before, and I'm currently debugging a load order
problem for which having this is useful.
2024-04-07 20:38:44 +10:00
Marien Zwart
367bce4bd1
Fix phpactor leaking /build/ into init.elc
Fixes doom-full build.
2024-04-07 18:56:32 +10:00
Marien Zwart
f7591a18bc
Enable more module flags in doom-example 2024-04-07 17:38:11 +10:00
Marien Zwart
0719e304b4
Make doomDir mandatory but possibly empty
Having this empty only really makes sense for minimal/full test builds.

Also, /var/empty was not doing what it looks like (it's not accessible
from inside the build sandbox). Use nixpkgs's emptyDirectory instead.
2024-04-07 14:12:53 +10:00
Marien Zwart
3f61282923
nix flake update 2024-04-07 13:35:59 +10:00
Marien Zwart
bacffdb146
Specify url for corfu-terminal
We need to override the assumed emacs-straight mirror for this one...
2024-04-07 00:15:10 +11:00
Marien Zwart
68aa201f9b
Supply doomSource 2024-04-06 23:52:19 +11:00
Marien Zwart
03769febeb
Drop flake-parts
It's not really doing much for me, and it might be getting in the way of
my attempt at exposing a non-package in the `packages` flake output.
2024-04-06 23:41:35 +11:00
Marien Zwart
dbeda09006
First cut at making it usable from flakes 2024-04-06 22:48:59 +11:00
Marien Zwart
016e4a712f
nix flake update 2024-04-06 22:47:51 +11:00
Marien Zwart
db3fa5674f
Include package name in recipe derivation name 2024-04-06 22:25:48 +11:00
Marien Zwart
679b76adda
Drop stray debug trace 2024-04-06 22:23:58 +11:00
Marien Zwart
fa30695cf3
Fix common-lisp module
dd95f8fb3d
adds an unpinned dependency on sly-stepper, which is not in MELPA (nor
separately packaged in nixpkgs).

Pin it ourselves.
2024-04-05 23:34:52 +11:00
Marien Zwart
8704e5f3ba
Fix defadvice signature 2024-04-01 21:59:09 +11:00
Marien Zwart
701298497c
Write some documentation
Motivated by noticing phpactor breaks the build, and not having anywhere
obvious to write down why...
2024-04-01 00:01:13 +11:00
Marien Zwart
14686461b2
Load package.el autoloads from Doom profile
This should get us to the point of being usable.
2024-03-31 21:58:59 +11:00
Marien Zwart
bd7d541c21
nix flake update 2024-03-31 20:47:54 +11:00
Marien Zwart
9d2bf9c263
Symlink instead of copy user DOOMDIR 2024-03-31 20:46:53 +11:00
Marien Zwart
17eecff29e
Verify no build directories leak into the profile 2024-03-31 20:44:24 +11:00
Marien Zwart
0f80026223
Pass profile dirs as args instead of profiles.el
Writing profiles.el was borderline unreadable.
`doom-profiles-autodetect` was effectively just reading in the entire
file: accepting the paths we want in the profile as individual args and
putting them together on the Emacs side is easy enough.

Accidentally fixes a bug: `user-emacs-directory` should end in a
directory separator. We now get the right value for free by using the
path we're running Doom CLI out of.
2024-03-31 17:28:34 +11:00
Marien Zwart
ffe2eae6cb
Make output binary name configurable 2024-03-31 16:51:00 +11:00
Marien Zwart
03eaf7517f
Pull commentary into separate documentation 2024-03-31 16:47:48 +11:00
Marien Zwart
ca42470bc7
Tweak profile directory layout
doom-profile-data-dir is for the current profile, naming it
"profiles" (plural) made no sense.

Also move the loader into its own subdir so it's more obvious what the
two init.29.elc files are.
2024-03-31 15:44:27 +11:00
Marien Zwart
6c260297ee
Rename package.nix to doom.nix 2024-03-31 15:39:43 +11:00
Marien Zwart
1d571bb2d6
Store full user DOOMDIR
I was hoping to avoid this but it does not seem practical: I'm pretty
sure I need the user module in the store to override its packages.el,
and Doom does not separate the user module and doom-user-dir.
2024-03-30 23:59:56 +11:00
Marien Zwart
d968be8a05
Explicitly pull in org from org-contrib
I assume it currently builds against the Emacs-bundled version.
2024-03-30 21:08:02 +11:00
Marien Zwart
d0e45bc623
nix flake update 2024-03-30 21:04:48 +11:00
Marien Zwart
55f99b5eb7
Drop obsolete patch
Doom updated to a version including this.
2024-03-30 21:04:14 +11:00
Marien Zwart
c1a9df33d4
Use Doom profile loader to load our profile
This seems like a relatively sane way of loading our profile from the
Nix store. The alternatives I see are patching Doom (which I'm trying to
avoid) or setting DOOMLOCALDIR. If we set DOOMLOCALDIR, Doom sets enough
variables based on it it would be a pain to clean them up after we gain
control.

Using the profile loader lets us set doom-profile-data-dir early, which
currently only contains the profile and env file.
2024-03-29 22:54:58 +11:00
Marien Zwart
5a8220ab09
Improve TODO 2024-03-29 22:48:03 +11:00
Marien Zwart
02ff35d3aa
nix flake update 2024-03-29 22:39:35 +11:00
Marien Zwart
c055f2eb9d
Improve comment 2024-03-29 22:39:10 +11:00
Marien Zwart
bbfa0b0823
nix flake update 2024-03-26 22:28:54 +11:00
Marien Zwart
634be49049
Write a Doom profile 2024-03-26 22:28:43 +11:00
Marien Zwart
25030d4356
Include user-disabled and -ignored packages 2024-03-26 22:27:34 +11:00
Marien Zwart
3708ded56a
Remove unnecessary require
This was importing cli/packages.el, which I don't need. I do need
doom-packages.el, but doom-cli.el (in noninteractive mode) already pulls
that in.
2024-03-25 22:48:17 +11:00
Marien Zwart
86736935b8
Drop obsolete todo 2024-03-24 15:54:36 +11:00
Marien Zwart
e9661a1484
Override version to avoid spurious rebuilds
I haven't fully confirmed this is sufficient to avoid rebuilds, but I
did confirm for a few packages the version no longer appears in that
package's derivation (which should be sufficient).
2024-03-24 15:41:33 +11:00
Marien Zwart
69694ecde6
Make pin requirement for generated builds explicit
We were already setting `commit` to `p.pin` unconditionally, so the
requirement is not new. Add an assert because this can be triggered from
a user packages.el.
2024-03-24 15:38:29 +11:00
Marien Zwart
ccdf56b235
Drop double-negation (trivial) 2024-03-24 15:36:08 +11:00
Marien Zwart
0a49e4c3e1
nix flake update 2024-03-24 14:10:15 +11:00
Marien Zwart
023d4185de
Write packages.el 2024-03-24 14:09:50 +11:00
Marien Zwart
672c49d8ac
Fix a few byte-compilation errors 2024-03-18 23:53:14 +11:00
Marien Zwart
9d34ae17a5
Clean up straight install
We were installing bootstrap.el, install.el and indent.el. The former
two would have undesirable side effects if loaded, the latter shadows a
built-in library.
2024-03-18 22:33:18 +11:00
Marien Zwart
68f5e44763
Fix auctex-dependent packages 2024-03-18 21:24:22 +11:00
Marien Zwart
4677d758e6
gitignore result (nix build output) 2024-03-18 21:04:40 +11:00
Marien Zwart
e4ab09ecc6
Add example (based on my own config) 2024-03-18 21:02:41 +11:00
Marien Zwart
63ba8e4040
Ignore disabled packages 2024-03-18 20:53:43 +11:00