~protesilaos/dotfiles

3 2

prot-emacs: breaking changes

Details
Message ID
<871que7mby.fsf@nadanix.com>
DKIM signature
missing
Download raw message
Hi Prot,

I have contradictory feelings about your abandon literate config. It
helps me to start with Emacs, and I recurre a lot to your great
explanations to deep understand things like GNUS or Org mode.

Definitely I'll miss it.

On the other hand as happy user of your config I'm happy you get rid of
maintenance burden. I'm sure pace of improvements will increase and I'll
profit of it.

The only one thing I need to ask is, do you plan to support some kind of
=user-emacs.el= file?

Regards! Keep lispin'

-- 
Juanjo Presa
https://nadanix.com
Details
Message ID
<87a692emga.fsf@protesilaos.com>
In-Reply-To
<871que7mby.fsf@nadanix.com> (view parent)
DKIM signature
missing
Download raw message
> From: Juanjo Presa <juanjo.presa@nadanix.com>
> Date: Thu, 21 Jul 2022 13:10:41 +0200
>
> Hi Prot,

Hello there!

> I have contradictory feelings about your abandon literate config. It
> helps me to start with Emacs, and I recurre a lot to your great
> explanations to deep understand things like GNUS or Org mode.
>
> Definitely I'll miss it.

Thanks!  It wasn't an easy decision.  Though I had to be honest with it.
When I started with the dotemacs, I did not have any packages to worry
about.  At some point it was just the modus-themes, which was
manageable.  Now I maintain 8 packages and have plans for more...

> On the other hand as happy user of your config I'm happy you get rid of
> maintenance burden. I'm sure pace of improvements will increase and I'll
> profit of it.

There are areas that will be refined as I plan to do a major review of
all my custom code.

> The only one thing I need to ask is, do you plan to support some kind of
> =user-emacs.el= file?

I think the way I have it now, it would be easy to add such a module.
For example:

    (require 'prot-emacs-essentials)
    (require 'prot-emacs-theme)
    (require 'prot-emacs-theme-extras)
    (require 'prot-emacs-font)
    (require 'prot-emacs-modeline)
    (require 'prot-emacs-completion)
    (require 'prot-emacs-search)
    (require 'prot-emacs-dired)             ; dired and ibuffer
    (require 'prot-emacs-window)
    (require 'prot-emacs-git)               ; git, diff, and related
    (require 'prot-emacs-shell)             ; e?shell, man, proced, pass
    (require 'prot-emacs-write)             ; denote, logos, etc.
    (require 'prot-emacs-org)               ; org, calendar, appt
    (require 'prot-emacs-langs)
    (require 'prot-emacs-email)
    (require 'prot-emacs-web)               ; eww, elfeed, rcirc
    (require 'prot-emacs-conveniences)
    (require 'prot-emacs-history)
    (require 'MY-USER-EMACS)

Notice the last line.  You would just add a new file in the
prot-emacs-modules directory whose final line is like this:

    (provide 'MY-USER-EMACS)

Replace MY-USER-EMACS with the desired words.

Does that work for you?  Otherwise yes, I am happy to make adjustments
for such a use-case.

All the best,
Prot

-- 
Protesilaos Stavrou
https://protesilaos.com
Juanjo Presa <juanjop@gmail.com>
Details
Message ID
<87y1wm5pma.fsf@nadanix.com>
In-Reply-To
<87a692emga.fsf@protesilaos.com> (view parent)
DKIM signature
missing
Download raw message
> From: Protesilaos Stavrou <info@protesilaos.com>
> Date: Thu, 21 Jul 2022 14:26:13 +0300
>
> I think the way I have it now, it would be easy to add such a module.
> For example:
>
>     (require 'prot-emacs-essentials)
>     (require 'prot-emacs-theme)
>     (require 'prot-emacs-theme-extras)
>     (require 'prot-emacs-font)
>     (require 'prot-emacs-modeline)
>     (require 'prot-emacs-completion)
>     (require 'prot-emacs-search)
>     (require 'prot-emacs-dired)             ; dired and ibuffer
>     (require 'prot-emacs-window)
>     (require 'prot-emacs-git)               ; git, diff, and related
>     (require 'prot-emacs-shell)             ; e?shell, man, proced, pass
>     (require 'prot-emacs-write)             ; denote, logos, etc.
>     (require 'prot-emacs-org)               ; org, calendar, appt
>     (require 'prot-emacs-langs)
>     (require 'prot-emacs-email)
>     (require 'prot-emacs-web)               ; eww, elfeed, rcirc
>     (require 'prot-emacs-conveniences)
>     (require 'prot-emacs-history)
>     (require 'MY-USER-EMACS)
>
> Notice the last line.  You would just add a new file in the
> prot-emacs-modules directory whose final line is like this:
>
>     (provide 'MY-USER-EMACS)
>
> Replace MY-USER-EMACS with the desired words.
>
> Does that work for you?  Otherwise yes, I am happy to make adjustments
> for such a use-case.

Well, I'd like a solution where I dont need to patch your original
files. Nowadays I update them using Nix pointing to your Forge.

This is because the `user-emacs.el` solution worked perfect for me. I
point to your config then only have to maintain a local file with
customizations.

>
> All the best,
> Prot

-- 
Juanjo Presa
https://nadanix.com
Details
Message ID
<87sfmus66m.fsf@protesilaos.com>
In-Reply-To
<87y1wm5pma.fsf@nadanix.com> (view parent)
DKIM signature
missing
Download raw message
> From: Juanjo Presa <juanjop@gmail.com>
> Date: Thu, 21 Jul 2022 19:42:37 +0200
>
> [... 33 lines elided]
>
>> Does that work for you?  Otherwise yes, I am happy to make adjustments
>> for such a use-case.
>
> Well, I'd like a solution where I dont need to patch your original
> files. Nowadays I update them using Nix pointing to your Forge.
>
> This is because the `user-emacs.el` solution worked perfect for me. I
> point to your config then only have to maintain a local file with
> customizations.

Okay, no problem.  Can you try the following before I commit the
changes?  Place this snippet at the end of the init.el before the final
comment:

    (when-let* ((file (locate-user-emacs-file "user-emacs.el"))
                ((file-exists-p file)))
      (load-file file))

The file will have to be available at "~/.emacs.d/user-emacs.el".  Then
restart Emacs and check if your user-emacs.el has loaded up properly.

-- 
Protesilaos Stavrou
https://protesilaos.com
Reply to thread Export thread (mbox)