Commit Graph

809 Commits

Author SHA1 Message Date
Dyego Aurélio
28096cc5e3 treewide: apply nixfmt 1.2.0 2026-01-22 18:37:56 -03:00
Sandro
edb78a8b13 tuxedo-drivers: fix udev settings evaluation (#479580) 2026-01-19 10:05:11 +00:00
NAHO
a2ed7e8d88 nixos: remove optional builtins prefixes from prelude functions
Remove optional builtins prefixes from prelude functions by running:

    builtins=(
      abort
      baseNameOf
      break
      derivation
      derivationStrict
      dirOf
      false
      fetchGit
      fetchMercurial
      fetchTarball
      fetchTree
      fromTOML
      import
      isNull
      map
      null
      placeholder
      removeAttrs
      scopedImport
      throw
      toString
      true
    )

    fd \
      --exclude doc/manual/release-notes \
      --type file \
      . \
      nixos \
      --exec-batch sed --in-place --regexp-extended "
        s/\<builtins\.($(
          printf '%s\n' "${builtins[@]}" |
            paste --delimiter '|' --serial -
        ))\>/\1/g
      "

    nix fmt
2026-01-15 16:07:55 +01:00
LuckShiba
a77e30e4ec tuxedo-drivers: fix udev settings evaluation 2026-01-13 15:16:44 -03:00
Gergő Gutyina
a782402469 nixos/opentabletdriver: fix "Daemon is already running" (#473683) 2026-01-13 14:04:10 +00:00
Wolfgang Walther
55e8e2f3e8 teams/lumiguide: handle team with external membership (#478825) 2026-01-12 19:54:24 +00:00
Wolfgang Walther
ac07f22faa teams/determinatesystems: handle team with external membership (#478805) 2026-01-12 19:39:16 +00:00
Rick van Schijndel
ae8096a435 nixos/tuxedo-drivers: add optional udev parameters (#410921) 2026-01-11 19:51:47 +00:00
Wolfgang Walther
e5d1f9c15a maintainers: drop roelvandijk
Inactive since at least 2022. Dropping according to maintainer
guidelines.
2026-01-10 22:20:52 +01:00
Wolfgang Walther
0886339dd1 maintainers: drop grahamc
Inactive since April 2025. Removing according to maintainer guidelines.
2026-01-10 21:31:14 +01:00
Sandro
ac2a57311a nixos/xpad-noone: fix enable option casing 2026-01-09 00:30:38 +01:00
Johannes Arnold
15d9ec616a nixos/tuxedo-drivers: add optional udev parameters 2026-01-02 21:27:55 +01:00
Florian Klink
dfc01880c4 glasgow: 0-unstable-2025-07-28 -> 0-unstable-2025-12-22 (#474173) 2026-01-01 19:57:48 +02:00
Florian Klink
53193bb729 nixos/glasgow: add glasgow to systemPackages
That's what various other tools in hardware.* do, it's surpising if
`hardware.glasgow.enable` does not actually give you the `glasgow`
binary in `$PATH`.
2025-12-25 18:15:01 +01:00
Gutyina Gergő
6ce844a120 nixos/opentabletdriver: add maintainer gepbird 2025-12-24 23:17:22 +01:00
Gutyina Gergő
91d4a15a6b nixos/opentabletdriver: fix "Daemon is already running"
This issue was observed after GNOME 48 -> 49 update.
User creation for gdm was changed, now it starts systemd user
services.
This causes issues for OTD and potentially other services, as
gdm-greeter user starts an OTD process creating a named pipe in /tmp
that acts as a lock file. When a user logs in, they also start a process
which exits with "Daemon is already running" and the gdm-greeter started
process exits.
Applying upstream patches that improve cleaning up the "lock file"
doesn't fix this issue, probably because there's not enough time between
stopping the first and starting the second process.

Fixes https://github.com/NixOS/nixpkgs/issues/469340.
2025-12-24 23:17:21 +01:00
Malix | Alix Brunet
9560a8490d nixos/nvidia: blacklistedKernelModules add nova_core 2025-12-23 23:41:17 +01:00
Jörg Thalheim
f45d3d9b0a docs/facter: add documentation for nixos-facter 2025-12-23 14:58:54 +00:00
r-vdp
3d836c9d72 nixos/facter: enable grub uefi support based on facter report
See fb9eea6bb0

Co-authored-by: Christian Friedow <christian@friedow.com>
2025-12-23 12:25:55 +02:00
Jörg Thalheim
7c087d58df nixos/facter: add debug utilities
This adds debugging tools for comparing system configurations with and
without facter-based hardware detection:

Example usage:
  nix-build '<nixpkgs/nixos>' -A config.hardware.facter.debug.nvd
  ./result/bin/facter-diff

Builds on PR #466808 (camera support).
Part of incremental upstreaming from nixos-facter-modules.
2025-12-21 11:15:02 +00:00
Jörg Thalheim
4cdf0bc6bd nixos/facter: add Intel IPU6 camera support (#466808) 2025-12-17 15:45:55 +00:00
Jörg Thalheim
a7af30e32e nixos/facter: fix ipu6 kernel version warning condition
The suspension/shutdown regression affects kernel 6.16 and later, not
just 6.16 specifically. Use versionAtLeast instead of equality check.

Also fix issue reference (372 was a separate issue) and typo.
2025-12-17 16:36:48 +01:00
Jörg Thalheim
f1498c9c56 nixos/facter: fix collectDrivers returning nested lists
The collectDrivers function was using lib.catAttrs which extracts
attribute values into a list. Since driver_modules is already a list,
this resulted in nested lists like [["i915"]] instead of ["i915"],
causing boot.initrd.kernelModules to fail with:

  error: expected a string but found a list: [ "i915" ]

Restore the original foldl' implementation from nixos-facter-modules
that properly concatenates driver_modules lists into a flat result.

Add graphics_card and monitor entries to test data to catch this
regression.

Fixes: https://github.com/NixOS/nixpkgs/pull/466808#issuecomment-2749380083
2025-12-17 16:33:41 +01:00
secufoe
e4b9fd3714 nixos/hardware: always add renesas kernel module to initrd
Renesas controllers are used on Dell x86 servers to mount virtual media through iDRAC
2025-12-15 19:53:30 +01:00
Ihar Hrachyshka
567e8dfd8e treewide: clean up 'meta = with' pattern
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.

Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
2025-12-10 18:09:49 +01:00
Jörg Thalheim
cb6d7834c5 nixos/facter: add Intel IPU6 camera support
This adds automatic detection and configuration for Intel IPU6 cameras:

This is particularly useful for modern Intel laptops (11th-14th gen) with
integrated webcams that require the intel-ipu6 drivers. Auto-configuration
eliminates manual setup for these specialized devices.

Builds on PR #463457 (input peripherals).
Part of incremental upstreaming from nixos-facter-modules.
2025-12-01 14:01:19 +01:00
Jörg Thalheim
ab1bc16890 nixos/facter: add input peripheral detection (#463457) 2025-12-01 12:53:42 +00:00
Jörg Thalheim
8b9171eed7 nixos/facter: add input peripheral detection
This adds automatic detection and configuration for input peripherals:

- bluetooth: Detects Bluetooth hardware and automatically enables
- fingerprint: Detects USB fingerprint devices using libfprint device database

Builds on PR #458177 (graphics).
Part of incremental upstreaming from nixos-facter-modules.
2025-12-01 13:48:46 +01:00
Masum Reza
dfb38ac8f3 nixos/cpu/intel: allow customizing microcode package (#461556) 2025-11-28 18:21:59 +00:00
Sandro
93fec6dc49 nixos/firmware: remove restrictive hardware.enableAllFirmware assertion (#441240) 2025-11-27 13:51:08 +00:00
Sandro
4321bbf1c1 intel-npu-driver: init at 1.26.0 (#382756) 2025-11-26 17:13:48 +00:00
Jörg Thalheim
484feccb9f nixos/facter: handle case where we do not have readOnly included 2025-11-20 12:59:58 +01:00
Acid Bong
daec6e3754 nixos/cpu/intel: allow customizing microcode package
follow-up to #434472
2025-11-14 14:44:22 +02:00
Jörg Thalheim
a555914285 nixos/facter: make hasCPUFeature more fault-tolerant
Add default value for features attribute in hasCPUFeature function
to handle CPU records that might not have a features field, preventing
errors when the report structure varies.
2025-11-05 22:57:03 +01:00
Jörg Thalheim
3e758c612d nixos/facter: add reportPath guard to all modules
Add lib.mkIf condition checking if config.hardware.facter.reportPath != null
to all facter modules. This shortcuts the module effects when no facter
report is available, preventing unnecessary evaluation and potential errors
when the report is not provided.
2025-11-05 22:57:03 +01:00
Jörg Thalheim
79d683f4ad nixos/facter: add graphics hardware detection
This adds automatic graphics card configuration:

Builds on PR #456698 (virtualization & firmware).
Part of incremental upstreaming from nixos-facter-modules.
2025-11-04 19:27:19 +01:00
Jörg Thalheim
9c973022fc nixos/facter: fix conflict with readOnlyPkgs (#456076) 2025-11-04 18:14:46 +00:00
Jörg Thalheim
ddf53abd21 nixos/facter: add virtualization and firmware support
This adds automatic virtualization detection (virtualisation.nix) and firmware management (firmware.nix).

Builds on PR #455151 (networking).
Part of incremental upstreaming from nixos-facter-modules.
2025-11-03 14:45:19 +01:00
Reuben Ferabend
37f37f59b5 nixos/facter: fix conflict with readOnlyPkgs 2025-11-02 09:30:28 +13:00
Jörg Thalheim
6741751801 nixos/facter: add networking configuration
This adds automatic network configuration based on detected hardware:

- networking/default.nix: Auto-configure DHCP on physical interfaces
  Detects Ethernet, WLAN, USB-Link, and generic network interfaces,
  automatically enabling DHCP on each. Excludes loopback and mainframe
  interfaces. Sets networking.useDHCP and per-interface useDHCP.

- networking/intel.nix: Intel WiFi firmware detection
  Auto-enables firmware for Intel 2200BG and 3945ABG wireless cards
  based on PCI vendor/device IDs.

- networking/initrd.nix: Network drivers in initrd
  Loads network controller drivers when boot.initrd.network.enable
  is set, enabling network boot scenarios.

Builds on PR #454847 (boot & storage).
Part of incremental upstreaming from nixos-facter-modules.
2025-10-24 12:50:34 +02:00
Jörg Thalheim
cb883c36e3 nixos/facter: add boot and storage detection
This adds automatic kernel module detection for boot-critical hardware:

- disk.nix: Detects and loads kernel modules for storage controllers
  Auto-detects modules for: disk controllers, storage controllers,
  and FireWire controllers (for FireWire-attached disks).
  Modules are automatically added to boot.initrd.availableKernelModules.

- keyboard.nix: Detects USB controller drivers for keyboard support
  Ensures USB HID drivers are loaded in initrd for keyboard access
  during boot (critical for LUKS password entry, etc.).

Follow up to #454237.
Part of incremental upstreaming from nixos-facter-modules.
2025-10-23 12:47:17 +02:00
Jörg Thalheim
368ed53d31 nixos/facter: add core library and system detection (#454237) 2025-10-23 10:41:20 +00:00
kruziikrel13
5cd26d1051 nixos/qmk: add keychron support 2025-10-23 16:48:31 +10:00
Jörg Thalheim
ab49e37a02 nixos/facter: add core library and system detection
This adds foundational functionality for nixos-facter hardware detection:

- lib.nix: Internal helper functions for querying facter reports
  - hasCpu/hasAmdCpu/hasIntelCpu: CPU vendor detection
  - collectDrivers: Extract driver_modules from hardware entries
  - toZeroPaddedHex: Format USB device IDs (for fingerprint matching)

- system.nix: Auto-detect nixpkgs.hostPlatform from facter report
  Automatically sets the correct platform (x86_64-linux, aarch64-linux, etc.)
  based on the hardware report, reducing manual configuration.

This builds on the base infrastructure added in PR #450303 and provides
the foundation for upcoming hardware detection modules (boot, networking,
graphics, etc.).

Part of the incremental upstreaming effort from:
https://github.com/nix-community/nixos-facter-modules
2025-10-22 12:38:46 +02:00
Lukas Wurzinger
1f4c50ab81 lib/cli: deprecate toGNUCommandLine 2025-10-21 21:01:38 +02:00
Jörg Thalheim
5965426331 nixos/facter: add initial commit (#450303) 2025-10-14 09:38:25 +00:00
Jörg Thalheim
b7f40d25eb nixos/facter: add initial commit
This is the first step to upstream nixos-facter-modules into
nixpkgs/nixos:

https://github.com/numtide/nixos-facter-modules/

We tried to stick close to the semantics nixos-generate-config + some
extra features. We choose a new prefix for hardware.facter to live in so
that existing users of nixos-facter-modules can continue using it while
the upstreaming is in progress.

The reason for upstreaming is to make it easier to have nixos-facter as
choice for hardware detection as part of our normal NixOS installation workflow.
Hardware from my experience takes many hands since it is hard to test
without having access to a large variety of hardware.

We hope that with nixos-facter we can reduce the boiler code required in
the nixos-hardware project and provide better out-of-the-box support,
even if a model has not been explicitly added to nixos-hardware.
I.e. unlike ubuntu we don't have support for detecting required GPU
drivers. We believe that nixos-hardware will be still required for some
vendor specific quirks, but we could in future automatically select the
profiles based on reported SKU from facter.

For more details watch the 2024 NixCon talk: https://www.youtube.com/watch?v=3H3YUqibC6c
2025-10-14 10:32:18 +01:00
Ramses
f28af50384 udev rules for tuxedo drivers (#444087) 2025-10-13 19:39:12 +00:00
Tristan Ross
94451f7fdc nixos/tenstorrent: use tt-smi from by-name 2025-10-12 10:00:29 -07:00
Tristan Ross
954d1e2a01 nixos/tenstorrent: add tt-smi 2025-10-10 21:45:11 -07:00