* 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`