NixOS on Lenovo x1 yoga gen6

Posted on July 30, 2026

I set up NixOS using the installer iso and opted for encrypted btrfs and swap for hibernation and KDE. Most things work as expected but the sound mixer was not working. I found the solution on the Arch forum, which is to use a software mixer on the device instead of the hardware mixer. Here is my ~/.config/wireplumber/wireplumber.conf.d/99-alsasoftvol.conf:

monitor.alsa.rules = [
  {
    matches = [
      {
        # This matches the value of the 'device.name' property of the ve to device.
        # Might have adjust to the actual device name you see in a pactl list cards,
        # but this "should" match
        device.name = "~alsa_card.pci-0000_00_1f.3.*"
      }
    ]
    actions = {
      update-props = {
        api.alsa.soft-mixer = true
      }
    }
  }
]

then restart the sound services with

systemctl --user restart pipewire pipewire-pulse wireplumber

The other notable addition was more gesture support for KDE, using InputActions for KWin. Luckily, they provide flakes for NixOS, which got me to convert my system to flakes. The gestures are very configurable, but for now I just want to switch windows by swiping with 3 fingers. Here is my ~/.config/inputactions/config.yaml:

touchpad:
  gestures:
    # window prev/next / global
    - type: swipe
      fingers: 3
      direction: left_right

      actions:
        - on: begin
          input:
          - keyboard: [ +leftalt, tab ]

        - on: update
          interval: -30
          input:
            - keyboard: [ leftshift+tab ]

        - on: update
          interval: 30
          input:
            - keyboard: [ tab ]

        - on: end_cancel
          input:
          - keyboard: [ -leftalt ]