Commit graph

520 commits

Author SHA1 Message Date
Felix Buehler 4682ba9d88 nixos/services.sanoid: remove with lib; 2024-09-15 10:43:46 +02:00
Felix Buehler dfb290a6c6 nixos/services.rsnapshot: remove with lib; 2024-09-15 10:43:46 +02:00
Felix Buehler 27f54eb43e nixos/services.restic.backups: remove with lib; 2024-09-15 10:43:46 +02:00
Felix Buehler 9ad1866434 nixos/services.restic.server: remove with lib; 2024-09-15 10:43:46 +02:00
Felix Buehler dee892a446 nixos/services.postgresqlWalReceiver: remove with lib; 2024-09-15 10:43:46 +02:00
Felix Buehler 5c0e7f70a5 nixos/services.postgresqlBackup: remove with lib; 2024-09-15 10:43:46 +02:00
Felix Buehler 02145eb692 nixos/services.mysqlBackup: remove with lib; 2024-09-15 10:43:46 +02:00
Felix Buehler f51cd10816 nixos/services.borgbackup: remove with lib; 2024-09-02 22:26:34 +02:00
Tomodachi94 50afd1e1d3
nixos/bacula: add system-bacula.slice
Part of #279915
2024-08-31 12:53:52 -07:00
Felix Buehler fcfa7fa441 nixos/services.znapzend: remove with lib; 2024-08-30 00:19:18 +02:00
Philip Taron 5c21c35835
nixos/borgmatic: lib.mdDoc is deprecated 2024-08-12 08:02:10 -07:00
Florian 20d3d501ad
Merge pull request #290913 from flandweber/borgmatic-improvement
nixos/borgmatic: added test
2024-08-12 15:37:12 +02:00
imlonghao 4a03ff8bc8
nixos/borgmatic: change the default value 2024-08-04 11:56:25 +08:00
Emily ecf7c683c2
Merge pull request #319807 from hellodword/nixos-restic-add-unlock
nixos/restic: ensure newline in --files-from
2024-08-02 18:18:47 +02:00
hellodword e4a4da8794
nixos/restic: ensure newline in --files-from 2024-08-01 02:07:38 +00:00
Emily d21a082a4d
Merge pull request #296691 from helsinki-systems/feat/restic-systemd-inhibit
nixos/restic: add option to inhibit going to sleep
2024-07-30 20:45:56 +02:00
Marc Schütz 9be35dff51 mysqlBackup: use rsyncable compression 2024-07-28 11:03:13 +02:00
Robert Schütz 3e4e2db2d7 restic-rest-server: 0.12.1 -> 0.13.0
Diff: https://github.com/restic/rest-server/compare/v0.12.1...v0.13.0

Changelog: https://github.com/restic/rest-server/blob/v0.13.0/CHANGELOG.md
2024-07-27 02:34:16 -07:00
Emily 477c3c6d5e
Merge pull request #307962 from jpds/restic-snapshot-list-only-latest
nixos/restic: Use cat config in pre-start repo initialization check
2024-07-24 17:13:38 +02:00
Sandro 3c2e182677
Merge pull request #318897 from symphorien/btrbk_undeprecate_extraPackages
nixos/btrbk: undeprecate extraPackages
2024-07-14 19:13:55 +02:00
Peder Bergebakken Sundt 447ca95585
Merge pull request #320277 from Yarny0/tsm-client-update
tsm-client: update and migrate to by-name and finalAttrs
2024-07-10 19:00:24 +02:00
Franz Pletz b9db8b7c16
Merge pull request #325589 from wskeele/duplicity-include-filelist
nixos/duplicity: Add support for --include-filelist / --exclude-filelist
2024-07-09 16:45:35 +02:00
wskeele fff878e7c6 nixos/duplicity: Add support for --include-filelist / --exclude-filelist 2024-07-08 17:02:42 +02:00
Max Hausch a8038698d3
nixos/restic: add option to inhibit going to sleep 2024-07-08 09:43:27 +02:00
Tom Sydney Kerckhove edb707e3b5 borgbackup: Use RequiresMountsFor to require that the repo is mounted 2024-06-30 21:33:13 +02:00
Yarny0 fcb87b6377 tsm-client: 8.1.22.0 -> 8.1.23.0
"Update History" (release notes):
https://www.ibm.com/support/pages/node/6998343
The list of APARs ("Authorized Program Analysis Reports")
does not contain anything that would affect security.

