Compare commits
15 Commits
df41276392
...
fix-odysse
Author | SHA1 | Date | |
---|---|---|---|
2b255eadbb
|
|||
e113a6b280
|
|||
920df723ae
|
|||
ba2dd42e3e
|
|||
7ac7d21476
|
|||
bef12cd228
|
|||
6536bb12d1
|
|||
972af5d5e5
|
|||
92c6b765cf
|
|||
7e81e16301
|
|||
44cc7406f6
|
|||
9cc4470502
|
|||
2df8227ef9
|
|||
2c66879af9
|
|||
20004881bc
|
61
flake.lock
generated
61
flake.lock
generated
@ -3,11 +3,11 @@
|
|||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1698329218,
|
"lastModified": 1699621711,
|
||||||
"narHash": "sha256-OU6LyGeePS31pG7o10su7twDzDL5Z3a1sHtV68SzEwI=",
|
"narHash": "sha256-GUvBQbagF/7W1AriPVvJYA1cmk9Y/iWXghj3cIFYQzU=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "3cb70833903a560ac22f49d278e7ce955bf8395e",
|
"rev": "1c32013cdbe17406de496cdf5f6899b84c4bbfed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -23,11 +23,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1695108154,
|
"lastModified": 1699748081,
|
||||||
"narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=",
|
"narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "07682fff75d41f18327a871088d20af2710d4744",
|
"rev": "04bac349d585c9df38d78e0285b780a140dc74a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -37,49 +37,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixlib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1693701915,
|
|
||||||
"narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"rev": "f5af57d3ef9947a70ac86e42695231ac1ad00c25",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixos-generators": {
|
|
||||||
"inputs": {
|
|
||||||
"nixlib": "nixlib",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1696058303,
|
|
||||||
"narHash": "sha256-eNqKWpF5zG0SrgbbtljFOrRgFgRzCc4++TMFADBMLnc=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixos-generators",
|
|
||||||
"rev": "150f38bd1e09e20987feacb1b0d5991357532fb5",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixos-generators",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1699169573,
|
"lastModified": 1700097215,
|
||||||
"narHash": "sha256-cvUb1xZkvOp3W2SzylStrTirhVd9zCeo5utJl9nSIhw=",
|
"narHash": "sha256-ODQ3gBTv1iHd7lG21H+ErVISB5wVeOhd/dEogOqHs/I=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "aeefe2054617cae501809b82b44a8e8f7be7cc4b",
|
"rev": "9fb122519e9cd465d532f736a98c1e1eb541ef6f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -92,7 +56,6 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixos-generators": "nixos-generators",
|
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"thunderbird-gnome-theme": "thunderbird-gnome-theme"
|
"thunderbird-gnome-theme": "thunderbird-gnome-theme"
|
||||||
}
|
}
|
||||||
@ -100,11 +63,11 @@
|
|||||||
"thunderbird-gnome-theme": {
|
"thunderbird-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1695480543,
|
"lastModified": 1699285862,
|
||||||
"narHash": "sha256-lfQ4M4Jm/bxig3koPRAoSaS4bZScqkvtS+2vKDScNeg=",
|
"narHash": "sha256-3TQYBJAeQ2fPFxQnD5iKRKKWFlN3GJhz1EkdwE+4m0k=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "thunderbird-gnome-theme",
|
"repo": "thunderbird-gnome-theme",
|
||||||
"rev": "99620f1353689c9ac0a3fc389306faf2b9137fa8",
|
"rev": "a899ca12204d19f4834fbd092aa5bb05dc4bd127",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -3,10 +3,6 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-23.05";
|
nixpkgs.url = "nixpkgs/nixos-23.05";
|
||||||
nixos-generators = {
|
|
||||||
url = "github:nix-community/nixos-generators";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-23.05";
|
url = "github:nix-community/home-manager/release-23.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@ -21,7 +17,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ { self, nixpkgs, nixos-generators, home-manager, ... }:
|
outputs = inputs @ { self, nixpkgs, home-manager, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) attrValues;
|
inherit (lib) attrValues;
|
||||||
inherit (lib.my) mapModules mapModulesRec;
|
inherit (lib.my) mapModules mapModulesRec;
|
||||||
|
57
hosts/odyssey/0001-Update-device-ID-for-PreSonus-1824c.patch
Normal file
57
hosts/odyssey/0001-Update-device-ID-for-PreSonus-1824c.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
From c16be6b3b4da5a55e3ff4258ada123b5f03757e5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jordan Holt <jordan@vimium.com>
|
||||||
|
Date: Sun, 12 Nov 2023 12:13:39 +0000
|
||||||
|
Subject: [PATCH] Update device ID for PreSonus 1824c
|
||||||
|
|
||||||
|
---
|
||||||
|
sound/usb/format.c | 4 ++--
|
||||||
|
sound/usb/mixer_quirks.c | 2 +-
|
||||||
|
sound/usb/quirks.c | 4 ++--
|
||||||
|
3 files changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sound/usb/format.c b/sound/usb/format.c
|
||||||
|
index ab5fed9f55b6..da50a4782414 100644
|
||||||
|
--- a/sound/usb/format.c
|
||||||
|
+++ b/sound/usb/format.c
|
||||||
|
@@ -378,8 +378,8 @@ static int parse_uac2_sample_rate_range(struct snd_usb_audio *chip,
|
||||||
|
|
||||||
|
for (rate = min; rate <= max; rate += res) {
|
||||||
|
|
||||||
|
- /* Filter out invalid rates on Presonus Studio 1810c */
|
||||||
|
- if (chip->usb_id == USB_ID(0x194f, 0x010c) &&
|
||||||
|
+ /* Filter out invalid rates on Presonus Studio 1824c */
|
||||||
|
+ if (chip->usb_id == USB_ID(0x194f, 0x010d) &&
|
||||||
|
!s1810c_valid_sample_rate(fp, rate))
|
||||||
|
goto skip_rate;
|
||||||
|
|
||||||
|
diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c
|
||||||
|
index 898bc3baca7b..c3135459c38c 100644
|
||||||
|
--- a/sound/usb/mixer_quirks.c
|
||||||
|
+++ b/sound/usb/mixer_quirks.c
|
||||||
|
@@ -3445,7 +3445,7 @@ int snd_usb_mixer_apply_create_quirk(struct usb_mixer_interface *mixer)
|
||||||
|
err = snd_rme_controls_create(mixer);
|
||||||
|
break;
|
||||||
|
|
||||||
|
- case USB_ID(0x194f, 0x010c): /* Presonus Studio 1810c */
|
||||||
|
+ case USB_ID(0x194f, 0x010d): /* Presonus Studio 1824c */
|
||||||
|
err = snd_sc1810_init_mixer(mixer);
|
||||||
|
break;
|
||||||
|
case USB_ID(0x2a39, 0x3fb0): /* RME Babyface Pro FS */
|
||||||
|
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
|
||||||
|
index ab2b938502eb..b86832edaaa0 100644
|
||||||
|
--- a/sound/usb/quirks.c
|
||||||
|
+++ b/sound/usb/quirks.c
|
||||||
|
@@ -1551,8 +1551,8 @@ int snd_usb_apply_interface_quirk(struct snd_usb_audio *chip,
|
||||||
|
/* fasttrackpro usb: skip altsets incompatible with device_setup */
|
||||||
|
if (chip->usb_id == USB_ID(0x0763, 0x2012))
|
||||||
|
return fasttrackpro_skip_setting_quirk(chip, iface, altno);
|
||||||
|
- /* presonus studio 1810c: skip altsets incompatible with device_setup */
|
||||||
|
- if (chip->usb_id == USB_ID(0x194f, 0x010c))
|
||||||
|
+ /* presonus studio 1824c: skip altsets incompatible with device_setup */
|
||||||
|
+ if (chip->usb_id == USB_ID(0x194f, 0x010d))
|
||||||
|
return s1810c_skip_setting_quirk(chip, iface, altno);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
@ -19,6 +19,29 @@ with lib.my;
|
|||||||
|
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
environment.etc."pipewire/pipewire.conf.d/surround.conf".text = ''
|
||||||
|
context.modules = [
|
||||||
|
{
|
||||||
|
name = libpipewire-module-loopback
|
||||||
|
args = {
|
||||||
|
node.description = "1824c Surround"
|
||||||
|
capture.props = {
|
||||||
|
node.name = "1824c_Speakers"
|
||||||
|
media.class = "Audio/Sink"
|
||||||
|
audio.position = [ FL FR FC SL SR LFE ]
|
||||||
|
}
|
||||||
|
playback.props = {
|
||||||
|
node.name = "playback.1824c_Speakers"
|
||||||
|
audio.position = [ AUX0 AUX1 AUX2 AUX3 AUX4 AUX5 ]
|
||||||
|
target.object = "alsa_output.usb-PreSonus_Studio_1824c_SC4E21110775-00.multichannel-output"
|
||||||
|
stream.dont-remix = true
|
||||||
|
node.passive = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
|
||||||
nix.package = pkgs.nixFlakes;
|
nix.package = pkgs.nixFlakes;
|
||||||
nix.extraOptions = ''
|
nix.extraOptions = ''
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes
|
||||||
|
@ -3,7 +3,11 @@
|
|||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
let
|
||||||
|
snd-usb-audio-module = pkgs.callPackage ./snd-usb-audio.nix {
|
||||||
|
kernel = config.boot.kernelPackages.kernel;
|
||||||
|
};
|
||||||
|
in {
|
||||||
imports =
|
imports =
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
@ -11,7 +15,11 @@
|
|||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [
|
||||||
|
(snd-usb-audio-module.overrideAttrs (_: {
|
||||||
|
patches = [ ./0001-Update-device-ID-for-PreSonus-1824c.patch ];
|
||||||
|
}))
|
||||||
|
];
|
||||||
boot.supportedFilesystems = [ "ntfs" ];
|
boot.supportedFilesystems = [ "ntfs" ];
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
|
|
||||||
@ -36,6 +44,11 @@
|
|||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix" =
|
||||||
|
{ device = "rpool/local/nix";
|
||||||
|
fsType = "zfs";
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/tmp" =
|
fileSystems."/tmp" =
|
||||||
{ device = "rpool/local/tmp";
|
{ device = "rpool/local/tmp";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
|
36
hosts/odyssey/snd-usb-audio.nix
Normal file
36
hosts/odyssey/snd-usb-audio.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ pkgs, lib, kernel ? pkgs.linuxPackages_latest.kernel }:
|
||||||
|
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
pname = "snd-usb-audio";
|
||||||
|
inherit (kernel) src version postPatch nativeBuildInputs;
|
||||||
|
|
||||||
|
kernel_dev = kernel.dev;
|
||||||
|
kernelVersion = kernel.modDirVersion;
|
||||||
|
|
||||||
|
modulePath = "sound/usb";
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
BUILT_KERNEL=$kernel_dev/lib/modules/$kernelVersion/build
|
||||||
|
|
||||||
|
cp $BUILT_KERNEL/Module.symvers .
|
||||||
|
cp $BUILT_KERNEL/.config .
|
||||||
|
cp $kernel_dev/vmlinux .
|
||||||
|
|
||||||
|
make "-j$NIX_BUILD_CORES" modules_prepare
|
||||||
|
make "-j$NIX_BUILD_CORES" M=$modulePath modules
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
make \
|
||||||
|
INSTALL_MOD_PATH="$out" \
|
||||||
|
XZ="xz -T$NIX_BUILD_CORES" \
|
||||||
|
M="$modulePath" \
|
||||||
|
modules_install
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "USB Sound kernel module";
|
||||||
|
license = lib.licenses.gpl2;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -15,6 +15,8 @@ in {
|
|||||||
desktopManager.gnome.enable = true;
|
desktopManager.gnome.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"com/raggesilver/BlackBox" = {
|
"com/raggesilver/BlackBox" = {
|
||||||
@ -25,21 +27,23 @@ in {
|
|||||||
"org/gnome/shell" = {
|
"org/gnome/shell" = {
|
||||||
disable-user-extensions = false;
|
disable-user-extensions = false;
|
||||||
enabled-extensions = [
|
enabled-extensions = [
|
||||||
"another-window-session-manager@gmail.com"
|
# "another-window-session-manager@gmail.com"
|
||||||
"blur-my-shell@aunetx"
|
"blur-my-shell@aunetx"
|
||||||
"burn-my-windows@schneegans.github.com"
|
"burn-my-windows@schneegans.github.com"
|
||||||
"desktop-cube@schneegans.github.com"
|
# "desktop-cube@schneegans.github.com"
|
||||||
"desktop-zoom@colin.kinlo.ch"
|
# "desktop-zoom@colin.kinlo.ch"
|
||||||
"espresso@coadmunkee.github.com"
|
"espresso@coadmunkee.github.com"
|
||||||
|
"flypie@schneegans.github.com"
|
||||||
# "forge@jmmaranan.com"
|
# "forge@jmmaranan.com"
|
||||||
"hue-lights@chlumskyvaclav@gmail.com"
|
"hue-lights@chlumskyvaclav@gmail.com"
|
||||||
"just-perfection-desktop@just-perfection"
|
"just-perfection-desktop@just-perfection"
|
||||||
"search-light@icedman.github.com"
|
"paperwm@hedning:matrix.org"
|
||||||
"space-bar@luchrioh"
|
# "search-light@icedman.github.com"
|
||||||
|
# "space-bar@luchrioh"
|
||||||
# "smart-auto-move@khimaros.com"
|
# "smart-auto-move@khimaros.com"
|
||||||
# "systemd-manager@hardpixel.eu"
|
# "systemd-manager@hardpixel.eu"
|
||||||
# "tailscale-status@maxgallup.github.com"
|
# "tailscale-status@maxgallup.github.com"
|
||||||
"tiling-assistant@leleat-on-github"
|
# "tiling-assistant@leleat-on-github"
|
||||||
"Vitals@CoreCoding.com"
|
"Vitals@CoreCoding.com"
|
||||||
# "wsmatrix@martin.zurowietz.de"
|
# "wsmatrix@martin.zurowietz.de"
|
||||||
];
|
];
|
||||||
@ -74,6 +78,9 @@ in {
|
|||||||
"com.obsproject.Studio.desktop"
|
"com.obsproject.Studio.desktop"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
"org/gnome/shell/extensions/paperwm" = {
|
||||||
|
use-default-background = true;
|
||||||
|
};
|
||||||
"org/gnome/shell/extensions/forge" = {
|
"org/gnome/shell/extensions/forge" = {
|
||||||
window-gap-size = 8;
|
window-gap-size = 8;
|
||||||
window-gap-hidden-on-single = false;
|
window-gap-hidden-on-single = false;
|
||||||
@ -116,6 +123,9 @@ in {
|
|||||||
"<Shift>F11"
|
"<Shift>F11"
|
||||||
"XF86AudioLowerVolume"
|
"XF86AudioLowerVolume"
|
||||||
];
|
];
|
||||||
|
screensaver = [
|
||||||
|
"<Shift><Super>l"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
"org/gnome/gnome-session" = {
|
"org/gnome/gnome-session" = {
|
||||||
auto-save-session = true;
|
auto-save-session = true;
|
||||||
@ -168,11 +178,13 @@ in {
|
|||||||
gnomeExtensions.desktop-cube
|
gnomeExtensions.desktop-cube
|
||||||
gnomeExtensions.desktop-zoom
|
gnomeExtensions.desktop-zoom
|
||||||
gnomeExtensions.espresso
|
gnomeExtensions.espresso
|
||||||
|
gnome44Extensions."flypie@schneegans.github.com"
|
||||||
# gnomeExtensions.forge
|
# gnomeExtensions.forge
|
||||||
# gnomeExtensions.gsnap
|
# gnomeExtensions.gsnap
|
||||||
gnomeExtensions.hue-lights
|
gnomeExtensions.hue-lights
|
||||||
gnomeExtensions.just-perfection
|
gnomeExtensions.just-perfection
|
||||||
# gnomeExtensions.mutter-primary-gpu
|
# gnomeExtensions.mutter-primary-gpu
|
||||||
|
gnomeExtensions.paperwm
|
||||||
# gnomeExtensions.pip-on-top
|
# gnomeExtensions.pip-on-top
|
||||||
gnomeExtensions.search-light
|
gnomeExtensions.search-light
|
||||||
gnomeExtensions.smart-auto-move
|
gnomeExtensions.smart-auto-move
|
||||||
|
Reference in New Issue
Block a user