[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: DEOL: Declarative Emacs On-Line
From: |
Emanuel Berg |
Subject: |
Re: DEOL: Declarative Emacs On-Line |
Date: |
Fri, 04 Mar 2022 03:28:01 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
Lele Gaifax wrote:
> I'm not sure what you mean, but you can easily find examples
> of managing Emacs configs from Emacs-the-program down to the
> single package:
>
> https://github.com/jwiegley/nix-config/blob/master/overlays/10-emacs.nix
Hm, that's a lot of code, isn't this supposed to do this
easier and more viewable? ;)
Maybe you can yank and explain a subset of that code?
Actually, this doesn't look like what I want att all, sorry.
seq = if esuper.emacs.version != "26.3"
then mkDerivation rec {
name = "seq-stub";
version = "stub";
src = ./.;
phases = [ "installPhase" ];
installPhase = ''
mkdir $out
touch $out/.empty
'';
that looks like a mix of automatic and manual processing, and
a mix of declarative and imperative styles as well.
("Imperative" is the CS word for stacking commands.)
To be honest the posted Makefile actually looks much better
IMO. [1]
Here, have a look, couldn't it look more like this?
https://dataswamp.org/~incal/common-lisp/general-base/gb.asd
And again, that could be simplified even further since
dependencies could be derived :)
> https://github.com/jwiegley/nix-config/blob/master/config/emacs.nix
That's more like it, only in the Emacs world we like to
evaluate things. Couldn't it be left to Emacs to have
a declarative build system of its own?
But anyway that's certainly interesting anyway, so then how do
I use it?
You already saw what I use,
crontab-mode-20210715.133
gnuplot-mode-20171013.1616
google-translate-20210406.1138
lua-mode-20210809.1320
markdown-mode-20211022.55
scad-mode-20200830.301
seq-2.23
slime-20220210.1512
sml-mode-6.10
w3m-20211122.335
> In that config, John uses Home Manager to track even most
> of user's dotfiles.
>
> https://nix-community.github.io/home-manager/
Not following, what does that do?
Instead of loading them from .emacs? Or `require' them
in Elisp?
Indeed I've spent ages doing that as well [2] - now it is very
easy to find an error even from zero information about it,
since one can do binary search by commenting out files or
group of files ... (instead of source lines) [well, actually
that is how it is done still LOL]
[1] https://dataswamp.org/~incal/emacs-init/Makefile
[2] https://dataswamp.org/~incal/conf/.emacs
--
underground experts united
https://dataswamp.org/~incal