Refactors the services.mako module to replace all its configuration options with a freeform settings option and criterias. I also added a test for the configuration.
Even if no accounts were configured, it was defaulting to just account1,
which meant all other accounts were deleted every time thunderbird was
restarted. This fixes that by defaulting to the empty list (so it
remains unset in the user.js).
...even empty ones.
For packages in `home.packages` with no Fish completions, we build an
empty directory that is not included in our runtime closure (because we
build a collection of symlinks to their contents: if there are no
contents, there is nothing to symlink). This means these empty
completion packages get garbage-collected by Nix. They are not that
expensive to rebuild but there can be enough of them it adds up, and any
change to any package in `home.packages` is enough to trigger a rebuild.
Fix this by forcing a dependency on all of them. Since we already
depended on them anyway if they were non-empty, this only adds
dependencies on empty directories (so should not significantly affect
storage space).
Fixes#6157.
This should have the same effect `system.extraDependencies` has in
nixpkgs: adds paths to the runtime closure without installing them
anywhere.
This is useful for preventing garbage collection of packages that are
expensive to rebuild. For example:
- nixpkgs itself suggests using this for `factorio.src`, which requires
a token to fetch.
- we can use it to address #6157: avoid needlessly rebuilding
completions for packages that do not have any.
The implementation mirrors nixpkgs: add a file containing the store
paths we want to keep around to the home-manager-generation derivation.
fcitx5 overwrites config files unless the entire folder is readonly. With this PR, a single fcitx5 symlink is made instead of multiple fcitx5/* ones. The link is only created when relevant options are set.
`carapace _carapace nushell` adds `/homeless-shelter/.config/carapace/bin`
to PATH, this changes it to ` $HOME/.config/carapace/bin`. Other shells
don't have this problem as they run the command and source on startup
whereas Nix writes the command output to a file as part of the build.
Alternative option for allowing a user to automatically configure what
binary to use from a `pinentry` package. Previously, we always used
`meta.mainProgram` but, there are packages that provide multiple
binaries and this would allow flexibility for a user to override the
default program used.
Pass `--non-interactive` flag to `rclone config update` calls so that an
incomplete config is not used, resulting in failure on some remotes,
for example gdrive.
Provides a module for configuring mpvpaper a video wallpaper program for wlroots based wayland compositors. It provides options for setting the 'pauselist' and 'stoplist'.