help-gnu-emacs
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]