With this update, the Java-based
GUI requires a newer jdk version
(note: version 8.1.22.0 was not compatible with the newer jdk).

Also, all URLs in package and module comments are updated.
2024-06-17 14:51:31 +02:00
Guillaume Girol 952b1a3d96 nixos/btrbk: undeprecate extraPackages
it is required on systems where ssh access is configured for
lz4-compressed btrfs send, but no instances are present.

fixes https://github.com/NixOS/nixpkgs/issues/316676
2024-06-10 12:00:00 +00:00
Matt Kline 234f4db797 nixos/snapper, nixos/borgbackup: Fix module doc typo
The persistentTimer argument sets the _Persistent_ field in
systemd.timer(5).

Pointed out in #312549
2024-05-23 14:23:40 -07:00
Guillaume Girol 673f00ad7b
Merge pull request #310199 from symphorien/borg_ignore_warnings_master
nixos/borgbackup: add an option to ignore warnings
2024-05-13 23:53:18 +02:00
Guillaume Girol 00346bff2b nixos/borgbackup: add an option to ignore warnings
borgbackup exit code 1 means warning, not error. For example if a file
is modified during backup, borg create exits with code 1. It may be
desirable to count that as success.
2024-05-09 12:00:00 +00:00
Pascal Wittmann a751e2faa2
Merge pull request #302908 from kai-tub/nixos/restic/fix-checkCmd
nixos/restic: fix skipping of check command
2024-05-08 10:29:31 +02:00
Kai Norman Clasen c650982a43 nixos/restic: Add runCheck option
This commit fixes the requirement to provide a pruneOption to ensure
that the check command is run when a check option is set. This is useful
for check-only configurations. The option is implicitly set if checkOpts
are given by default.
2024-05-04 22:44:37 +02:00
Jonathan Davies 046691a499 nixos/restic: Use cat config command in pre-start command for repo initialization
check, per upstream recommendation in https://github.com/restic/restic/issues/1690

