Commit graph

507 commits

Author SHA1 Message Date
K900 a445c5f6ea supergfxd: fix config format 2022-12-08 11:46:10 +03:00
Sandro b3f9ddea98
Merge pull request #204422 from SuperSandro2000/bluezfull 2022-12-07 22:46:15 +01:00
Zhaofeng Li c4ae704be6 nixos/fwupd: Make daemon.conf structured 2022-12-06 18:24:40 -07:00
Yurii Matsiuk 1d61d168a6
nixos/bluetooth: add input and network service configs 2022-12-06 17:49:53 +01:00
Sandro 9622693a4b
nixos/bluetooth: remove bluezFull alias from examples 2022-12-04 09:58:49 +01:00
Alexandre Acebedo 8f7537e34f nixos/asusctl: init 2022-12-04 10:11:27 +03:00
Alexandre Acebedo 8f14c05c50 nixos/supergfxctl: init 2022-12-04 10:11:27 +03:00
Ryan Lahfa da5ef17a96
Merge pull request #199520 from bjornfor/nixos-hardware-sane-open-firewal
nixos/sane: add openFirewall option
2022-12-01 14:50:11 +01:00
Nick Cao 51e4bd298f
nixos/udev: enable initrd-udevadm-cleanup-db.service in systemd stage 1 2022-11-21 14:33:27 +08:00
Guillaume Girol 4c633f0301
Merge pull request #199667 from bjornfor/nixos-sane-indirection-for-quick-reload
nixos/sane: point env vars to /etc for quick reload
2022-11-13 10:05:05 +00:00
Bernardo Meurer c9e23626a1
nixos/udisks2: symlink libblockdev configs
Without this, you get the following error message in the logs:

udisksd[4082]: Failed to load config files: Failed to get contents of the config dir (/etc/libblockdev/conf.d/)Error opening directory “/etc/libblockdev/conf.d/”: No such file or directory. Using the built-in config
2022-11-09 18:30:59 +00:00
Bjørn Forsman f23ddc55a6 nixos/sane: mention sane-airscan in the extraBackends option
It's a very useful backend (that probably should be enabled by default,
like on Ubuntu), let's start by making it easier to discover.

Ref https://github.com/NixOS/nixpkgs/issues/28406.
2022-11-05 16:19:04 +01:00
Bjørn Forsman 4fbec87a5b nixos/sane: point env vars to /etc for quick reload
Point $SANE_CONFIG_DIR and $LD_LIBRARY_PATH to symlinks in /etc, instead
of directly to nix store paths, so that activating a new configuration
takes effect immediately, instead of requiring users to re-login.
2022-11-05 10:40:51 +01:00
Bjørn Forsman c3cff074f8 nixos/sane: add openFirewall option
Open ports needed for discovery of scanners on the local network, e.g.
needed for Canon scanners (BJNP protocol).

Ref. https://github.com/NixOS/nixpkgs/issues/28406.
2022-11-04 14:05:43 +01:00
github-actions[bot] 9d424dbc41
Merge master into staging-next 2022-10-31 00:02:32 +00:00
Sandro Jäckel 7fe3f63da6
nixos/udev: add enable option 2022-10-26 19:24:14 +02:00
github-actions[bot] 29e01ddcd1
Merge staging-next into staging 2022-10-25 06:24:30 +00:00
Andrew Kvalheim 545b74f075 brscan4-etc-files: rename name to pname&version
re #103997
2022-10-25 02:38:39 +02:00
rnhmjoj c90b6a859b
nixos/pcscd: allow use without polkit
The polkit support in pcsclite is entirely optional but package enables
it unconditionally and this breaks connecting to the pcscd daemon on
systems without polkit.

The fix is making this configurable and automatically disabling
`polkitSupport` when the polkit service is disabled.
2022-10-21 13:06:40 +02:00
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
linj c9013da695 nixos/undervolt: respect services.undervolt.package
This patch also removes useless systemd.services.undervolt.path.

Fixes #156668
2022-02-11 03:57:02 +08:00
Jörg Thalheim 82f2d81b22
Merge pull request #157839 from abbradar/stage-1-modprobe
Modprobe options in stage-1
2022-02-08 11:43:31 +00:00
Sandro 7090608b3f
Merge pull request #136521 from pacien/nixos-upower-config-time-unit 2022-02-07 01:29:46 +01:00
Nikolay Amiantov 2b3f77b716 nixos/udev: set firmware path in a separate modprobe.d file
This way we don't bloat ramdisk with the whole Linux firmware packages.
2022-02-04 17:47:32 +03:00
Rodney Lorrimar d9b8919e34
nixos/ddccontrol: Ensure that i2c_dev module is loaded 2022-02-02 11:52:57 +10:00
AndersonTorres 7fb017e379 nixos/modules/services/hardware/triggerhappy.nix: mpc_cli -> mpc-cli 2022-01-24 23:24:06 -03:00
Solene Rapenne f3516813d8 thermald: disable network access
Use systemd PrivateNetwork feature to prevent thermald daemon to have
network capabilities.
2022-01-15 19:33:06 +01:00
Steven Kou 73050d70fc
thinkfan: fix typo in level
One of the valid values for the fan speed is "level disengaged",
however, it is represented as "level disengage" and does not match
what thinkfan expects.
2021-12-22 04:00:19 +08:00
Aaron Andersen eeef6e1341
Merge pull request #151144 from Sohalt/spacenavd-syslog
nixos/spacenavd: remove syslog.target
2021-12-17 21:47:23 -05:00
sohalt 9718fc1211 nixos/spacenavd: remove syslog.target 2021-12-18 00:59:48 +01:00
Graham Christensen 06edb74413
Merge pull request #148785 from pennae/more-option-doc-staticizing
treewide: more defaultText for options
2021-12-17 11:14:08 -05:00
Evils b22f50135c nixos/rasdaemon: remove syslog.target dependency
this was copied from upstream's unit file
but only used when the daemon runs in background mode
  --foreground is used unconditionally in this module
