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 TrauandGitHub 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äckelandYt ca9b6bc0a7 nixVersions.nix_2_19: 2.19.1 -> 2.19.2 2023-12-01 13:10:32 +00:00
Sandro JäckelandYt 709a9f6f06 nixVersions.unstable: 2.18 -> 2.19 2023-12-01 13:10:32 +00:00
Sandro JäckelandYt 3773ebf41a nixVersions.nix_2_19: init at 2.19.1 2023-12-01 13:10:32 +00:00
Emily TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 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. StephensandGitHub 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 TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 88a955c50f Merge pull request #271252 from linsui/fractal
fractal: drop drawin support
2023-12-01 22:53:54 +11:00
Emily TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 7fb77d972b Merge pull request #271318 from amjoseph-nixpkgs/pr/hybridreverb2/enableParallelBuilding
hybridreverb2: enableParallelBuilding=true
2023-12-01 22:19:06 +11:00
Emily TrauandGitHub 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 TrauandGitHub 4d72925022 Merge pull request #271334 from SuperSandro2000/onefetch
onefetch: 2.18.1 -> 2.19.0
2023-12-01 22:17:19 +11:00
Emily TrauandGitHub 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 BeharandGitHub 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 BeharandGitHub 1308c646c7 Merge pull request #266110 from linsui/jsw
java-service-wrapper: build with latest jdk
2023-12-01 11:07:37 +00:00
Emily TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 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
ajs124andGitHub 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ßandGitHub 954c4d37ea Merge pull request #271174 from helsinki-systems/fix/sogo
sogo: fix build
2023-12-01 11:45:11 +01:00
Emily TrauandGitHub 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 AffolterandGitHub 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 TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub 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 TrauandGitHub e327e550af Merge pull request #271194 from mkg20001/common-licenses
common-licenses: 11.1 -> 13
2023-12-01 21:31:58 +11:00
Emily TrauandGitHub 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 TrauandGitHub 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 HuandGitHub 3fde91cc13 sway-assign-cgroups: init at 0.4.0 (#268949) 2023-12-01 10:18:42 +00:00
Emily TrauandGitHub 791dbd64f8 Merge pull request #271234 from philiptaron/qrtool
qrtool: 0.8.4 -> 0.8.5
2023-12-01 21:17:41 +11:00
Emily TrauandGitHub 61bc4eb133 Merge pull request #271246 from otavio/rio
rio: 0.0.27 -> 0.0.28
2023-12-01 21:17:10 +11:00