unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at>
To: Zain Jabbar <zaijab2000@gmail.com>,
	58652@debbugs.gnu.org, jbranso@dismail.de
Subject: [bug#58652] Creating home-emacs-service-type
Date: Thu, 20 Oct 2022 14:53:58 +0200	[thread overview]
Message-ID: <495a0fab9b20dd40f9fb1aef2261b60e053bf5cd.camel@ist.tugraz.at> (raw)
In-Reply-To: <CAH+UbWQRoqsgSWpFyb5xjvGsepp0mG86W6g_a4SU04yHFc_mgw@mail.gmail.com>

Am Mittwoch, dem 19.10.2022 um 15:59 -1000 schrieb Zain Jabbar:
> Aloha Guix Development Team,
> 
> First submission of a patch to this mail service. Hopefully this
> works. I welcome any and all feedback.
> 
> Attached is a patch which creates a new file
> =/gnu/home/services/emacs.scm= which defines a new service
> =home-emacs-service-type= and a configuration for said service
> =home-emacs-configuration=. The configuration contains a list of
> packages to add to the home-profile, and a list of expressions to add
> into Emacs' =init.el= and =early-init.el=.
Note that you reverted the patch direction.

> Here is an example of a home environment file which:
> 
> Adds the following packages:
> - =bash=
> - =emacs-next=
> - =emacs-debbugs=
> - =emacs-evil=
> - =emacs-paredit=
> - =emacs-anzu=
> 
> Overwrites the =.config/emacs/init.el= with:
> #+BEGIN_SRC emacs-lisp
> (evil-mode 1)
> #+END_SRC
> 
> Overwrites the =.config/emacs/early-init.el= with:
> #+BEGIN_SRC emacs-lisp
> (setq warning-suppress-log-types '((comp) (comp))) (setq
> warning-suppress-types '((comp) (comp)))
> #+END_SRC
> 
> #+BEGIN_SRC scheme
> (use-modules (gnu home services emacs)
>      (gnu home)
>      (gnu packages)
>      (ice-9 pretty-print)
>      (gnu services))
> 
> (define-public minimal-home-environment
>   (home-environment
>    (services
>     (list
>      (service home-emacs-service-type
>       (home-emacs-configuration
>        (packages
> (list
> (specification->package "bash")
> (specification->package "emacs-next")
> (specification->package "emacs-debbugs")
> (specification->package "emacs-evil")
> (specification->package "emacs-paredit")
> (specification->package "emacs-anzu")))
>        (init '((evil-mode 1)))
>        (early-init '((setq warning-suppress-log-types '((comp)
> (comp)))
>      (setq warning-suppress-types '((comp) (comp)))))))))))
> 
> minimal-home-environment
> #+END_SRC
You should also take an extra-files argument, e.g. to add custom.el or
other elisp files that init.el might refer to.

Also, I'm not certain if "scheme-file" is the right primitve here –
Emacs Lisp does differ from Scheme, e.g. in keyword syntax among
others.

Cheers




  reply	other threads:[~2022-10-20 13:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-20  1:59 [bug#58652] Creating home-emacs-service-type Zain Jabbar
2022-10-20 12:53 ` Liliana Marie Prikler [this message]
2022-10-20 21:30   ` Zain Jabbar
2022-10-21  6:05     ` Liliana Marie Prikler
2022-10-21 15:42       ` Joshua Branson via Guix-patches via
2022-10-22  7:09       ` Zain Jabbar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=495a0fab9b20dd40f9fb1aef2261b60e053bf5cd.camel@ist.tugraz.at \
    --to=liliana.prikler@ist.tugraz.at \
    --cc=58652@debbugs.gnu.org \
    --cc=jbranso@dismail.de \
    --cc=zaijab2000@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).