!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

609 Members
121 Servers

Load older messages


SenderMessageTime
23 May 2024
@dyerat:matrix.orgdyeratafaik the orca-slicer package I want is definitely on the unstable branch09:17:40
@mewp:nurupo.pl@mewp:nurupo.pl you probably want nixpkgs-ubstable.legacyPackages.x86_64-linux.orca-slicer 09:35:24
@mewp:nurupo.pl@mewp:nurupo.pl * you probably want nixpkgs-unstable.legacyPackages.x86_64-linux.orca-slicer 09:35:42
@dyerat:matrix.orgdyeratYou've absolutely smashed it09:39:59
@dyerat:matrix.orgdyerattysm09:40:00
@lazycaaat:matrix.orglazycaaat joined the room.11:02:29
@gdarends:matrix.orggdarends

Hi all! I'm trying to configure a specific device with services.pipewire.wireplumber.configPackages but it doesn't seem like it's loading the config. I see the config file in /nix/store, but it doesn't show up in /etc.
Here is my config:

services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    jack.enable = true;
    wireplumber.enable = true;

    wireplumber.configPackages = [
      (pkgs.writeTextDir "share/wireplumber/main.lua.d/99-alsa-low-latency.conf" ''
        monitor.alsa.rules = {
          {
            matches = {
              { "node.name", "matches", "alsa_input.usb-Focusrite_Scarlett_4i4_4th_Gen_S49C91841831EB-00.*"; }
              { "node.name", "matches", "alsa_output.usb-Focusrite_Scarlett_4i4_4th_Gen_S49C91841831EB-00.*"; }
            },
            apply_properties = {
              ["audio.rate"] = 192000,
              ["api.alsa.period-size"] = 512,
              ["api.alsa.period-num"] = 3,
            },
          }, 
        }
      '')
    ];

    # add virtual audio device for butt streaming
    extraConfig.pipewire = {
      "99-clock-rates" = {
        "context.properties" = {
          "default.clock.allowed-rates" = [ 48000 192000 ];
        };
      };
    };
  };
14:16:12
@gdarends:matrix.orggdarendsI'm using this guide: https://nixos.wiki/wiki/PipeWire#Controlling_the_ALSA_devices14:16:48
@raf:notashelf.dev@raf:notashelf.dev
  1. nixos.wiki is outdated, don't use it
  2. you will need to put keys in quotation marks, e.g., "monitor.alsa.rules" instead of monitor.alsa.rules
14:17:23
@gdarends:matrix.orggdarendsBut the guide specifically mentions 24.0514:19:04
@raf:notashelf.dev@raf:notashelf.devthe guide is wrong, then14:19:31
@gdarends:matrix.orggdarendsOk14:19:52
@raf:notashelf.dev@raf:notashelf.devthe bluetooth section looks correct14:19:55
@raf:notashelf.dev@raf:notashelf.devALSA low latency section is not14:20:01
@gdarends:matrix.orggdarendsSo correct me if I'm wrong. This config is not being published because the syntax is wrong?14:21:45
@raf:notashelf.dev@raf:notashelf.devnot quite14:22:08
@raf:notashelf.dev@raf:notashelf.devyou are using extraPackages, iirc that does not get linked to /etc14:22:16
@gdarends:matrix.orggdarends It is building and it is populating in /nix/store 14:22:18
@raf:notashelf.dev@raf:notashelf.dev * you are using configPackages, iirc that does not get linked to /etc14:22:29
@gdarends:matrix.orggdarends I did a find / and I can't find it anywhere. 14:23:33
@gdarends:matrix.orggdarends

I updated my config, but it's still not being loaded. I tried both configPackages and extraConfig. None work.

wireplumber.configPackages = [
    (pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/99-alsa-low-latency.conf" ''
      "monitor.alsa.rules" = [
        {
          matches = [
            { "node.name" = "alsa_input.usb-Focusrite_Scarlett_4i4_4th_Gen_S49C91841831EB-00.*"; }
            { "node.name" = "alsa_output.usb-Focusrite_Scarlett_4i4_4th_Gen_S49C91841831EB-00.*"; }
          ];
          actions = {
            update-props = {
              "audio.rate" = 192000;
              "api.alsa.period-size" = 512;
              "api.alsa.period-num" = 3;
            };
          };
        }
      ];
    '')
  ];

  wireplumber.extraConfig = {
    "98-alsa-low-latency" = {
      "monitor.alsa.rules" = [
        {
          matches = [
            { "node.name" = "alsa_input.usb-Focusrite_Scarlett_4i4_4th_Gen_S49C91841831EB-00.*"; }
            { "node.name" = "alsa_output.usb-Focusrite_Scarlett_4i4_4th_Gen_S49C91841831EB-00.*"; }
          ];
          actions = {
            update-props = {
              "audio.rate" = 192000;
              "api.alsa.period-size" = 512;
              "api.alsa.period-num" = 3;
            };
          };
        }
      ];
    };
  };
15:43:43
@kjeremy:matrix.orgkjeremy How do I set my flake's inputs.nixpkgs to be from another flake input as in inputs.b.nixpkgs? 17:29:15
@kjeremy:matrix.orgkjeremy I was thinking something like nixpkgs = b.inputs.nixpkgs but that doesn't work 17:30:53
@mewp:nurupo.pl@mewp:nurupo.pl .follows 17:31:18
@mewp:nurupo.pl@mewp:nurupo.pl for example inputs.nixops.inputs.nixpkgs.follows = "dwarffs/nixpkgs"; 17:32:50
@kjeremy:matrix.orgkjeremy I understand that that's how you set the nixpkgs of nixops but I'm trying to set the top-level nixpkgs 17:33:56
@kjeremy:matrix.orgkjeremyah i think i got it.thank you. the "/" was the key17:34:52
25 May 2024
@ayyz12:matrix.org@ayyz12:matrix.org left the room.07:49:49
@hellwolf:matrix.orghellwolf joined the room.13:56:39
@hellwolf:matrix.orghellwolfHow should "overlays.default" in a flake actually be used? I try to use it in another flake. But I got "error: attribute 'overlay' missing"13:57:43

Show newer messages


Back to Room ListRoom Version: 6