Commit Graph

555106 Commits

Author SHA1 Message Date
Yarny0
20a9a21b24 nixos/tsm-client: add migration code for freeform settings
To help users migrate from the previous
settings to new freeform settings type,
the commit at hand adds some
`mkRemovedOptionModule` and `mkRenamedOptionModule`.

These modules are not designed to work
inside an attribute set of submodules.
They create values for `assertions` and
`warnings` to inform the user of required changes.
Also, these informational texts do not contain
the full attribute path of the changed options.
To work around these deficiencies,
we define the required options `assertions` and `warnings`
inside the submodule and later add the values collected
inside these options to the corresponding top-level options.
In the course of doing so, we also add the full attribute path
to the informational texts so the user knows these warning
and error messages refer to the `tsmClient.servers` option.

Also, we have to filter out `warnings`, `assertions`, and
the "old" options when rendering the target config file.
2023-12-02 09:09:28 +01:00
Yarny0
98c03bf8c6 nixos/tsm-client: stricter assertions
Check for spaces or duplicate names in server config keys.
Since server config keys are case insensitive,
a setting like

```
{
  compression = "yes";
  Compression = "no";
}
```

would lead to an ambiguous configuration.
2023-12-02 09:09:27 +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
8b918ed8ab nixos/tsm-client: submodule doesn't need singleton list 2023-12-02 09:09:27 +01:00
Yarny0
5bc6eb731e nixos/tsm-client: server alias names cannot have spaces 2023-12-02 09:09:27 +01:00
Yarny0
fe96d79adf nixos/tsm-client: drop own checkIUnique for allUnique 2023-12-02 09:09:27 +01:00
Yarny0
363cf1e363 nixos/tsm-client: use mkPackageOption for wrappedPackage 2023-12-02 09:08:47 +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
Emily Trau
91050ea1e5
Merge pull request #271211 from ehmry/butt
butt: 0.1.39 -> 0.1.40
2023-12-02 00:12:07 +11:00
Sandro Jäckel
ca9b6bc0a7 nixVersions.nix_2_19: 2.19.1 -> 2.19.2 2023-12-01 13:10:32 +00:00
Sandro Jäckel
709a9f6f06 nixVersions.unstable: 2.18 -> 2.19 2023-12-01 13:10:32 +00:00
Sandro Jäckel
3773ebf41a nixVersions.nix_2_19: init at 2.19.1 2023-12-01 13:10:32 +00:00
Emily Trau
6a0549b15b
Merge pull request #271228 from flexiondotorg/wavebox-10.119.8-2
wavebox: 10.118.5-2 -> 10.119.8-2
2023-12-02 00:08:13 +11:00
Emily Trau
ec668b72d2
Merge pull request #271260 from r-ryantm/auto-update/python310Packages.diffsync
python310Packages.diffsync: 1.9.0 -> 1.10.0
2023-12-02 00:04:28 +11:00
Emily Trau
f543200961
Merge pull request #265354 from selfuryon/feat/crossplane-cli
crossplane-cli: init at 1.14.3
2023-12-02 00:02:06 +11:00
Emily Trau
9a1115c313
Merge pull request #255524 from stnley/init-emmet-language-server
emmet-language-server: init at v2.2.0
2023-12-01 23:59:33 +11:00
Emily Trau
77da99a144
Merge pull request #271253 from r-ryantm/auto-update/python310Packages.deepl
python310Packages.deepl: 1.15.0 -> 1.16.1
2023-12-01 23:14:05 +11:00
Adam C. Stephens
52d7a036b8
Merge pull request #271328 from adamcstephens/zfs/2.2.2
zfs: 2.2.1 -> 2.2.2, zfs_2_1: 2.1.13 -> 2.1.14
2023-12-01 07:08:44 -05:00
Emily Trau
62c993513c
Merge pull request #271290 from r-ryantm/auto-update/python310Packages.django-ipware
python310Packages.django-ipware: 5.0.2 -> 6.0.1
2023-12-01 23:08:19 +11:00
Emily Trau
3ca25cf885
Merge pull request #271250 from Kiskae/libva-pkg-check
libva: add test for pkg-config definitions
2023-12-01 22:54:17 +11:00
Emily Trau
88a955c50f
Merge pull request #271252 from linsui/fractal
fractal: drop drawin support
2023-12-01 22:53:54 +11:00
Emily Trau
e3eef12d04
Merge pull request #271272 from MikaelFangel/update-changedetection-io
changedetection-io: 0.45.7.3 -> 0.45.8.1
2023-12-01 22:53:18 +11:00
Emily Trau
604365c826
Merge pull request #262046 from taranarmo/master
passExtensions.pass-file: init at 1.0.0
2023-12-01 22:25:53 +11:00
Emily Trau
5ecdf2b6fd
Merge pull request #271299 from pbsds/fix-certmgr-selfsigned-1701382648
certmgr: 1.6.4 -> 3.0.3, migrate to buildGoModule and by-name
2023-12-01 22:24:43 +11:00
Peter Hoeg
0da4150a0d rancid: init at 3.13 2023-12-01 12:21:42 +01:00
Emily Trau
94b489b264
Merge pull request #271291 from r-ryantm/auto-update/python310Packages.django-import-export
python310Packages.django-import-export: 3.3.1 -> 3.3.3
2023-12-01 22:20:40 +11:00
Emily Trau
7fb77d972b
Merge pull request #271318 from amjoseph-nixpkgs/pr/hybridreverb2/enableParallelBuilding
hybridreverb2: enableParallelBuilding=true
2023-12-01 22:19:06 +11:00
Emily Trau
29ac18b502
Merge pull request #271336 from dotlambda/corrosion-0.4.5
corrosion: 0.4.4 -> 0.4.5
2023-12-01 22:18:26 +11:00
Emily Trau
4d72925022
Merge pull request #271334 from SuperSandro2000/onefetch
onefetch: 2.18.1 -> 2.19.0
2023-12-01 22:17:19 +11:00
Emily Trau
bcf039787e
Merge pull request #271341 from r-ryantm/auto-update/python310Packages.drms
python310Packages.drms: 0.6.4 -> 0.7.0
2023-12-01 22:15:45 +11:00
Doron Behar
0a862713eb
Merge pull request #269053 from r-ryantm/auto-update/wxmaxima
wxmaxima: 23.10.0 -> 23.11.0
2023-12-01 11:09:48 +00:00
Doron Behar
1308c646c7
Merge pull request #266110 from linsui/jsw
java-service-wrapper: build with latest jdk
2023-12-01 11:07:37 +00:00
Emily Trau
36de5e6c04
Merge pull request #236094 from GlancingMind/eclipse-dsl
eclipses.eclipse-dsl: Init at 2023-09
2023-12-01 22:05:08 +11:00
Emily Trau
ea53943430
Merge pull request #266526 from ajwhouse/litterbox_init_1_9
litterbox: init at 1.9
2023-12-01 22:02:53 +11:00
Emily Trau
00bee09724
Merge pull request #264419 from Noodlez1232/joycond-cemuhook
joycond-cemuhook: init at unstable-2023-08-09
2023-12-01 22:00:55 +11:00
Emily Trau
f1750de0bb
Merge pull request #256675 from tc-kaluza/feat/init-insulator2
insulator2: init at 2.12.2
2023-12-01 21:55:20 +11:00
ajs124
ca032865fe
Merge pull request #268696 from helsinki-systems/upd/mpv-mpris
mpvScripts.mpris: 1.0 -> 1.1
2023-12-01 11:52:55 +01:00
Janne Heß
954c4d37ea
Merge pull request #271174 from helsinki-systems/fix/sogo
sogo: fix build
2023-12-01 11:45:11 +01:00
Emily Trau
04089c8814
Merge pull request #271311 from acuteenvy/deno-v1.38.4
deno: 1.38.2 -> 1.38.4
2023-12-01 21:44:48 +11:00
Fabian Affolter
ba7b927fbe
Merge pull request #271314 from Misaka13514/bump-nuclei
nuclei: 3.0.4 -> 3.1.0
2023-12-01 11:40:29 +01:00
Emily Trau
c4eee36553
Merge pull request #255703 from Ometic/badlion-client
badlion-client: init at 3.15.0
2023-12-01 21:39:27 +11:00
Emily Trau
b74e7d91dd
Merge pull request #271187 from kilianar/broot-1.29.0
broot: 1.28.1 -> 1.29.0
2023-12-01 21:38:06 +11:00
Emily Trau
684ced4db8
Merge pull request #259444 from n00b0ss/gcodepy
python3.pkgs.gcodepy: init at 0.1.1
2023-12-01 21:36:05 +11:00
Emily Trau
e327e550af
Merge pull request #271194 from mkg20001/common-licenses
common-licenses: 11.1 -> 13
2023-12-01 21:31:58 +11:00
Emily Trau
dfd281477f
Merge pull request #271208 from uku3lig/vencord-1.6.4
vencord: 1.6.3 -> 1.6.4
2023-12-01 21:24:55 +11:00
Emily Trau
0fa1d61267
Merge pull request #271230 from NANASHI0X74/update-qdarkstyle
Update pythonPackages.qdarkstyle: 3.1 -> 3.2.3
2023-12-01 21:22:35 +11:00
Nick Hu
3fde91cc13
sway-assign-cgroups: init at 0.4.0 (#268949) 2023-12-01 10:18:42 +00:00
Emily Trau
791dbd64f8
Merge pull request #271234 from philiptaron/qrtool
qrtool: 0.8.4 -> 0.8.5
2023-12-01 21:17:41 +11:00
Emily Trau
61bc4eb133
Merge pull request #271246 from otavio/rio
rio: 0.0.27 -> 0.0.28
2023-12-01 21:17:10 +11:00