This change was added to allow evil-collection to compile on latest
versions macOS Ventura, the evil-collection version at the time of this
change was halting on the compilation of the
`evil-collection-speedbar.el` file.
Unfortunately, with this approach, although it finishes the nix-doom
emacs compilation, leaves doom-emacs' runtime in a faulty state. The
emacs package relies on a sub-directory `modes` that doesn't get
compiled when specifying this dependency in the overrides list.
As a way to make it work as expected on macOS Ventura, users should
override the `emacsPackagesOverlay` option and specify the
`evil-collection` variable. Following an example
```
{ pkgs, ... }:
{
programs.doom-emacs = {
enable = true;
emacsPackagesOverlay = _final: _prev: {
inherit (pkgs.emacsPackages) evil-collection;
};
};
}
```
When installing nix-doom-emacs on newer macOS m2 machines, the build process
hangs when processing the evil-collection package.
Adding this override fixes the problem.
* Use `--init-directory` in Emacs 29+
This will allow a few advantages:
- We can load `early-init.el` file properly, fixing Flash Of Unstyled
Contents (FOUC) issues and improving the performance slightly
- Eventually we can drop `default.el` file loading in Home-Manager
module. Not done here since this would complicate the code without
necessity, however this can be done once Emacs 29+ is default
* Fix build in Emacs <29
* Add #checks.<arch>.init-example-el-emacsGit
* Add .#checks.x86_64-linux.init-example-el-emacsGit to CI
* Fix review issues
* Move config files to share/emacs.d
* Separate tests in two steps
* Add TODOS
* Simplify emacs-dir generation
It could be used like this:
```nix
{
inputs = {
nix-doom-emacs.url = "github:vlaci/nix-doom-emacs";
};
outputs =
{ nixpkgs, nix-doom-emacs
, ...
}: {
nixosConfigurations.exampleHost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
({ pkgs, ... }: {
boot.isContainer = true;
environment.systemPackages =
let
doom-emacs = nix-doom-emacs.package.${system} { doomPrivateDir = ./doom.d; };
in
[
doom-emacs
];
})
];
};
};
}
```
See documentation in `default.nix` to see what can be passed here
The new straight version won't unhelpfully override `(org-version)` and
`(org-revision)` with with its custom implementation that only work in a
git repository. This change will make `elfeed` package work again.
(Setting `straight-fix-org` to `nil` would have also resolved the issue)
The updated `straight.el` version also plays along better with emacsGcc.
Relates-to: vlaci/nix-straight.el#2
Fixes: #158
If input name contains `.` character then `invalid flake input path
element` error message is displayed on running `nix flake update
--update-input x.y`