Commit graph

438 commits

Author SHA1 Message Date
Zhaofeng Li bbbda58c4e nixos/fwupd: Fix configuration file merging 2022-10-10 00:01:32 -06:00
Nick Cao 309ea5a1af nixos/udev: allow marking firmware as not compressible 2022-10-07 19:40:58 +00:00
cab e03e61f62e
nixos.fwupd: add remote list option
Co-authored-by: jtojnar <jtojnar@gmail.com>
2022-09-30 16:47:16 +04:00
Jonathan Ringer a2bcf8564d
nixos/openrgb: init module 2022-09-27 11:59:33 -07:00
Michal Sojka ec026d26d2 usbrelay: 1.0 -> 1.0.1 2022-09-18 22:54:13 +02:00
Sandro 2902676b30
Merge pull request #189056 from jtojnar/fwupd 2022-09-05 16:13:00 +02:00
Jan Tojnar 89c025b366 nixos/fwupd: add polkit dependency
We are building fwupd daemon with polkit support which means
polkit daemon is required.

Previously polkit was enabled by default via udisks2 but that
stopped with f763710065
breaking the fwupd installed tests as a result.

Let’s add the polkit dependency to the fwupd module to ensure polkit is available.
2022-09-04 20:23:12 +02:00
pennae f2ea09ecbe nixos/*: convert options with listings
minor rendering changes.
2022-08-31 17:27:36 +02:00
pennae 722b99bc0e nixos/*: convert options with admonitions to MD
rendering changes only slightly, most changes are in spacing.
2022-08-31 16:36:16 +02:00
pennae bd56368848 nixos/*: md-convert hidden plaintext options
most of these are hidden because they're either part of a submodule that
doesn't have its type rendered (eg because the submodule type is used in
an either type) or because they are explicitly hidden. some of them are
merely hidden from nix-doc-munge by how their option is put together.
2022-08-31 16:32:54 +02:00
pennae 9547123258 nixos/*: convert internal option descriptions to MD
we'll have to do it eventually, may as well be now.
2022-08-31 16:32:54 +02:00
pennae ef176dcf7e nixos/*: automatically convert option descriptions
conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

    nix-doc-munge nixos/**/*.nix
    nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.
