Skip to content

Commit d149c21

Browse files
chore(deps): lock file maintenance (#414)
* chore(deps): lock file maintenance * chore: replace deprecated if-let/when-let functions * fix: typo in racket-mode use-package definition * feat: use twist lib to byte compile init files --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Terje Larsen <[email protected]>
1 parent 771c2dd commit d149c21

7 files changed

+90
-120
lines changed

default.nix

+21-25
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
lib,
33
stdenv,
4-
trivialBuild,
4+
buildElispPackage,
5+
elispInputs,
56
emacs-all-the-icons-fonts,
67
emacsPackages,
78
iosevka-bin,
@@ -11,41 +12,36 @@
1112
let
1213
tree-sitter = emacsPackages.treesit-grammars.with-all-grammars;
1314

14-
init = trivialBuild {
15-
pname = "config-init";
16-
version = "1";
15+
init = buildElispPackage {
16+
ename = "config-init";
1717

1818
src = lib.sourceByRegex ./. [ "init.org" ];
19+
files = [ "init.org" ];
20+
lispFiles = [
21+
"early-init.el"
22+
"init.el"
23+
];
24+
25+
inherit elispInputs;
26+
nativeCompileAhead = true;
27+
wantExtraOutputs = false;
28+
errorOnWarn = true;
29+
doTangle = false;
1930

2031
preBuild = ''
32+
export HOME="$NIX_BUILD_TOP/.home"
33+
mkdir -p "$HOME/.config/emacs"
34+
2135
emacs --batch --quick \
2236
--load org \
2337
*.org \
2438
--funcall org-babel-tangle
25-
'';
26-
27-
buildPhase = ''
28-
runHook preBuild
29-
30-
export HOME="$(mktemp -d)"
39+
rm *.org
3140
32-
mkdir -p "$HOME/.emacs.d"
33-
ln -s ${tree-sitter}/lib "$HOME/.emacs.d/tree-sitter"
34-
35-
emacs --batch --quick \
36-
--eval '(setq byte-compile-error-on-warn t)' \
37-
--funcall batch-byte-compile \
38-
*.el
39-
40-
runHook postBuild
41+
ln -s ${tree-sitter}/lib "$HOME/.config/emacs/tree-sitter"
4142
'';
4243

43-
# Temporary hack because the Emacs native load path is not respected.
44-
fixupPhase = ''
45-
if [ -d "$HOME/.emacs.d/eln-cache" ]; then
46-
mv $HOME/.emacs.d/eln-cache/* $out/share/emacs/native-lisp
47-
fi
48-
'';
44+
meta = { };
4945
};
5046
in
5147
stdenv.mkDerivation {

dev/flake.lock

+34-41
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.lock

+24-24
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

+7-4
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,14 @@
8989
);
9090

9191
emacs-config = prev.callPackage inputs.self {
92-
trivialBuild = final.emacsPackages.trivialBuild.override {
93-
emacs = final.emacs-env.overrideScope (
94-
_: tprev: { inherit (tprev.emacs) meta withNativeCompilation; }
95-
);
92+
buildElispPackage = (inputs.twist.lib.buildElispPackage final).override {
93+
emacs = emacsPackage;
9694
};
95+
96+
elispInputs = prev.lib.pipe final.emacs-env.elispPackages [
97+
builtins.attrValues
98+
(builtins.filter prev.lib.isDerivation)
99+
];
97100
};
98101
}
99102
)

init.org

+4-3
Original file line numberDiff line numberDiff line change
@@ -1661,8 +1661,8 @@ Descriptive buffer names or project relative paths for buffer names.
16611661
(shell-mode-hook . epithet-rename-buffer)
16621662
:config
16631663
(defun epithet-relative-project-name ()
1664-
(when-let ((project (project-current))
1665-
(buffer-file-name (buffer-file-name)))
1664+
(when-let* ((project (project-current))
1665+
(buffer-file-name (buffer-file-name)))
16661666
(let* ((project-root (expand-file-name (project-root project)))
16671667
(prefix (file-name-directory (directory-file-name project-root)))
16681668
(buffer (expand-file-name buffer-file-name)))
@@ -2926,7 +2926,7 @@ Add faces to =outline-minor-mode= in order to make the headings stand out.
29262926
(defun clojure-repl ()
29272927
"Open a Clojure REPL."
29282928
(interactive)
2929-
(if-let ((repl-buffer (cider-current-repl)))
2929+
(if-let* ((repl-buffer (cider-current-repl)))
29302930
(pop-to-buffer repl-buffer)
29312931
(cider-jack-in-clj nil)))
29322932

@@ -3503,6 +3503,7 @@ Pretty check-boxes
35033503
(use-package racket-mode
35043504
:ensure t
35053505
:mode "\\.rkt[dl]?\\'"
3506+
:bind
35063507
(:map racket-mode-map
35073508
("M-g k" . racket-doc)
35083509
("C-. t" . racket-test))

0 commit comments

Comments
 (0)