2021-12-10 08:18:05 +01:00
pennae fb0e5be843 treewide: add defaultText for options with simple interpolation defaults
adds defaultText for all options that use `cfg.*` values in their
defaults, but only for interpolations with no extra processing (other
than toString where necessary)
2021-12-09 01:13:48 +01:00
Yurii Matsiuk 8e986f6389
nixos/bluetooth: fix bluetooth warnings 2021-11-23 10:54:26 +01:00
Evils 9cb2107476 nixos/fancontrol: restart on-failure 2021-11-02 09:24:31 +01:00
Sandro 33f7dd3cfd
Merge pull request #143620 from jtojnar/ppd 2021-10-31 22:48:45 +01:00
Evils b6ff276fb1 nixos/rasdaemon: init module 2021-10-30 22:22:12 -04:00
Jan Tojnar 046ec82346 power-profiles-daemon: 0.8.1 → 0.10.1
https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/blob/0.10.1/NEWS

Requires installing to system for polkit policy.
2021-10-29 09:17:27 +02:00
Timo Kaufmann 043bc8a984
Merge pull request #139502 from Vodurden/nixos-unstable
Support virtual Nintendo Switch Pro controllers in joycond
2021-10-07 13:54:30 +02:00
Jake Woods 1af6417b86 nixos/joycond: init
NixOS should be able to support the Nintendo Switch Pro controller for
steam and non-steam at the same time. Currently there are two mutually
exclusive ways to support the Pro Controller: Steam and `hid-nintendo`.

Unfortunately these don't work together, but there's a workaround in
newer versions of `joycond` (described [here](https://wiki.archlinux.org/title/Gamepad#Using_hid-nintendo_pro_controller_with_Steam_Games_(with_joycond))). To use this
workaround `hid-nintendo` and `joycond` need to be updated, and the
systemd and udev configuration needs to be made available in NixOS.
2021-10-06 13:19:36 +11:00
Naïm Favier 2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Jens Nolte e66332826a lirc: Set a writable lockdir 2021-09-29 05:36:56 +02:00
Austin Butler b88b46b830 nixos/tcsd: make group uid dynamic 2021-09-19 12:42:46 -07:00
pacien 623ce7e4f2 nixos/upower: document time* unit
See also: upstream clarification at
https://gitlab.freedesktop.org/upower/upower/-/merge_requests/83
2021-09-03 01:10:55 +02:00
Profpatsch 6376458424 sane: Add support for the unfree Fujitsu ScanSnap drivers
This adds the scanner files already linked from the
`etc/sane.d/epjitsu.conf` file, which are extracted from the Windows
drivers and mirrored on GitHub.

Being a Japanese hardware vendor, Fujitsu’s software release &
licensing methods are horrifying, but their scanners are some of the
best, so we should definitly have discoverable support for them, which
this patch hopefully adds.

Inspiration was taken from the following sources:
https://www.josharcher.uk/code/install-scansnap-s1300-drivers-linux/
https://ubuntuforums.org/archive/index.php/t-1461915.html
https://github.com/stevleibelt/scansnap-firmware
2021-08-01 13:45:46 +02:00
Sandro d5bd34ebf2
treewide: convert phases that contain ":" to dont* = true (#130500) 2021-07-18 23:42:48 +02:00
Jan Tojnar fc1e0e863c nixos/ddccontrol: init 2021-07-08 22:04:40 +02:00
Aamaruvi Yogamani 358aa90e30
nixos/auto-cpufreq: fix service wantedBy 2021-06-14 20:01:26 -04:00
Vladimír Čunát 2ee781417e
nixos/*: replace alsa* aliases
The attributes got renamed in PR #126440 and in some places this caused
evaluation errors, e.g. the tarball job was saying (locally)
> attribute 'alsaUtils' missing, at /build/source/nixos/modules/services/audio/alsa.nix:6:4
and I suspect that trunk-combined jobset's failure to evaluate was also caused.
2021-06-10 09:46:55 +02:00
Maciej Krüger ef555f6a0b
Merge pull request #123426 from mattchrist/brscan5 2021-05-31 17:52:16 +02:00
Matt Christ dd54ac5648 brscan5: simplify mkEnableOption 2021-05-28 20:55:55 -05:00