This is to prevent logs from becoming unwieldy with large repo listings.
2024-05-01 12:50:55 +01:00
Tobi Bleiker 3accf6d393
znapzend: update declarations for --mailErrorSummaryTo
Co-authored-by: Janne Heß <dasJ@users.noreply.github.com>
2024-05-01 09:51:09 +02:00
Tobi Bleiker 2bb9ac6442 znapzend: add --mailErrorSummaryTo 2024-04-19 22:16:18 +02:00
Peder Bergebakken Sundt 2cf972b603
Merge pull request #298563 from Yarny0/tsm-client-update
tsm-client: 8.1.21.0 -> 8.1.22.0
2024-04-18 12:09:50 +02:00
stuebinm 6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Pascal Bach a8eaee11a9
Merge pull request #296459 from MinerSebas/restic-rest-server-hardening
nixos/restic-rest-server:  Add additional service hardening
2024-04-10 23:33:34 +02:00
Rick van Schijndel 067e519281
Merge pull request #302858 from tweag/infinisil-maintainer
treewide: Drop infinisil as maintainer from most packages
2024-04-10 08:50:38 +02:00
Silvan Mosberger ea5dfeab93 treewide: Drop infinisil as maintainer from most packages
I'm not going anywhere, I'm focusing my energy on other issues, and
getting pinged as a maintainer for packages is a bit distracting (also
I'm not using most of these packages anyways!)
2024-04-09 21:43:39 +02:00
Jörg Thalheim 13cc579932
Merge pull request #301528 from Mic92/borgbackup-fix
nixos/borgbackup: fix network-online.target warning
2024-04-09 19:39:11 +02:00
Bjørn Forsman 786141228f nixos/borgbackup: fix directory ownership regression
Re-add separate creation of the ~/.config and ~/.cache directories so
that they get correct ownership. Or else they get owned by root.

systemd-tmpfiles also warns about it:

  machine # [    3.022195] systemd-tmpfiles[472]: Detected unsafe path transition /home/user1 (owned by user1) → /home/user1/.cache (owned by root) during canonicalization of home/user1/.cache.
  machine # [    3.024566] systemd-tmpfiles[472]: Detected unsafe path transition /home/user1 (owned by user1) → /home/user1/.config (owned by root) during canonicalization of home/user1/.config.

Fixes: 8d3cf213db ("nixos/borgbackup: replace activationScript via tmpfiles")
2024-04-06 16:38:11 +02:00
Jörg Thalheim 44fd320df6 nixos/borgbackup: fix network-online.target warning
service runs after network-online.target but doesn't depend on it.
2024-04-04 13:49:40 +02:00
Janne Heß fcc95ff817 treewide: Fix all Nix ASTs in all markdown files
This allows for correct highlighting and maybe future automatic
formatting. The AST was verified to work with nixfmt only.
2024-03-28 09:28:12 +01:00
Janne Heß bc77c7a973 treewide: Mark Nix blocks in markdown as Nix
This should help us with highlighting and future formatting.
2024-03-28 09:28:12 +01:00
Yarny0 961584c3dc tsm-client: 8.1.21.0 -> 8.1.22.0
"Update History" (release notes):
https://www.ibm.com/support/pages/node/6998343

...does not list any security-relevant changes
(mostly trademark name changes).

Also, all URLs in package and module comments are updated.
2024-03-22 17:25:25 +01:00
MinerSebas 9e1fe5cddd nixos/restic-rest-server: Make the service socket activated 2024-03-16 17:07:55 +01:00
MinerSebas 7762c2233c nixos/restic-rest-server: Add additional service hardening 2024-03-16 08:18:50 +01:00
Sandro 80ec88edec
Merge pull request #292025 from RaHoni/baculaTls 2024-03-11 12:01:19 +01:00
Peder Bergebakken Sundt 5f9689332a
Merge pull request #278537 from wfdewith/syncoid-permissions
nixos/syncoid: add missing ZFS mount permission
2024-03-08 00:11:39 +01:00
Finn Landweber 9d94b98e46
nixos/borgmatic: refactor
added configuration check at built time
added borgmatic.enableConfigCheck whether or not it'll be executed.
2024-03-02 12:25:00 +01:00
RaHoni 2af073f716
nixos/bacula: refactor option generation
The generation of the descriptions always used lib explicitly even
thoughit was already specified with 'with'.

Since using `with lib` is discouraged this was also changed to inherit.
2024-03-01 14:11:57 +01:00
RaHoni ad2f55dc4e
nixos/bacula: Add support for TLS
Added the majority of TLS options used for transport encryption.

This uses a submodule since all resources share the same settings.

The documentation can be found under:
https://www.bacula.org/13.0.x-manuals/en/main/Bacula_TLS_Communications_E.html
2024-03-01 14:11:57 +01:00
Sandro ed742ab4fc
Merge pull request #275621 from Yarny0/tsm-client-update
tsm-client: 8.1.20.0 -> 8.1.21.0
2024-02-06 17:17:40 +01:00
Wim de With de0a5c6a6b nixos/syncoid: add missing ZFS mount permission 2024-01-10 14:27:12 +01:00
nikstur 8d3cf213db nixos/borgbackup: replace activationScript via tmpfiles 2023-12-29 03:41:45 +01:00
Yarny0 59539b9bc5 tsm-client: 8.1.20.0 -> 8.1.21.0
"Update History" (release notes):
https://www.ibm.com/support/pages/node/6998343

At the time of this writing,
the "APAR" links of the "Update History" lead to 404.
However, the abstracts indicate that
this update is not security critical.

Note that this update changed the GUI window title
to "IBM Storage Protect"
(the product itself was renamed with version 8.1.19.0 already).
The commit at hand adapts the GUI vm test accordingly.

Also, all URLs in package and module comments are updated.
2023-12-19 19:47:28 +01:00
Linus Heckemann f66d2b11d7
Merge pull request #270084 from Atemu/nixos/snapraid-top-level
nixos/snapraid: remove from top-level
2023-12-14 14:51:04 +01:00
ajs124 be0a6b0dd6 nixos/restic: append PATH in wrappers instead of overwriting
fixes "mount"
2023-12-13 16:24:50 +01:00
Jonas Heinrich b3eddb0c53
Merge pull request #272646 from onny/btrbk-stream-compress
nixos/btrbk: Add required stream_compress packages
2023-12-10 18:38:38 +01:00
Jonas Heinrich 1440b865c0 nixos/btrbk: Add required stream_compress packages 2023-12-09 13:03:46 +01:00
Silvan Mosberger bf67c02b1b
Merge pull request #272744 from hercules-ci/lib-lists-sortOn
`lib.lists.sortOn`: init
2023-12-08 23:11:05 +01:00
Robert Hensing 7438f4e0de nixos/btrbk: Optimize sort
This avoids computing the prio more than necessary.
The test evaluates to the same derivation hash.
2023-12-08 22:15:30 +01:00
h7x4 5ec449a6be nixos/borgbackup: add listOf str types to extraArgs 2023-12-06 23:12:21 +01:00
Atemu f39eb36250 nixos/snapraid: remove from top-level
I don't use this tool but saw it in the top level and that's not where it should
live.

This could arguably also be seen as a RAID; it's a bit of an in-between.
2023-12-06 19:02:38 +01:00
Weijia Wang d1fc3a5f9f
Merge pull request #253428 from Yarny0/tsm-freeform
nixos/tsm-client: migrate to freeform settings (RFC42)
2023-12-03 14:50:12 +01:00
Yarny0 3fb29fecd5 nixos/tsm-client: use freeformType for server config
`tsm-client` uses a global configuration
file that must contain coordinates for each
server that it is supposed to contact.
This configuration consists of text
lines with key-value pairs.

In the NixOS module, these servers may be declared
with an attribute set, where the attribute name
defines an alias for the server, and the value
is again an attribute set with the settings for
the respective server.
This is organized as an option of type `attrsOf submodule...`.

Before this commit:

Important settings have their own option within
the submodule.  For everything else, there is
the "catch-all" option `extraConfig` that may
be used to declare any key-value pairs.
There is also `text` that can be used to
add arbitrary text to each server's
section in the global config file.

After this commit:

`extraConfig` and `text` are gone,
the attribute names and values of each server's attribute
set are translated directly into key-value pairs,
with the following notable rules:

* Lists are translated into multiple lines
  with the same key, as such is permitted by
  the software for certain keys.
* `null` may be used to override/shadow a value that
  is defined elsewhere and hides the corresponding key.

Those "important settings" that have previously been
defined as dedicated options are still defined as such,
but they have been renamed to match their
corresponding key names in the configuration file.
There is a notable exception:
"Our" boolean option `genPasswd` influences the "real"
option `passwordaccess', but the latter one is
uncomfortable to use and might lead
to undesirable outcome if used the wrong way.
So it seems advisable to keep the boolean option
and the warning in its description.
To this end, the value of `getPasswd` itself is
later filtered out when the config file is generated.

The tsm-backup service module and the vm test are adapted.

Migration code will be added in a separate
commit to permit easy reversal later, when the
migration code is no longer deemed necessary.
2023-12-02 09:09:27 +01:00
Yarny0 d5f337809e nixos/backup/tsm: use lib.getExe' for service command line 2023-12-02 09:05:45 +01:00
Yarny0 cec6d7f51a nixos/tsm*: update product name and URLs
With the tsm-client 8.1.19.0 release,
IBM renamed the product brand from
"IBM Spectrum Protect" to "IBM Storage Protect":
https://www.ibm.com/support/pages/node/6964770 .

The package already got updated in commits
5ff5b2ae4c and
a4b7a62532 .

The commit at hand updates the modules accordingly.
2023-12-02 09:05:45 +01:00
Sefa Eyeoglu c1f0be0373 nixos/postgresqlBackup: add Scrumplex as maintainer
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-12-01 19:08:31 +01:00
Sefa Eyeoglu 0aaf428fde nixos/postgresqlBackup: add --rsyncable to compression programs
The --rsyncable option changes the behavior of gzip/zstd so that the
resulting files can be incrementally backed up easily. Tools like Borg,
rsync and xdelta can make use their deduplication/diff mechanisms more
easily.

In my local testing, this resulted in a 2% size increase for backup
files.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-12-01 19:08:31 +01:00
h7x4 79d3d59f58
treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
Weijia Wang feeae486de
Merge pull request #261702 from h7x4/replace-mkoption-with-mkpackageoption
treewide: use `mkPackageOption`
2023-11-30 02:49:30 +01:00
h7x4 0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
Maciej Krüger cdd67575e7
Merge pull request #265722 from nbraud/nixos/sudo-rs/btrbk 2023-11-26 21:36:20 +01:00
datafoo 480f5b14e3 nixos/syncoid: add possibility to use string type for sshKey options
The sshKey options do not need to be a valid path at build time. Using
string instead allow use case when the path is not known at build time
such as when using systemd credentials (e.g. `sshKey =
"\${CREDENTIALS_DIRECTORY}/zfs-replication_ed25519";`).
2023-11-22 10:57:58 +01:00
Robert Obryk 20b202b3c8 nixos/restic: allow timer to be disabled 2023-11-07 22:37:37 +01:00
Janik 22aa256c6c
Merge pull request #264882 from robryk/resticfix
nixos/restic: fix #264696 and add a regression test
2023-11-07 09:46:55 +01:00
Ivan Petkov 49f444897b syncoid: disable PrivateUsers in systemd unit
* leaving PrivateUsers=true appears to break when using zfs-2.2.0
2023-11-06 10:16:15 +01:00
nicoo 19af28537b nixos/btrbk: Support both Miller's sudo and sudo-rs 2023-11-05 20:15:18 +00:00
Robert Obryk 536401e90a nixos/restic: fix #264696 and add a regression test
Make sure that preStart and postStop are included in all cases when they are nonempty.
2023-11-01 21:18:56 +01:00
Maximilian Bosch 1220a4d4dd
postgresql_11: remove
As described in the release lifecycle docs from postgresql[1], v11 will
stop receiving fixes as of Nov 9 2023. This means it's EOL throughout
the entire lifetime of 23.11, so let's drop it now.

A lot of examples are also referencing postgresql_11. Where it's
sensible, use postgresql_15 as example now to avoid confusion.

This is also handy because the LLVM 16 fix for postgresql is not
available for postgresql 11 ;-)

[1] https://www.postgresql.org/support/versioning/
2023-10-30 10:41:16 +01:00
Weijia Wang 66ab26fce8
Merge pull request #262084 from imlonghao/borgmatic/fix-262020
borgmatic: fix deprecation warning check failed
2023-10-28 15:33:39 +02:00
imlonghao 88bc98a073
borgmatic: fix deprecation warning check failed 2023-10-28 11:32:38 +08:00
Alyssa Ross 44ff5dfca2 nixos/restic: remove s3CredentialsFile option
This has been deprecated since 2021, so all users should have seen the
warning and migrated by now.
2023-10-27 12:31:54 +00:00
Peder Bergebakken Sundt adcaf3962d
Merge pull request #212087 from robryk/resticpaths
nixos/backups/restic: handle cases when both dynamicFileFrom and paths are set
2023-10-26 19:35:22 +02:00
Domen Kožar 4e95cbe36e
Merge pull request #246081 from therealr5/bacula-fix
nixos/bacula: fix postgresql config and remove unneeded quotation marks
2023-10-23 21:42:11 +01:00
Bjørn Forsman 142074c2a8 nixos: fix bad mkEnableOption descriptions
Fix descriptions that don't account for (1) the "Whether to enable"
prefix or (2) the automatically added trailing dot.
2023-10-20 16:22:40 +01:00
imlonghao 4a519fa142
borgmatic: 1.7.15 -> 1.8.1 2023-10-10 21:48:13 +08:00
amesgen bbf7f58b57
nixos/borgbackup: add package option
Co-authored-by: Lin Jian <me@linj.tech>
2023-10-07 16:27:57 +02:00
asymmetric 4a359e2106
Merge pull request #250810 from asonix/btrbk-fix-btrfs-path
nixos/btrbk: fix btrfs path for passwordless execution
2023-09-29 10:37:21 +02:00
asonix a8c1811bf6 nixos/btrbk: fix btrfs path for passwordless execution 2023-09-28 14:51:19 -05:00
Janik eda85eb31d
Merge pull request #251062 from ajs124/restic-wrapper-script 2023-09-09 19:11:33 +02:00
Weijia Wang fdc0272b60
Merge pull request #249941 from FrancescoDeSimone/duplicati-service-fix
nixos/duplicati: add package option
2023-09-07 22:36:18 +02:00
ajs124 dbb69f82c6 nixos/restic: add wrapper scripts that set parameters for backup
and use in test
2023-08-28 15:17:37 +02:00
ajs124 4732cbf3f8 nixos/restic: use openssh as configured in programs.ssh 2023-08-28 15:03:12 +02:00
francescoDeSimone 42f0af4abe nixos/duplicati: add package option 2023-08-19 16:08:39 +02:00
Hugh O'Brien a08d69ba63
nixos/restic: wait for network-online for timed backups 2023-08-18 20:02:16 -04:00
Robert Obryk 77bc27ccdb nixos/backups/restic: handle cases when both dynamicFileFrom and paths are set
Also, add a test to verify that it works.

This change also removes the part of custom package test that verifies
that the correct paths are provided. This is already tested by restore
tests.

Before this change, setting both paths and dynamicFileFrom would cause
paths to be silently ignored. Making that actually apply the obvious
interpretation seems to me to be strictly better than prohibiting the
two from being set at the same time.
2023-08-16 11:25:15 +02:00
Rouven Seifert b12923631d
nixos/bacula: fix postgresql config and remove unneeded quotation marks
The module falsely disabled postgresql completely when the bacula-sd was not enabled.
Quotation marks are not necessary and only useful in `name` fields.
2023-07-29 19:28:27 +02:00
Sandro 9ca0bd9db3
Merge pull request #244467 from wamserma/tarsnap-add-package-option
tarsnap: add package option
2023-07-24 00:46:24 +02:00
Felix Bühler 0a2745684e
Merge pull request #239624 from Stunkymonkey/use-optionalString-then
treewide: use optionalString instead of 'then ""'
2023-07-22 13:02:47 +02:00
Markus S. Wamser a936b9edec tarsnap: add package option 2023-07-21 11:37:15 +02:00
Felix Buehler 933a41a73f treewide: use optional instead of 'then []' 2023-06-25 09:11:40 -03:00
Felix Buehler f3719756b5 treewide: use optionalString instead of 'then ""' 2023-06-24 20:19:19 +02:00
Janik H 95e1099d2a restic: add persistent default for timer unit 2023-05-15 15:16:58 +02:00
Sophie Tauchert 8af23590d3 nixos/borgbackup: fix extraCompactArgs
Fixes the extraCompactArgs introduced with #224072 as the variable
currently isn't added to the script's environment.
2023-05-14 16:51:24 +02:00
Aaron Andersen 55b3b7029d nixos/automysqlbackup: rename config option to settings 2023-05-10 20:00:09 -04:00
Aaron Andersen a73e7383c0 nixos/automysqlbackup: add some missing permissions 2023-05-10 19:57:48 -04:00
Elias Probst 3bd1c64a5b
nixos/restic: use private tmp for service unit
To reduce the danger of accidentally exposing sensitive files processed
by a restic backup to other services/users, enable the `PrivateTmp=`
feature of restic service units, which provides a per service isolation
of `/tmp` and `/var/tmp`.

Co-authored-by: Daniel Nagy <danielnagy@posteo.de>
2023-04-30 10:39:29 +02:00
Artturi b83db86a9e
Merge pull request #222080 from Stunkymonkey/nixos-optionalString 2023-04-20 16:07:30 +03:00
imlonghao bc07f0ac31
borgmatic: fix timer wantedBy 2023-04-17 23:10:23 +08:00
ajs124 d37ee8222b nixos/borgbackup: run compact after prune 2023-04-11 19:48:16 +02:00
Felix Buehler 327b0cff7a treewide: use more lib.optionalString 2023-04-07 13:38:33 +02:00
Ilan Joselevich 003c2e3957
Merge pull request #221964 from randomnetcat/sanoid-service-package
sanoid/syncoid: Add package options
2023-03-30 23:33:53 +03:00
Janet Cobb 1033d0f6ac (nixos/sanoid, nixos/syncoid): Add package options
Allows changing the sanoid package to be used for these services.
2023-03-29 17:23:51 -04:00
Lassulus 3839340fdb
Merge pull request #220656 from oxzi/restic-cache-fix
nixos/restic: generalize cache configuration
2023-03-22 00:37:46 +07:00
Jonas Heinrich 161a1ca129
Merge pull request #191974 from tu-maurice/btrbk-doas
btrbk: Use sudo or doas based on configuration
2023-03-11 16:10:50 +01:00
Alvar Penning adafbeff4a nixos/restic: generalize cache configuration
The restic repository cache location defaults to ~/.cache/restic when
not overwritten either by the --cache-dir command line parameter or the
universal RESTIC_CACHE_DIR environment variable.

Currently, the --cache-dir variable is set to only some restic commands,
but, e.g., not to the unit's preStart command for the module's
initialize option. This results in two distinct cache locations, one at
~/.cache/restic for the initialize commands and one at the configured
--cache-dir location for the restic backup command.

By explicitly setting RESTIC_CACHE_DIR for the unit, only one cache at
the correct location will be used.

https://restic.readthedocs.io/en/v0.15.1/manual_rest.html#caching
2023-03-11 12:59:10 +01:00
Ryan Lahfa fd09c1bdc5
Merge pull request #214759 from Tom-Hubrecht/borgmatic
nixos/borgmatic: Allow defining multiple configurations
2023-03-04 11:38:39 +01:00
Joachim Breitner 20c135b191 docs: borg expects --rsh, not -rsh 2023-02-20 18:02:28 +01:00
Tom Hubrecht 919f2b2b62 nixos/borgmatic: Allow defining multiple configurations 2023-02-12 19:12:34 +01:00
pennae bf4c0c1900 nixos/*: remove trailing period in mkEnableOptions
those are added by mkEnableOption, and .. is replaced to … by markdown
processing.
2023-02-08 15:23:34 +01:00
pennae 0a6e6cf7e6 nixos/manual: render module chapters with nixos-render-docs
this converts meta.doc into an md pointer, not an xml pointer. since we
no longer need xml for manual chapters we can also remove support for
manual chapters from md-to-db.sh

since pandoc converts smart quotes to docbook quote elements and our
nixos-render-docs does not we lose this distinction in the rendered
output. that's probably not that bad, our stylesheet didn't make use of
this anyway (and pre-23.05 versions of the chapters didn't use quote
elements either).

also updates the nixpkgs manual to clarify that option docs support all
extensions (although it doesn't support headings at all, so heading
anchors don't work by extension).
2023-01-27 20:07:34 +01:00
Nick Cao 99f9998309
Merge pull request #204386 from robryk/resticassert
nixos/restic: small enhancements
2023-01-22 16:23:04 +08:00
Robert Obryk 9dbdb05924 nixos/restic: add exclude parameter
This provides an easy way to specify exclude patterns in config. It was
already possible via extraBackupOptions; this change creates a simpler,
similar to other backup services, way to specify them.
2023-01-11 00:06:13 +01:00
Robert Obryk 751b9063a7 nixos/restic: assert that repository name is specified 2023-01-11 00:06:08 +01:00
pennae 53fc887582 nixos/manual: move "edit the MD file" comments to generated XML 2023-01-10 12:34:37 +01:00
pennae bf92eaebe4 nixos/manual: generate module chapters with md-to-db.sh 2023-01-10 10:32:00 +01:00
pennae 23ea73b416 nixos/manual: enable smart quotes for all MD chapters 2023-01-10 10:31:59 +01:00
pennae 1ce4fde27b nixos/borgbackup: convert manual chapter to MD 2023-01-10 10:31:54 +01:00
pennae 90c61bc706 nixos/manual: normalize <screen>
as with program listings, the leading/trailing newlines do not affect
rendering but make markdown translation easier.
2023-01-10 10:31:53 +01:00
pennae 22144ba269 nixos/manual: normalize <package> -> <literal>
markdown can only do <literal>, so normalize to that. without
auto-linking to a package index the distinction is not very useful anyway.
2023-01-10 10:31:52 +01:00
pennae d60f02b753 nixos/manual: normalize <code> -> <literal>
markdown can only translate to <literal>, so normalize to that or to
other more appropriate tags.
2023-01-10 10:31:52 +01:00
pennae 0715ecf936 nixos/manual: normalize <programlisting>
makes sure that program listing tags are separated from their contents
by exactly a newline character. this makes the markdown translation
easier to verify (since no new newlines need to be inserted), and
there's no rendering difference anyway.
2023-01-10 10:31:52 +01:00
Naïm Favier 4fb500d629
nixos/doc: fix some manpage references 2023-01-03 14:03:35 +01:00
Bjørn Forsman 0f0929f4aa nixos/borgbackup: fix ~/.cache, ~/.config ownership
Invoke `install` separately for each directory to get ownership right --
i.e. not always owned by root. When owned by root, user sessions break
as no user processes are allowed to create directores there. On normal
systems the directories already exist, but in clean environments / NixOS
test VMs, the bug shows.

Before:
  $ namei -l /home/user1/.cache/borg
  f: /home/user1/.cache/borg
  drwxr-xr-x root  root  /
  drwxr-xr-x root  root  home
  drwx------ user1 users user1
  drwxr-xr-x root  root  .cache
  drwxr-xr-x user1 users borg

After:
  $ namei -l /home/user1/.cache/borg
  f: /home/user1/.cache/borg
  drwxr-xr-x root  root  /
  drwxr-xr-x root  root  home
  drwx------ user1 users user1
  drwxr-xr-x user1 users .cache
  drwxr-xr-x user1 users borg
2022-12-28 13:07:16 +01:00
figsoda 6bb0dbf91f nixos: fix typos 2022-12-17 19:31:14 -05:00
Naïm Favier 723eb8d9b8
Merge pull request #205479 from IzumiRaine/borgbackup-patterns 2022-12-17 17:00:02 +01:00
Ryan Lahfa 4428f9f5e9
Merge pull request #198239 from jacobgreenleaf/jacobg-borg-inhibit
nixos/borgbackup: Add option for inhibiting sleep
2022-12-17 00:45:10 +01:00
Izumi Raine cb4547a433 nixos/borgbackup: add option "patterns" 2022-12-10 16:49:34 +01:00
Naïm Favier 75e0609a00
nixos/borgbackup: fix newline escaping with optional arguments
The newline must always be escaped, otherwise `extraPruneArgs` will be treated as a separate command if `prune.prefix` is unset.
2022-12-10 16:46:34 +01:00
Bjørn Forsman bbcfd192a8 nixos/borgbackup: change --prefix to --glob-archives
Fixes warning from `borg prune`:

  Warning: "--prefix" has been deprecated. Use "--glob-archives 'yourprefix*'" (-a) instead.
2022-12-07 02:24:00 +01:00
Yoan Tournade 4c915f1d1a Add BORG_RSH entry under an environment option 2022-12-07 01:00:59 +01:00
Jacob Greenleaf 0111e9547e nixos/borgbackup: Add option for inhibiting sleep
Adds a new option for backup jobs `inhibitsSleep` which prevents
the system from going to sleep while a backup is in progress.
Uses `systemd-inhibit`, which holds a "lock" that prevents the
system from sleeping while the process it invokes is running.

This did require wrapping the existing backup script using
`writeShellScript` so that it could be run by `systemd-inhibit`.
2022-12-04 19:57:41 -08:00
tu-maurice 00ae655e63 btrbk: Use sudo or doas based on configuration 2022-11-19 23:16:57 +01:00
Daniel Nagy 095269c862
treewide: use types.port in nixos modules 2022-11-10 09:30:00 +01:00
oxalica 50eb816d29 nixos/btrbk: fix ordering of subsections and refactor 2022-10-24 08:52:25 +08:00
Thiago Kenji Okada b87716afc9
Merge pull request #188881 from shadaj/patch-4
nixos/restic: make it possible to use the existing backup cache for prune/check
2022-10-12 21:26:00 +01:00
Shadaj Laddad dd34f474ed nixos/restic: make it possible to use the existing backup cache for prune/check
Configures the `--cache-dir` parameter for the prune and check commands run after backing up. For `check`, also adds a `checkOpts` flag to enable using the cache, since that is disabled by default.
2022-10-12 09:09:27 -07:00