Use --init-directory in Emacs 29+ (#191)

* 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
This commit is contained in:
Thiago Kenji Okada
2022-07-10 18:46:49 +01:00
committed by GitHub
parent a59295c11e
commit 9111d480a8
4 changed files with 101 additions and 26 deletions

View File

@@ -6,8 +6,8 @@ on:
- master
- develop
jobs:
check:
name: Flake Check (x86_64 only)
check-emacs:
name: Flake Check emacs (x86_64 only)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -34,9 +34,43 @@ jobs:
nix-store --import < nix-store.dump || true
rm nix-store.dump
fi
- run: |
- name: Run checks in emacs
run: |
nix build .#checks.x86_64-linux.init-example-el
- name: Export /nix/store contents
if: ${{ !steps.cache-nix-store.outputs.cache-hit }}
run: |
nix-store --export $(nix-store -qR /nix/store/*-doom-emacs) > nix-store.dump
check-emacsGit:
name: Flake Check emacsGit (x86_64 only)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
# Nix Flakes doesn't work on shallow clones
fetch-depth: 0
- uses: cachix/install-nix-action@v17
with:
name: nix-community
- name: Retrieve /nix/store archive
uses: actions/cache@v3
id: cache-nix-store-emacsGit
with:
path: nix-store.dump
key: nix-store-emacsGit-${{ hashFiles('flake.*') }}
restore-keys: |
nix-store-emacsGit-
- name: Import /nix/store contents
if: ${{ steps.cache-nix-store-emacsGit.outputs.cache-hit }}
run: |
if [[ -f nix-store.dump ]]; then
nix-store --import < nix-store.dump || true
rm nix-store.dump
fi
- name: Run checks in emacsGit
run: |
nix build .#checks.x86_64-linux.init-example-el-emacsGit
- name: Export /nix/store contents
if: ${{ !steps.cache-nix-store-emacsGit.outputs.cache-hit }}
run: |
nix-store --export $(nix-store -qR /nix/store/*-doom-emacs) > nix-store.dump