This patch updates all usage of toPlist such that it escapes any strings
in the final output.
The motication for this change is to avoid confusion when end-users of
home-manager's APIs are not aware that the option values they set end up
being passed un-escaped to XML files.
BREAKING CHANGE: Consumers doing manual escaping will now be doubly escaped.
Co-authored-by: Linnnus <linnnus@users.noreply.github.com>
Allow a user to disable an email account by setting
`accounts.email.accounts.<name>.enable = false`. This is useful if
someone wants to configure email accounts globally but only use them in
certain circumstances.
Everywhere email account configuration is used, check if the account is
enabled before checking any attributes of the account.
We generate the news id from the message. This news entry was the same
as an earlier one but for a different platform, which resulted in the
same entry id.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Creating a sherlock module for the sherlock launcher. Prefer a file be
controlled by a single option and using settings for the main config
file.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Use finalPackage pattern with wrapper so that people who don't use the
service can benefit from the other options.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Move all inlined news entries from news.nix into separate files
organized
by year and month. This makes the news system more maintainable and
easier to navigate.
- Extract 202 inlined entries to individual files in YYYY/MM directory
structure
- Update news.nix to only contain the module definition
- Use recursive directory traversal to find all news entries
- Update news.nix to recursively search for news entries in
subdirectories
- Update create-news-entry.sh to place new entries in YYYY/MM/
directories
- Move existing 2025 news entries to the new structure
This makes the news directory more organized and easier to navigate.
The current way to define a news entry in Home-Manager is error prone
(since you need to type the date manually) and also it is common cause
of conflicts after merges because all entries are defined in the same
file.
This commit fixes this: we can now create individual news entries for
each new entry. A script `create-news-entry.sh` also helps to create it
in the correct format (with the correct filenames and structure).