The configuration file format of borgmatic has changed in version
1.8.0:
https://projects.torsion.org/borgmatic-collective/borgmatic/src/branch/main/NEWS
This commit makes Home Manager generate borgmatic's configuration file
using the new format.
Even though the NEWS file indicates that old configuration files are
compatible, this is not 100% the case: empty sections work fine in old
borgmatic but stop working in new ones. I've reported the bug upstream
by email as I couldn't create an account on the forge.
Specifically, allow variable expansion for the key codes by switching
from single to double quotes.
This also adds a helpful suggestion to descriptions. Taken from the
project's README, see
4abed97b6e/README.md (L71-L74))
Allows users to customize which environment variables to import in DBus
and SystemD user environments, and to specify which commands will be run
after the environment activation.
The way the `bat` module is currently written makes it essentially
impossible to use themes and syntaxes without IFD, since you must
provide the contents as string, instead of just giving a path to be
linked.
With this change, setting themes/syntaxes by-string will start issuing
warnings, and a new attribute model is added, lightly inspired by how
`programs.zsh.plugins` avoided this issue.
For some reason, Firefox completely discards the ADD_DATE and
LAST_MODIFIED attributes if they are set to 0. This has been
confirmed by exporting a sample set of bookmarks generated by
Nix using home-manager and comparing it to the same sample of
bookmarks set manually and then exported.
Missing these attributes can cause problems for extensions and
other tools that try to read bookmarks. A known example is the
Tridactyl extension.
Fixesnix-community/home-manager#4488
The default config for sway generates a bar block with tray_output primary. But wayland (or sway, take your pick?) has no concept of a primary display so this just results in no tray anywhere.
A better default is "*" which puts the tray on every monitor, since sway can do so without issue.
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Adds a programs.rio module to control Rio installation and configuration, a gpu accelerated terminal
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Don't try to validate a limited set of hardcoded options, instead just
convert them as-is. Now, users can keep all their options in a single
attribute set, including arbitrary `user_{option}`s which was impossible
to express with a hard-coded submodule. As a plus, there is also less
maintainence burden.
* gh: option to enable helper for additional hosts
`gh` can also be used with github enterprise
hosts, for which there exists no easy option
to enable the credential helper except for
directly working with `programs.git.extraConfig`.
Not sure if this is a needed addition since it's
somewhat niche, at the same time it's not very
complex and makes the life of github enterprise
a little easier.
* gh: update credential-helper tests
* gh: refactor credential helper option
this moves from `enableGitCredentialHelper` to
`gitCredentialHelper.enable` and
`gitCredentialHelper.hosts`.
* gh: lib.mkIf -> mkIf
- On darwin, creates a launch agent to run git-sync on an interval and
when the `path` changes.
- The `uri` option is not used on Darwin. The auto-creation of the
local git directory from the `uri` is a feature of the
git-sync-on-inotify [1] wrapper (which won't work on Darwin afaik)
and not `git-sync` itself.
[1] https://github.com/simonthum/git-sync/blob/master/contrib/git-sync-on-inotify
* hyprland: prioritize variables and beziers
The `settings` key now handles `$variables` and `bezier`s differently,
putting them at the top of the file.
Also, proper indentation has been implemented.
* Update modules/services/window-managers/hyprland.nix
Co-authored-by: Naïm Favier <n@monade.li>
* hyprland: add animations & beziers test
---------
Co-authored-by: Naïm Favier <n@monade.li>
Previously, lines in .zshrc were added with quotes in keys
(e.g. ZSH_HIGHLIGHT_STYLES['comment']='fg=#6c6c6c'). However, zsh
considered these quotes to be part of the key, so the "comment" key
remained unchanged.
* aerc: fix per-account extraConfig section names
The aerc configuration file `aerc.conf` can contain 10 different
sections, but only the UI section supports what the aerc manual calls
contextual configuration. This works by appending to the section heading
either `:account=name` or `:folder=bar`.
The aerc-accounts module, however, applied `mkAccountConfig` to each
section heading declared in
`config.accounts.email.accounts.<name>.aerc.extraConfig.*`. This means
home-manager will generate files with `[general:account=default]` and
the options will not be recognized by aerc.
To address this, and since it doesn't make sense for other sections to
only be under a single account's scope, an assertion has been added
to confirm that only sectons that support contextual config (i.e.,
only the UI section) is declared.
This also addresses confusions like declaring
`accounts.email.accounts.*.aerc.extraConfig.general.unsafe-accounts-conf
= true` and triggering a warning message because
`programs.aerc.extraConfig.general.unsafe-accounts-conf` was unset.
This commit also updated documentation throughout the aerc modules to
be in line with this change, and fixed minor typos/formatting therein.
Co-authored-by: Genevieve <genevieve@sunlashed.garden>
* aerc: make assertion plaintext and add test case
This commit adds a test case to check both the warning on unset
`unsafe-accounts-conf = true` when aerc accounts are configured
with Nix, and the new assertion when per-account configuration
contains unsupported subsections (i.e. general).
It also fixes minor formatting issues and typos.
As pointed out in #3291, using the XDG symlink means the agent/unit
files don’t change when the contents of the config changes, and so the
service will not be restarted.
Nushell has the option to source from the login.nu file in the case
that nushell is used as a login shell. This commit adds the login file
alongside the existing config and env files as another configuration
option.
Previously, IMAP was preferred over notmuch, even if notmuch was
configured, causing problems with setting account flavor (which
automatically sets IMAP settings). The new backend order is:
notmuch > IMAP > maildir
This also fixes the notmuch DB path being set to the wrong location.
The notmuch DB is located at the maildir base path, not in each
account's maildir.