This configures the atuin daemon for Linux and Darwin systems using
systemd and launchd, respectively. For systemd, a socket is also
automatically configured to exist at atuin's default socket location.
This makes it easy to declaratively manage the color scheme for
kakoune via a nix package in your `~/.config/kak/colors` folder. The
color scheme can then be declaratively selected by name using the
existing Home Manager option `programs.kakoune.config.colorScheme`.
The systemd user service depends on
config.xdg.configFile."hypr/hypridle.conf".source
for `X-Restart-Triggers`. When `cfg.settings` is the default `{}`,
this causes failure since
config.xdg.configFile."hypr/hypridle.conf".source
will not exist.
Making the addition conditional on `cfg.settings` actually having
content, which would mean `xdg.configFile."hypr/hypridle.conf"` does
exist, avoids the error.
The systemd user service depends on
config.xdg.configFile."hypr/hyprpaper.conf".source
for `X-Restart-Triggers`. When `cfg.settings` is the default `{}`,
this causes failure since
config.xdg.configFile."hypr/hyprpaper.conf".source
will not exist.
Making the addition conditional on `cfg.settings` actually having
content, which would mean `xdg.configFile."hypr/hyprpaper.conf"` does
exist, avoids the error.
This expands the Syncthing configuration to allow declarative
settings. Code mostly pulled from the Nixpkgs module.
Changes compared to the NixOS module are:
Removed the following options:
- user, group, systemService: Unnecessary since Syncthing always runs
as the user declaring the configuration.
- dataDir configDir, databaseDir: Pointed to ~/.local/state/syncthing,
the default Syncthing directory.
- openDefaultPorts: We don't have access to the system firewall.
Furthermore, multiple changes to systemd services were made to
maintain consistency with other Home Manager modules, sandboxing
options might need to be reviewed further.
Fixes#4049
Currently translated at 100.0% (37 of 37 strings)
Co-authored-by: Lorenzo Bevilacqua <lorenzobevilacqua02@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/it/
Translation: Home Manager/Home Manager CLI
Using a fixed application name in the salt for the search engine name
hash can break with minor branding changes. For example, LibreWolf 127
used the application name "LibreWolf", but in version 128 it is
"Firefox".
The proper name can be found in about:support -> Application Basics.
Because it doesn't have to be related to the product name visible in
most of the browser (for example in the window title and help menus),
we shouldn't rely on cfg.name for that.
The application name can be read from lib/*/application.ini and we can
use that if the browser was installed via Home Manager. If not, we can
fall back to cfg.name.
By adding `key`, this allows users to disable this shared module or they can choose to not disable this shared module (by filtering by key before disabling)
This means users can disable all shared modules if all modules are paths or attrsets with a key:
`configuration.nix`:
```nix
{ config, ... }:
{
home-manager.users.enzime = { ... }: {
disabledModules = config.home-manager.sharedModules;
};
}
```
Or disabling just this module specifically:
```nix
{ ... }:
{
home-manager.users.enzime = { ... }: {
disabledModules = [ { key = "home-manager#nixos-shared-module"; } ];
};
}
```
Or disabling all modules when you have modules you can't disable (like lambdas):
```nix
{ ... }:
{
home-manager.users.enzime = { ... }: {
disabledModules = lib.filter (v: lib.isString v || lib.isPath v || (lib.isAttrs v && v ? key)) config.home-manager.sharedModules;
};
}
```
https://nixos.org/manual/nixos/unstable/#sec-replace-modules