nixpkgs/nixos/modules/programs
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
..
bash nixos/bash: Drop workarounds for eterm 2023-09-12 13:10:41 +00:00
command-not-found treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
digitalbitbox treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
wayland treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
zsh treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
_1password-gui.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
_1password.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
adb.nix nixos/*: automatically convert option docs to MD 2022-08-03 22:46:41 +02:00
appgate-sdp.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
atop.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
ausweisapp.nix AusweisApp2: 1.26.7 -> 2.0.1 2023-11-13 13:43:39 +01:00
autojump.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
bandwhich.nix nixos/bandwhich: add missing capabilities 2023-10-12 15:53:55 +08:00
bash-my-aws.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
bcc.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
browserpass.nix firefox: start killing all the per-extension options 2023-10-22 17:13:42 +03:00
calls.nix nixos: fix bad mkEnableOption descriptions 2023-10-20 16:22:40 +01:00
captive-browser.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
ccache.nix wxGTK30, wxmac: drop 2023-03-22 13:56:44 +02:00
cdemu.nix cdemu: fix service setup 2023-10-10 00:23:27 +02:00
cfs-zen-tweaks.nix nixos/cfs-zen-tweaks: fix service name typo 2023-03-29 15:03:50 +02:00
chromium.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
clash-verge.nix nixos/clash-verge: fix module descriptions 2023-09-13 20:30:28 +08:00
cnping.nix nixos: fix bad mkEnableOption descriptions 2023-10-20 16:22:40 +01:00
criu.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
darling.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
dconf.nix nixos/dconf: add locks support 2023-08-15 19:20:39 +08:00
direnv.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
dmrconfig.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
droidcam.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
dublin-traceroute.nix nixos/dublin-traceroute: init 2023-11-28 08:47:56 -08:00
ecryptfs.nix Add programs.ecryptfs for mount wrappers. 2023-09-05 18:56:24 +00:00
environment.nix treewide: /lib/libexec -> /libexec 2023-11-26 10:55:37 +03:00
evince.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
extra-container.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
feedbackd.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
file-roller.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
firefox.nix nixos/firefox: update document link 2023-11-03 17:05:37 +08:00
firejail.nix nixos/firejail: remove the need for qualifications 2022-11-30 12:45:16 -05:00
fish_completion-generator.patch
fish.nix treewide: change pythonForBuild to pythonOnBuildForHost 2023-11-05 17:42:12 -08:00
flashrom.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
flexoptix-app.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
freetds.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
fuse.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
fzf.nix nixos/fzf: fix evaluation if ohMyZsh is enabled 2023-05-08 21:10:28 +02:00
gamemode.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
gamescope.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
geary.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
git.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
gnome-disks.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
gnome-terminal.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
gnupg.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
gpaste.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
gphoto2.nix nixos/*: automatically convert option docs to MD 2022-08-03 22:46:41 +02:00
haguichi.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
hamster.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
htop.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
hyprland.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
i3lock.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
iay.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
iftop.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
iotop.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
java.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
joycond-cemuhook.nix joycond-cemuhook: init at unstable-2023-08-09 2023-11-10 18:09:55 -08:00
k3b.nix k3b: use cdrecord from cdrtools rather than cdrkit 2023-02-03 07:54:25 -05:00
k40-whisperer.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
kbdlight.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
kclock.nix treewide: use mkEnableOption in nixos modules 2022-11-10 09:30:00 +01:00
kdeconnect.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
less.nix treewide: use more lib.optionalString 2023-04-07 13:38:33 +02:00
liboping.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
light.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
mdevctl.nix nixos/mdevctl: init module 2022-11-07 09:05:23 +00:00
mepo.nix mepo: init module 2022-11-07 20:27:00 +01:00
mininet.nix nixos/mininet: wrap with mininet in PYTHONPATH and ifconfig in PATH 2023-11-27 14:22:30 +08:00
minipro.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
miriway.nix nixos/fonts: rename fonts.enableDefaultFonts to fonts.enableDefaultPackages 2023-07-25 00:55:25 +02:00
mosh.nix nixos/*: mark pre-existing markdown descriptions as mdDoc 2022-08-19 22:40:58 +02:00
msmtp.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
mtr.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
nano.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
nbd.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
neovim.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
nethoscope.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
nexttrace.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
nix-index.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
nix-ld.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
nm-applet.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
nncp.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
noisetorch.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
npm.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
ns-usbloader.nix ns-usbloader: init at 7.0 2023-07-29 19:28:32 +02:00
oblogout.nix
oddjobd.nix nixos/oddjobd: add SohamG as maintainer 2023-12-01 09:17:45 +01:00
openvpn3.nix nixos/openvpn3: Add support for systemd-resolved 2023-10-13 00:32:15 -07:00
pantheon-tweaks.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
partition-manager.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
plotinus.md nixos/plotinus: convert manual chapter to MD 2023-01-10 10:31:54 +01:00
plotinus.nix nixos/manual: render module chapters with nixos-render-docs 2023-01-27 20:07:34 +01:00
projecteur.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
proxychains.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
qdmr.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
qt5ct.nix nixos/qt5ct: remove enable option and suggests qt5.platformTheme 2022-07-05 13:50:42 -03:00
regreet.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
rog-control-center.nix nixos/rog-control-center: init 2022-12-04 10:11:27 +03:00
rust-motd.nix nixos/rust-motd: refactor assertion and TOML generation 2023-09-29 11:13:27 +02:00
screen.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
seahorse.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
sedutil.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
shadow.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
sharing.nix nixos/sharing: init 2023-02-06 11:35:42 +01:00
singularity.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
skim.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
slock.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
sniffnet.nix nixos/sniffnet: init 2023-05-09 15:53:34 -04:00
spacefm.nix nixos/programs: invariant option docs MD conversions 2022-07-24 13:01:18 +02:00
ssh.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
starship.nix starship: Remove INSIDE_EMACS checks (#239039) 2023-06-26 20:37:10 +02:00
steam.nix treewide: stop using types.string 2023-08-08 21:31:21 +08:00
streamdeck-ui.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
sysdig.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
system-config-printer.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
systemtap.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
thefuck.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
thunar.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
tmux.nix tmux: add extraConfigBeforePlugins 2023-08-05 18:59:52 -07:00
traceroute.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
trippy.nix nixos/trippy: init 2023-05-14 10:05:29 -04:00
tsm-client.nix nixos/tsm-client: use freeformType for server config 2023-12-02 09:09:27 +01:00
turbovnc.nix nixos: fix typos 2023-05-19 22:31:04 -04:00
udevil.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
usbtop.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
vim.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
virt-manager.nix nixos/virt-manager: init 2023-10-18 21:02:37 +02:00
virtualbox.nix
wavemon.nix treewide: automatically md-convert option descriptions 2022-07-30 15:16:34 +02:00
weylus.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
wireshark.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
wshowkeys.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
xastir.nix nixos/xastir: fix enable option doc string 2023-01-08 21:17:41 +00:00
xfconf.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
xfs_quota.nix lib.replaceChars: warn about being a deprecated alias 2022-12-15 22:25:51 +02:00
xonsh.nix treewide: use mkPackageOption 2023-11-27 01:28:36 +01:00
xss-lock.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
xwayland.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
yabar.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00
yazi.nix treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
yubikey-touch-detector.nix nixos/yubikey-touch-detector: init (#254947) 2023-09-14 20:15:32 +00:00
zmap.nix nixos/*: automatically convert option descriptions 2022-08-31 16:32:53 +02:00