I'm wondering if GNU Elpa will continue to release the modus themes. As of today, version 0.12 is available.
Melpa of course follows the master branch. And the latest Emacs version already ships with the themes (I assume the latest tag?).
My question arises because I locally packaged version 0.13 for guix, but the official package follows the GNU Elpa releases. My idea was to send them a patch with my version (that follows the tag releases of this repo).
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Thank you @aadcg for checking this! I sent a patch earlier today. The idea is to convert the package references in GNU ELPA from :external to :core. This practically means that they get packaged using upstream Emacs as their source.
Let's keep this issue open so that I may update you once I have something.
And the latest Emacs version already ships with the themes (I assume the latest tag?).
Emacs ships the latest tagged release, though there were a few documentation-related patches on top of it. Things like using "color" instead of "colour".
This practically means that they get packaged using upstream Emacs as their source.
Makes sense.
Actually this is being discussed in the guix mailing lists too. It seems that they prefer to stick to GNU ELPA.
If anyone is looking for a guix package definition that gets the themes from this repo, find it below.
(use-modules(guix)(guixpackages)(guixgit-download)(guixbuild-systememacs)(ice-9match)((guixlicenses)#:prefixlicense:))(package(name"emacs-modus-themes")(version"0.13.0")(source(origin(methodgit-fetch)(uri(git-reference(url"https://gitlab.com/protesilaos/modus-themes.git")(commitversion)))(file-name(git-file-namenameversion))(sha256(base32"0i6n3pzrmlgabsijy6z0hhs71q7g99yagwr2m33lr30skqc9rvdn"))))(build-systememacs-build-system)(home-page"https://gitlab.com/protesilaos/modus-themes")(synopsis"Accessible light theme (WCAG AAA)")(description"This is a set of accessible themes for GNU Emacs. The contrastratio between foreground and background values should always be >= 7:1,which conforms with the WCAG AAA accessibility standard.The Modus themes project consists of two standalone items, one wheredark text is cast on a light backdrop (Modus Operandi) and another wherelight text is displayed against a dark background (Modus Vivendi).")(licenselicense:gpl3+))
Write it to a file and then run guix package --install-from-file=/path/to/the/file.
Thanks for sharing! This also reminds me of the longer term plan to switch to the Guix system.
Anyhow, I did post a message on the mailing list. Reproducing it here for the sake of completeness:
From: Protesilaos Stavrou <info@protesilaos.com>To: 43910@debbugs.gnu.orgSubject: Re: [PATCH] gnu: emacs-modus-vivendi-theme: Update to 0.13.0.--text follows this line--Hello everyone,Just to note that I have not abandonned GNU ELPA: it remains animportant target.The delay for this version is due to administrative changes that need tohappen. The themes are now part of GNU Emacs, so GNU ELPA must bepatched to get them from emacs.git (together with their new Infomanual).I do not have push access to GNU ELPA and must thus coordinate with themaintainer. Once this is done, future updates will not go through anydelays.Thank you for your understanding!Best regards,Protesilaos-- Protesilaos Stavrouprotesilaos.com
I have been busy refactoring the themes. There will soon be version
1.0.0 which is backward-incompatible. The gist of what I wrote in
the relevant thread:
There will be a new package that users must install: modus-themes. It shall include both themes.
Old packages will be discontinued, namely, modus-operandi-theme and modus-vivendi-theme.
Customisation options are now unified and shared between the themes.
Each option is modus-themes-SOMETHING instead of modus-operandi-*
and modus-vivendi-*.
(I will write a comprehensive CHANGELOG entry and do a video about it)
If you have some time, can you please test the Guix recipe you shared
above on my main branch? That branch will become the default once
the new version is released.
Good to know! All fine on my side. I keep inventing work for me with all those Emacs-related projects. Haha!
It's my pleasure to take a look at this, and to send a patch to Guix (unless someone gets it done first).
Thank you!
Note that I am now waiting for MELPA before I make the final changes. Basically I want to make main the new default, but I cannot do it before MELPA updates their recipes, as that would break the current packages.
So it may be better to wait a little longer before sending the patch. Though you can at least check if everything builds/installs correctly from the main branch.
The new sample config for use-package:
(use-packagemodus-themes:ensure:init;; Add all your customizations prior to loading the themes(setqmodus-themes-slanted-constructstmodus-themes-bold-constructsnil):config;; Load the theme of your choice(modus-themes-load-operandi):bind("<f5>".modus-themes-toggle))
The package definition I wrote is still valid, the only difference is that users need to provide the latest commit in the version. I used fe6caa3d3354ba1743da70952643c67b0cd46fb0 (it was the most recent commit from the main branch when I took a look).
Guix prefers stable releases when it comes to emacs packages. So, it would be fine to send them a patch that would get the package from this repo, instead of ELPA, but they won't like that there isn't a tagged released. These are my impressions from the little I know of that community.
Guix enables users to get their packages from channels other than the "official" ones. This is what I should do---create my channel and share the latest version until we have a tagged released.
From my cursory look:
Thank you---the themes are amazing and there are lots of new features that I will explore!
I noticed that you added the :version keyword in the defcustom constructs. I believe you actually meant :package-version. Otherwise you'll get the following from *Help*:
This variable was introduced, or its default value was changed, in version 1.0.0 of Emacs.
Good to know! All fine on my side. I keep inventing work for me with all those Emacs-related projects. Haha!
Going down the rabbit hole! Similarly, I'm moving to EXWM and making small contributions to the Nyxt browser.
The package definition I wrote is still valid, the only difference is that users need to provide the latest commit in the version. I used fe6caa3d3354ba1743da70952643c67b0cd46fb0 (it was the most recent commit from the main branch when I took a look).
Very well!
Guix prefers stable releases when it comes to emacs packages. So, it would be fine to send them a patch that would get the package from this repo, instead of ELPA, but they won't like that there isn't a tagged released. These are my impressions from the little I know of that community.
I will tag a release as soon as I have confirmation from MELPA. The reason I am waiting for them is because I want to make main the default branch: if I do it now, it breaks their packages.
Guix enables users to get their packages from channels other than the "official" ones. This is what I should do---create my channel and share the latest version until we have a tagged released.
I say we wait a little longer until after the MELPA folks handle my pull request. That way we are sure that I make main the default branch, tag a release, publish the CHANGELOG, etc.
Thank you---the themes are amazing and there are lots of new features that I will explore!
You are welcome! The major difference for users is the shared customisation between the themes. Otherwise there are two new options, modus-themes-syntax and modus-themes-links. There is also modus-themes-toggle. The info manual is also available, if you want to take a look (or .org version in the source code).
One thing I need to change there is the reference to the new Guix package...
I noticed that you added the :version keyword in the defcustom constructs. I believe you actually meant :package-version. Otherwise you'll get the following from *Help*:
Good catch! I think it is okay now in the latest commit.
I'm moving to EXWM and making small contributions to the Nyxt browser.
I say we wait a little longer until after the MELPA folks handle my pull request. That way we are sure that I make main the default branch, tag a release, publish the CHANGELOG, etc.
Sure! What I said about guix channels was just a "by the way" for very impatient users that want this packed in guix. Those can anyway follow the instructions in this page :)
You are welcome! The major difference for users is the shared customisation between the themes. Otherwise there are two new options, modus-themes-syntax and modus-themes-links. There is also modus-themes-toggle. The info manual is also available, if you want to take a look (or .org version in the source code).
I took a look indeed. I was particularly curious about how the info manual was structured/generated - org-mode is great! There are other features that are also new to me. For instance, modus-themes-headings is super extensible now. A proof that the community and the developer are both very active.
One thing I need to change there is the reference to the new Guix package...
You can assume that the package will be called emacs-modus-themes. I don't see why the community would like to have them separate (operandi/vivendi). Also, I'd recommend that the manual would only mention guix as a package manager. The guix system is something of wonder indeed, but I find it irrelevant in the aforementioned context.
I took a look indeed. I was particularly curious about how the info manual was structured/generated - org-mode is great! There are other features that are also new to me. For instance, modus-themes-headings is super extensible now. A proof that the community and the developer are both very active.
Org is a powerhouse! And yes, there are quite a few additions since version 0.12.0. The one about the headings is the most customisable now. In general, we have moved away from the boolean types we had in the past and now use a lot of choice types. More flexible and ultimately easier to maintain.
You can assume that the package will be called emacs-modus-themes. I don't see why the community would like to have them separate (operandi/vivendi). Also, I'd recommend that the manual would only mention guix as a package manager. The guix system is something of wonder indeed, but I find it irrelevant in the aforementioned context.
Okay, I will leave the name as-is. And I will follow your recommendation on the Guix system. Should I even render explicit the "package manager" part? Or keep it to just "Guix"? Will do it tomorrow anyway.
Okay, I will leave the name as-is. And I will follow your recommendation on the Guix system. Should I even render explicit the "package manager" part? Or keep it to just "Guix"? Will do it tomorrow anyway.
I gave that suggestion because the main point is that users can get the modus-themes with the guix package manager. I think it makes sense to render explicit "package manager" to emphasizes that it's not commited with any specific GNU/Linux distribution or OS.
I gave that suggestion because the main point is that users can get the modus-themes with the guix package manager. I think it makes sense to render explicit "package manager" to emphasizes that it's not commited with any specific GNU/Linux distribution or OS.
You are right! I thought I could also omit the "package manager" part, assuming that Guix users know what it is. Now the manual reads as follows:
Users of Guix can get the themes with this command: [...]
Hello again! Just to note that there is progress on the GNU ELPA front: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46964. Basically, we will soon have version 1.2.3 synced there. I will post an update once that is done.
I am fine---bit busier than usual with lots of emails and tasks, though I expect to get back to normal soon.
How about you? I have been following the Nyxt blog and your posts there. I installed the package last week, but have not experimented much with it yet. Will do so as soon as possible.
I am fine---bit busier than usual with lots of emails and tasks, though I expect to get back to normal soon.
I feel you.
How about you? I have been following the Nyxt blog and your posts there. I installed the package last week, but have not experimented much with it yet. Will do so as soon as possible.
Oh, and I thought I could just be a random, anonymous guy. There are some news indeed from my side (I will write you soon about it).
Nyxt is taking shape, and I hope you will like it. Feel free to contact me with questions.
@protesilaos, the patch was not accepted due to matters completely unrelated to the themes. You can take a look at the thread I shared in a previous message.
Feel free to close the issue, and I will take action on Guix as soon as it will be possible.