Commit graph

88 commits

Author SHA1 Message Date
Wolfgang Walther 5e1f5b623b
Merge branch 'staging-next' into staging 2025-10-05 11:40:56 +02:00
Wolfgang Walther 91a8fee3aa
treewide: remove redundant parentheses
Auto-fixed by nixf-diagnose.
2025-10-05 10:52:03 +02:00
Matthieu C. 7ebfdde615
nixos/ssh: fewer empty lines in generated ssh and sshd config files
Co-authored-by: r-vdp <ramses@well-founded.dev>
Co-authored-by:  Marie <tabmeier12@gmail.com>
2025-09-22 01:03:25 +02:00
nikstur 42cf56db09 nixos/system-path: add corePackages option
This allows users to override all packages. This is useful to build
minimal systems that really don't required these packages that
previously were "required".
2025-08-10 22:48:26 +02:00
nikstur d5ae87bdeb
Revert "nixos: allow more things to be disabled" 2025-08-10 22:22:08 +02:00
nikstur 6df45ae281 nixos/system-path: add corePackages option
This allows users to override all packages. This is useful to build
minimal systems that really don't required these packages that
previously were "required".
2025-07-31 20:42:35 +02:00
Wolfgang Walther 5a0711127c
treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
r-vdp 57d91c535b
nixos/ssh: add the systemd-ssh-proxy include directive to the Host * block
Otherwise, then any Host or Match block in the extraConfig will absorb the include
2025-05-10 21:10:48 +02:00
Marie Ramlow 5e43294735 nixos/ssh: include systemd-ssh-proxy config 2025-03-14 18:26:43 +01:00
Martin Joerg 33f6bdabe3 nixos/ssh: use correct executable for grep in ssh-askpass-wrapper
fix #177503
2025-01-14 14:05:46 +00:00
Klemens Nanni afffa89ec5
ssh: Fix environment variable parsing (#177503)
From systemctl(1)'s `show-environment`:
	[...] If no special characters or
	whitespace is present in the variable values, no escaping is
	performed, and the assignments have the form "VARIABLE=value". If
	whitespace or characters which have special meaning to the shell
	are present, dollar-single-quote escaping is used, and assignments
	have the form "VARIABLE=$'value'". [...]

`DISPLAY` is unlikely to require such escaping, but is still broken and
overly complicated.

Just rely on the fact that systemctl outputs line that are safe to be
interpreted by the shell.

Filter for `DISPLAY` and `eval` the output instead of trying to parse
just the value part and reassign it again.
2025-01-12 12:47:30 +01:00
Silvan Mosberger 4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
Istvan Ruzman 92a6247bc2 nixos/ssh: don't write addressfamily with default value in config 2024-05-26 17:50:19 +02:00
Acid Bong 49f6869f71
treewide: remove file-wide with lib; in nixos/modules/programs 2024-05-12 10:11:06 +03: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
Peder Bergebakken Sundt 0fbb6483cf
Merge pull request #273537 from sigprof/nixos-ssh-askpass-xauthority
nixos/ssh: pass XAUTHORITY to ssh-askpass
2024-01-22 00:43:59 +01:00
Peder Bergebakken Sundt 6b25f0686e
Merge pull request #253147 from SuperSandro2000/ssh-forwardx11
nixos/ssh: add variant to not set ForwardX11
2023-12-20 12:42:47 +01:00
Sandro Jäckel 88946fe4d8
nixos/ssh: add variant to not set ForwardX11
ssh_config allows a setting to only be set once and if more complex
conditions are used than having ForwardX11 already defined can be a
problem.
2023-12-19 19:35:26 +01:00
Sergey Vlasov 921ee60d2c nixos/ssh: pass XAUTHORITY to ssh-askpass 2023-12-11 15:44:32 +03: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
Sandro Jäckel 7eff362ca4
nixos/ssh: inline askPassword 2023-09-03 17:12:55 +02:00
Janne Heß 98c3d190b2
nixos/openssh: Drop deprecated locations
The changelog entry should give a good indication why I don't think this
is necessary anymore.
2023-04-13 20:31:18 +02:00
Kevin Mehall fef4baca37
nixos/ssh: Update github.com host key in programs.ssh.knownHostsFiles example
The `programs.ssh.knownHostsFiles` option documentation uses github.com's host keys as an example. GitHub recently announced that the ssh-rsa key has been compromised and rotated it.

The new key can be checked against
https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints
2023-03-24 11:51:46 -07:00
Matthieu Coudron ef5da70d66
services.openssh: rename several settings (#211991)
* services.openssh: rename several settings

... to match the sshd config format (makes transition smoother), namely:
services.openssh.forwardX11 -> services.openssh.settings.X11Forwarding
services.openssh.cyphers -> services.openssh.settings.Cyphers
services.openssh.macs -> services.openssh.settings.Macs
services.openssh.kexAlgorithms -> services.openssh.settings.KexAlgorithms
services.openssh.gatewayPorts -> services.openssh.settings.GatewayPorts

* release-notes: mention openssh renaming

* chore: regenerated release-notes
2023-02-07 00:11:18 +01:00
Kazutoshi Noguchi 67246fbffa nixos/ssh: pass WAYLAND_DISPLAY to ssh-askpass 2022-10-11 00:15:49 +09:00
pennae 6039648c50 nixos/*: automatically convert option docs 2022-08-19 22:40:58 +02:00
pennae 16102dce2f nixos/*: replace <code> in option docs with <literal>
markdown can't represent the difference without another extension and
both the html manual and the manpage render them the same, so keeping the
distinction is not very useful on its own. with the distinction removed
we can automatically convert many options that use <code> tags to markdown.

the manpage remains unchanged, html manual does not render
differently (but class names on code tags do change from "code" to "literal").
2022-08-03 21:03:23 +02:00
pennae 2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
pennae e9f17a9f45 nixos/ssh: undeprecate knownHosts.«name».hostNames
hostNames being deprecated makes configuring hosts with multiple keys a
pain. including the attr name of the entry in the host name list is a
nice convenience though, so we'll retain it and clarify the
documentation on how the actual host name list for an entry is put
together.
2022-03-19 01:36:59 +01:00
Taeer Bar-Yam 552b80dc51
add defaultText
Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
2022-01-19 09:39:50 -05:00
Taeer Bar-Yam aa99bd69f0
fix punctuation
Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
2022-01-19 09:38:13 -05:00
Taeer Bar-Yam 8fa2e787f1 modules/programs/ssh: knownHosts -> extraKnownHosts 2022-01-19 08:48:41 -05:00
Alyssa Ross 262447705c nixos/ssh: add programs.ssh.knownHostsFiles option
The programs.ssh.knownHosts.*.publicKeyFile is broken, because it's
scoped to a set of host names, but to insert those host names on each
line of the file we'd have to parse out blank lines and comments, so
only the first line works.  It would be much easier all round if users
just provided known hosts files in the normal format, and we pointed
ssh directly to them.  This way, it would be possible to have multiple
keys for a single host (which is extremely common due to multiple
algorithms being commonplace).

We add an option for this instead of relying on extraConfig, because
we need to make sure /etc/ssh/ssh_known_hosts is always included to
ensure programs.ssh.knownHosts keeps working.
/etc/ssh/ssh_known_hosts2 is another OpenSSH default that seems a bit
weird, but there's no real reason to change that so we'll leave it.
2022-01-11 20:02:26 +00:00
Andrew Marshall f10aea2434 nixos/ssh: Add enableAskPassword
Previously, this was only implicitly enabled if xserver.enable = true.
However, Wayland-based desktops do not require this, and so configuring
SSH_ASKPASS on a Wayland desktop becomes cumbersome. This simplifies
that by adding a new option that defaults to the old conditional.
2021-12-18 12:13:02 -05:00
Naïm Favier 2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Sergey Vlasov 20b1d07a4f nixos/ssh: fix passing arguments to ssh-askpass
The wrapper for ssh-askpass did not pass arguments to the real
ssh-askpass, therefore the generic "Please enter your authentication
passphrase" prompt was displayed for all requests (including the key
usage confirmation requests, which don't need the passphrase), and some
important information such as the key name was not displayed.
2021-06-18 22:19:03 +03:00
volth bc0d605cf1 treewide: fix double quoted strings in meta.description
Signed-off-by: Ben Siraphob <bensiraphob@gmail.com>
2021-01-24 19:56:59 +07:00
rnhmjoj 20d491a317
treewide: completely remove types.loaOf 2020-09-02 00:42:50 +02:00
Izorkin 1086ae52fb nixos/ssh: add crypto options 2020-06-08 22:10:36 +03:00
Alyssa Ross 387b9bf352
nixos/ssh: don't accept ssh-dss keys
These have been deprecated long enough.  I think this default was even
made non-functional by 2337c7522a.  But
it's still a scary thing to see there.

Fixes https://github.com/NixOS/nixpkgs/issues/33381.
2020-04-07 13:35:51 +00:00
Philip Potter ce7d4e40f0
ssh-agent: fix syntax problem from #71139
Oops, in #71139 a missing `+` broke things quite badly.  Thanks @lzorkin for the
report and @mebubo for diagnosing the problem.
2019-11-07 22:13:18 +00:00
Philip Potter 8120184bf1 ssh-agent: add agentPKCS11Whitelist option
If you want to be able to use OpenSC with ssh-agent, you need to be able
to add it to the ssh-agent whitelist.  This adds an option,
agentPKCS11Whitelist, that exposes the option.

Note that I currently work around this by injecting the parameter into
the agentTimeout option:

    programs.ssh.agentTimeout = "1h -P ${pkgs.opensc}/lib/opensc-pkcs11.so";

but I feel that a proper option would be better :)
2019-10-14 20:45:28 +01:00
Peter Hoeg f2639566b5
Merge pull request #30712 from peterhoeg/f/service
systemd user services shouldn't run as root and other "non-interactive" users
2019-08-02 11:58:27 +08:00
edef 1c9a2d4d7f nixos/programs/ssh: allow specifying known host CAs 2019-07-21 14:23:41 +00:00
Kai Wohlfahrt de7abf63b8 nixos/ssh: apply options after extraConfig
Otherwise, the standard options (e.g. AddressFamily) cannot be overriden
in extraConfig, as the option is applied on the first (not most
specific) match. Closes #52267
2019-02-18 21:58:46 +00:00
Florian Klink 4f11c06fac programs.ssh.knownHosts: update example to be an attrset
We shouldn't encourage using a list here, but prefer the attrset.
Using a list here causes very unintuitive effects during merging.
2019-01-18 15:33:07 +01:00
Daiderd Jordan 9d72403814
ssh: fix 3572f89bbe 2018-07-21 13:06:16 +02:00
Daiderd Jordan 3572f89bbe
ssh: don't add empty PubkeyAcceptedKeyTypes/HostKeyAlgorithms
The options introduced in e2444a433f would generate a broken
ssh config when set to an empty list.

/etc/ssh/ssh_config line 7: Missing argument.
2018-07-21 12:29:16 +02:00
Daiderd Jordan e2444a433f
Merge pull request #40686 from Izorkin/ssh
ssh: custom config key types
2018-07-21 11:57:41 +02:00
Izorkin 05bc5fed28 ssh: custom config key types 2018-07-21 12:27:16 +03:00