Commit graph

549 commits

Author SHA1 Message Date
nicoo 04b1a3f847 nixos/auto-cpufreq: Avoid touching /etc 2023-04-09 19:15:49 +00:00
nicoo deab2b3bf7 nixos/auto-cpufreq: Add configuration support. 2023-03-28 22:01:27 +00:00
Lin Jian 4482c70530 nixos/kanata: notify systemd when starting up is finished
- set service type to notify
- allow unix socket which is needed by systemd notify
2023-03-25 20:56:48 +01:00
woojiq 296e7f92cd keyd: add keyd service and test
The keyd package already exists, but without a systemd service.

Keyd requires write access to /var/run to create its socket. Currently
the directory it uses can be changed with an environment variable, but
the keyd repo state suggests that this may turn into a compile-time
option. with that set, and some supplementary groups added, we can run
the service under DynamicUser.

Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
2023-03-22 15:12:29 +01:00
Krzysztof Nazarewski ed4ce16637
supergfxd: add missing kmod to PATH 2023-03-20 09:44:47 +01:00
Bernardo Meurer 6e55733359
Merge pull request #219747 from Stunkymonkey/deprecate-isNull 2023-03-16 11:10:22 -03:00
Lily Foster 6e6d31f4bc
nixos/fwupd: add settings option for uefi_capsule.conf 2023-03-10 15:25:41 -05:00
Felix Buehler d10e69c86b treewide: deprecate isNull
https://nixos.org/manual/nix/stable/language/builtins.html#builtins-isNull
2023-03-06 22:40:04 +01:00
Lin Jian 405919c6c9 nixos/kanata: misc improvements
- simplify some descriptions
- use getExe instead of hardcoding a binary path
- remove a unneeded "lib."
2023-02-17 22:34:38 +01:00
Lin Jian 46122183b5 nixos/kanata: remove a limit that number of devices cannot be 0
Since 1.0.8, kanata can automatically detect keyboard devices if
linux-dev is not in config.
2023-02-17 22:34:38 +01:00
Lin Jian f34917b128 nixos/kanata: do not use path activation
Since 1.2.0, kanata handles missing keyboards well:
- only one keyboard need to be present when kanata starts;
- if linux-continue-if-no-devs-found is set to yes, all keyboards can
be missing at the beginning;
- all keyboards can be (un)pluged when kanata is running.