2022-08-31 16:32:53 +02:00
pennae c915b915b5 nixos/*: md-convert options with unordered lists
mostly no rendering changes. some lists (like simplelist) don't have an
exact translation to markdown, so we use a comma-separated list of
literals instead.
2022-08-31 16:32:53 +02:00
pennae 7d102d113a nixos/*: convert multiline inline code to listings
presumably it was not intended to have these blocks rendered inline, and
markdown conversion would be messy as well.
2022-08-31 16:27:25 +02:00
pennae 429ae9ff3d nixos/thinkfan: convert descriptions to MD
also convert multi-line literals to code blocks to make them render in a
legible manner.
2022-08-27 19:18:29 +02:00
Lin Jian 9f4e8ea56d
nixos/kanata: remove redundant lib 2022-08-21 09:45:26 +08:00
Kenny MacDermid 7b0b92f5a9
Revert "nixos/fwupd: enable udisks2"
This reverts commit fb5bceb3ff.

Reverted at the request of the author, Bernardo Meurer, to avoid
requiring udisks2 for fwupd to work.
2022-08-19 12:53:34 -03:00
Kenny MacDermid 9754c6d332
nixos/fwupd: migrate to uefi_capsule.conf
In version 1.5.5 of fwupd the uefi plugin was renamed to
uefi-capsule. As part of those changes the configuration file was
renamed and changed.

This modules configuration mismatch was generally hidden because
when udisks2 is enabled fwupd will use that instead. Without
udisks2 the following warning is seen:

    WARNING: UEFI ESP partition not detected or configured
2022-08-19 12:53:23 -03:00
Bernardo Meurer fb5bceb3ff
nixos/fwupd: enable udisks2
Without this, you get a warning that fwupd is unable to find the ESP
partition.

c.f. https://github.com/fwupd/fwupd/wiki/PluginFlag:esp-not-found
2022-08-16 18:15:18 -04:00
pennae 50f9b3107a
Merge pull request #185474 from pennae/option-docs-md
nixos/*: more options md conversion
2022-08-12 23:23:26 +02:00
ajs124 f763710065 nixos/udisks2: don't enable by default
This was enabled by default in 18a7ce76fc
with the reason that it would be "useful regardless of the desktop
environment.", which I'm not arguing against.

The reason why this should not be enabled by default is that there are a
lot of systems that NixOS runs on that are not desktop systems.
Users on such systems most likely do not want or need this feature and
could even consider this an antifeature.
Furthermore, it is surprising to them to find out that they have this
enabled on their systems.
They might be even more surprised to find that they have polkit enabled
by default, which was a default that was flipped in
a813be071c. For some discussion as to why
see https://github.com/NixOS/nixpkgs/pull/156858.

Evidently, this default is not only surprising to users, but also module
developers, as most if not all modules for desktop environments already
explicity set services.udisks2.enable = true; which they don't need to
right now.
2022-08-11 02:47:34 +02:00
pennae 087472b1e5 nixos/*: automatically convert option docs 2022-08-06 20:39:12 +02:00
Lin Jian b6d45f1448 nixos/kanata: sync with version 1.0.6
- improve some descriptions
- device -> devices
- add options
  - extraArgs
  - port
- create a symlink in RUNTIME_DIRECTORY
- grant it read permission of /dev/uinput
- relax network-related restrictions when port is used
- change type of some hardening options to list to align with systemd
  - CapabilityBoundingSet
  - IPAddressDeny
  - SystemCallArchitectures
2022-08-06 15:07:44 +02:00
pennae 423545fe48 nixos/*: normalize manpage references to single-line form
now nix-doc-munge will not introduce whitespace changes when it replaces
manpage references with the MD equivalent.

no change to the manpage, changes to the HTML manual are whitespace only.
2022-08-05 18:34:50 +02:00
pennae 61e93df189 nixos/*: automatically convert option docs to MD
once again using nix-doc-munge (69d080323a)
2022-08-03 22:46:41 +02:00
pennae 3aebb4a2be nixos/*: normalize link format
make (almost) all links appear on only a single line, with no
unnecessary whitespace, using double quotes for attributes. this lets us
automatically convert them to markdown easily.

the few remaining links are extremely long link in a gnome module, we'll
come back to those at a later date.
2022-08-03 21:57:46 +02:00
pennae 9c8531c8a5 nixos/*: replace <replaceable>s with «thing»
we can't embed syntactic annotations of this kind in markdown code
blocks without yet another extension. replaceable is rare enough to make
this not much worth it, so we'll go with «thing» instead. the module
system already uses this format for its placeholder names in attrsOf
paths.
2022-08-03 21:08:58 +02:00
pennae 694d5b19d3 nixos/*: replace </para><para> with double linebreaks
our xslt already replaces double line breaks with a paragraph close and
reopen. not using explicit para tags lets nix-doc-munge convert more
descriptions losslessly.

only whitespace changes to generated documents, except for two
strongswan options gaining paragraph two breaks they arguably should've
had anyway.
2022-08-03 20:39:21 +02:00
pennae 6b13dd0e9e
Merge pull request #183491 from pennae/automatic-md-conversions
treewide: automatically md-convert option descriptions
2022-08-02 02:15:30 +02:00
Winter 468c10d8e0
Merge pull request #183039 from jansol/master 2022-08-01 18:17:39 -04:00
Jan Solanti 34a04025cf xow: remove
Upstream project has been deprecated in favour of the 'xone' kernel
mode driver.
2022-08-02 00:50:32 +03: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
Lin Jian b6617bb594
nixos/kanata: init 2022-07-26 00:06:48 +08:00
Gabriel Fontes 17fc78ea58
nixos/argonone: init 2022-06-24 21:20:32 -03:00
Alyssa Ross 8aa8e0ce7f
nixos/udev: compress all firmware if supported
This should be a significant disk space saving for most NixOS
installations.  This method is a bit more complicated than doing it in
the postInstall for the firmware derivations, but this way it's
automatic, so each firmware package doesn't have to separately
implement its compression.

Currently, only xz compression is supported, but it's likely that
future versions of Linux will additionally support zstd, so I've
written the code in such a way that it would be very easy to implement
zstd compression for those kernels when they arrive, falling back to
xz for older (current) kernels.

I chose the highest possible level of compression (xz -9) because even
at this level, decompression time is negligible.  Here's how long it took
to decompress every firmware file my laptop uses:

	i915/kbl_dmc_ver1_04.bin                  	2ms
	regulatory.db                             	4ms
	regulatory.db.p7s                         	3ms
	iwlwifi-7265D-29.ucode                    	62ms
	9d71-GOOGLE-EVEMAX-0-tplg.bin             	22ms
	intel/dsp_fw_kbl.bin                      	65ms
	dsp_lib_dsm_core_spt_release.bin          	6ms
	intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq	7ms

And since booting NixOS is a parallel process, it's unlikely (but
difficult to measure) that the time to user interaction was held up at
all by most of these.

Fixes (partially?) #148197
2022-05-13 14:36:34 +00:00
Sandro b196dea22d
Merge pull request #172080 from wentasah/usbrelay-1.0
usbrelay: 0.9 -> 1.0
2022-05-09 01:02:08 +02:00
Michal Sojka 26ec7081d6 nixos/usbrelayd: set myself as module maintainer
I forgot setting that when creating the module.
2022-05-08 21:44:50 +02:00
Michal Sojka 3effbca0bc usbrelay: 0.9 -> 1.0 2022-05-08 21:16:32 +02:00
Claudio Bley fd3d1a834b illum: Restart service on failure
If there is a fatal error and illum exits, it should be safe to restart it.
2022-05-05 22:31:56 +02:00
Janne Heß 89ace3967e
nixos/udev: systemd initrd improvements
First, add the builtin udev rules to /etc/udev/rules.d so they are used.
Then, add all networkd .link units to the initrd. This is done in the
old stage 1 as well so I assume this is needed even when networkd is not
used. I assume this is for things like changing the MAC address.

Also limit the number of udev/lib binaries that is put into the initrd
because the old initrd doesn't use all units either.
2022-04-30 14:17:29 +02:00
Sandro 93da45162d
Merge pull request #166321 from wentasah/usbrelay 2022-04-25 02:23:19 +02:00
Michal Sojka 6a5b839069 usbrelay: init at 0.9 2022-04-18 19:02:41 +02:00
Lassulus 65cc198539
Merge pull request #167349 from helsinki-systems/feat/udev-systemd-stage-1
nixos/udev: Add systemd stage 1 support
2022-04-12 21:02:52 +01:00
Janne Heß 7024b4e5e3
nixos/udev: Put all initrd options into a namespace 2022-04-12 20:06:13 +01:00
Janne Heß fb44ecd129
nixos/udev: Add systemd stage 1 support 2022-04-11 19:43:26 +01:00
Alyssa Ross 46a3a7b9a2 nixos/udev: remove rule for kqemu
kqemu was removed from Nixpkgs in 2013 in 181dc4032d ("Remove the old
KQEMU accelerator module"), so it should be safe to drop this rule
now.
2022-04-11 12:17:03 +00:00
Artturin 4d49c7e6d8 nixos/udisks2: add freeform settings 2022-04-03 09:40:53 +03:00
Martino Fontana fb6dbccbfa joycond: don't use dkms hid-nintendo on kernel 5.16 or newer
The module has since been mainlined into the kernel. See #163929.
2022-03-19 16:38:09 +01:00
piegames cd7e516b26
Merge pull request #156858: nixos/polkit: don't enable by default 2022-03-05 14:48:35 +01:00
Martin Weinelt d78f8c588d
nixos/udisks2: enable polkit 2022-03-02 17:38:36 +01:00