For simplicity, linux-continue-if-no-devs-found is set to yes and
systemd patch activation is removed.
2023-02-17 22:34:38 +01:00
bb2020 61219651fe nixos/udisks2: add mountOnMedia option 2023-02-10 16:38:05 +03:00
pennae bf4c0c1900 nixos/*: remove trailing period in mkEnableOptions
those are added by mkEnableOption, and .. is replaced to … by markdown
processing.
2023-02-08 15:23:34 +01:00
Martin Weinelt a85007b253
Merge pull request #213317 from kurnevsky/throttled
throttled: fix after recent update
2023-02-01 01:37:20 +00:00
github-actions[bot] dd1ff149da
Merge master into staging-next 2023-01-31 00:02:31 +00:00
pennae 5b6dcece88
Merge pull request #212684 from pennae/nixos-render-docs
nixos-render-docs: init, use for some manual rendering to docbook
2023-01-30 19:26:07 +01:00
Evgeny Kurnevsky 8542aa185d
throttled: fix after recent update 2023-01-29 10:25:08 +03:00
pennae 0a6e6cf7e6 nixos/manual: render module chapters with nixos-render-docs
this converts meta.doc into an md pointer, not an xml pointer. since we
no longer need xml for manual chapters we can also remove support for
manual chapters from md-to-db.sh

since pandoc converts smart quotes to docbook quote elements and our
nixos-render-docs does not we lose this distinction in the rendered
output. that's probably not that bad, our stylesheet didn't make use of
this anyway (and pre-23.05 versions of the chapters didn't use quote
elements either).

also updates the nixpkgs manual to clarify that option docs support all
extensions (although it doesn't support headings at all, so heading
anchors don't work by extension).
2023-01-27 20:07:34 +01:00
Vladimír Čunát 8a77ed60ac
Merge branch 'master' into staging-next 2023-01-27 09:36:55 +01:00
Jan Tojnar 42930c79dd nixos/fwupd: Upgrade ESP path config key
This setting was renamed and moved to the main config file in fwupd 1.8.5:
5d38e0aeea

Without this patch, fwupd tries to migrate the config and crashes when it meets the immutable:

    FuEngine             migrating OverrideESPMountPoint=/boot to EspLocation
    Failed to load daemon: failed to load engine: Failed to create file ?/etc/fwupd/daemon.conf.6HZBZ1?: Read-only file system

The setting was first introduced to the module in 08547ff642 to override the store paths set during build.5d38e0aeea
2023-01-27 00:54:17 +01:00
github-actions[bot] 578f1ba854
Merge master into staging-next 2023-01-26 18:01:29 +00:00
K900 a68cd68b45 nixos/fwupd: adjust for config parameter migration 2023-01-24 18:08:09 +03:00
github-actions[bot] 727e365f02
Merge master into staging-next 2023-01-24 00:02:11 +00:00
Sandro deeba2fb9e
Merge pull request #206257 from matklad/throttledup 2023-01-23 23:54:18 +01:00
github-actions[bot] 142d3af1cb
Merge staging-next into staging 2023-01-15 00:03:07 +00:00
Elian Doran ba0a640afd fancontrol: restart service after suspend 2023-01-14 19:33:48 +01:00
Sergei Trofimovich ca4da963f8 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
    pkgs/development/libraries/audio/roc-toolkit/default.nix
2023-01-14 11:07:42 +00:00
Francesco Gazzetta c956f85fbd
Merge pull request #204653 from ymatsiuk/ymatsiuk/bluetooth
nixos/bluetooth: add input and network service configs
2023-01-12 08:24:01 +00:00
pennae 53fc887582 nixos/manual: move "edit the MD file" comments to generated XML 2023-01-10 12:34:37 +01:00
pennae bf92eaebe4 nixos/manual: generate module chapters with md-to-db.sh 2023-01-10 10:32:00 +01:00
pennae 23ea73b416 nixos/manual: enable smart quotes for all MD chapters 2023-01-10 10:31:59 +01:00
pennae a553f57cb6 nixos/trezord: convert manual chapter to MD 2023-01-10 10:31:55 +01:00
pennae 80a78f2e1e nixos/manual: remove links from program listings
markdown cannot represent those links. remove them all now instead of in
each chapter conversion to keep the diff for each chapter small and more
understandable.
2023-01-10 10:31:52 +01:00
Gaetan Lepage b069f6230d nixos/fwupd: enable udisks2 2023-01-04 08:02:42 +01:00
K900 25bb55495b nixos/supergfxd: make config file read/write 2022-12-29 14:17:24 +03:00
Bjørn Forsman 700adb32e9 nixos/sane: point SANE_CONFIG_DIR away from /etc/sane.d
This brings back the ability to e.g. configure sane-airscan with
`environment.etc."sane.d/airscan.conf".text = ...`.

(AFAICT, sane-airscan loads all config files it finds, so it'll first
load the one from the nixos hardware.sane.* configuration, then the user
specified one in /etc/sane.d/airscan.conf.)

Fixes: 4fbec87a5b ("nixos/sane: point env vars to /etc for quick reload")

Fixes https://github.com/NixOS/nixpkgs/issues/207262
2022-12-25 12:34:50 +01:00
Jonas Heinrich a9e3b1c0f2 nixos/usbmuxd: Ability to change package 2022-12-19 08:14:07 -05:00
figsoda 6bb0dbf91f nixos: fix typos 2022-12-17 19:31:14 -05:00
Aleksey Kladov 77ff624382 throttled: 0.9.2 -> 0.10.0 2022-12-15 14:51:05 +00:00
Ryan Lahfa 78e2fbc4ce
Merge pull request #195341 from zhaofengli/fwupd-extra-daemon-conf
nixos/fwupd: Make daemon.conf structured
2022-12-13 14:19:26 +01:00
K900 2123b57d5d nixos/supergfxd: make optional, fix eval (again) 2022-12-09 13:31:00 +03:00
Naïm Favier 0ff3b35356 nixos/doc: fix some options 2022-12-08 17:52:52 +01:00
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