alpha
Login
or
Join now
lass.pds.lassul.us
/
superconfig
Star
0
Fork
1
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
1
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
1
Pipelines
rtl-sdr: remove tetra testing stuff
author
lassulus
date
9 months ago
(Jan 11, 2026, 2:50 PM CET)
commit
fba6ccb4
fba6ccb4c2829a93299d0958640a9f93e225f807
parent
8c3f933b
8c3f933b20c500d04f2cad454e1fef40e63ca217
+122
-4
2 changed files
Expand all
Collapse all
Unified
Split
2configs
rtl-sdr.nix
machines
xerxes
gpd-win-mini-2025-pipewire.nix
-4
2configs/rtl-sdr.nix
View file
Reviewed
···
14
14
# SDR and TETRA tools
15
15
environment.systemPackages = [
16
16
pkgs.rtl-sdr-blog # V4 compatible drivers and tools
17
17
-
pkgs.gqrx # SDR receiver with spectrum analyzer
18
18
-
pkgs.sox # Audio processing for recordings
19
19
-
self.packages.${pkgs.system}.tetra-kit
20
20
-
self.packages.${pkgs.system}.tetra-receiver
21
17
];
22
18
}
+122
machines/xerxes/gpd-win-mini-2025-pipewire.nix
View file
Reviewed
···
1
1
+
# GPD Win Mini 2025 PipeWire EQ configuration
2
2
+
# Based on https://github.com/aarron-lee/gpd-win-tricks/tree/main/win_mini_equalizer
3
3
+
# Credit: @BrotherChenwk from the GPD Discord
4
4
+
{ pkgs, lib, config, ... }:
5
5
+
6
6
+
let
7
7
+
# The ALSA output device - may need adjustment based on PCI enumeration
8
8
+
# Use `pactl list sinks short` or `pw-cli list-objects | grep alsa_output` to find the correct device
9
9
+
alsaDevice = "alsa_output.pci-0000_63_00.6.analog-stereo";
10
10
+
11
11
+
pipewireConfig = pkgs.writeTextDir "share/pipewire/pipewire.conf.d/gpd-win-mini-2025.conf" ''
12
12
+
# GPD Win Mini 2025 speaker EQ
13
13
+
# Compensates for the small speakers' frequency response deficiencies
14
14
+
context.modules = [
15
15
+
{ name = libpipewire-module-filter-chain
16
16
+
args = {
17
17
+
node.description = "GPD Win Mini EQ"
18
18
+
media.name = "GPD Win Mini EQ"
19
19
+
filter.graph = {
20
20
+
nodes = [
21
21
+
{
22
22
+
type = builtin
23
23
+
name = eq_band_1
24
24
+
label = bq_lowshelf
25
25
+
control = { "Freq" = 32.0 "Q" = 1.41 "Gain" = -10.0 }
26
26
+
}
27
27
+
{
28
28
+
type = builtin
29
29
+
name = eq_band_2
30
30
+
label = bq_peaking
31
31
+
control = { "Freq" = 64.0 "Q" = 1.41 "Gain" = -10.0 }
32
32
+
}
33
33
+
{
34
34
+
type = builtin
35
35
+
name = eq_band_3
36
36
+
label = bq_peaking
37
37
+
control = { "Freq" = 125.0 "Q" = 1.41 "Gain" = 6.0 }
38
38
+
}
39
39
+
{
40
40
+
type = builtin
41
41
+
name = eq_band_4
42
42
+
label = bq_peaking
43
43
+
control = { "Freq" = 250.0 "Q" = 1.41 "Gain" = -3.0 }
44
44
+
}
45
45
+
{
46
46
+
type = builtin
47
47
+
name = eq_band_5
48
48
+
label = bq_peaking
49
49
+
control = { "Freq" = 500.0 "Q" = 1.41 "Gain" = 0.0 }
50
50
+
}
51
51
+
{
52
52
+
type = builtin
53
53
+
name = eq_band_6
54
54
+
label = bq_peaking
55
55
+
control = { "Freq" = 1000.0 "Q" = 1.41 "Gain" = -1.0 }
56
56
+
}
57
57
+
{
58
58
+
type = builtin
59
59
+
name = eq_band_7
60
60
+
label = bq_peaking
61
61
+
control = { "Freq" = 2000.0 "Q" = 1.41 "Gain" = -1.0 }
62
62
+
}
63
63
+
{
64
64
+
type = builtin
65
65
+
name = eq_band_8
66
66
+
label = bq_peaking
67
67
+
control = { "Freq" = 4000.0 "Q" = 1.41 "Gain" = 0.0 }
68
68
+
}
69
69
+
{
70
70
+
type = builtin
71
71
+
name = eq_band_9
72
72
+
label = bq_peaking
73
73
+
control = { "Freq" = 8000.0 "Q" = 1.41 "Gain" = 2.0 }
74
74
+
}
75
75
+
{
76
76
+
type = builtin
77
77
+
name = eq_band_10
78
78
+
label = bq_peaking
79
79
+
control = { "Freq" = 16000.0 "Q" = 2.0 "Gain" = 6.0 }
80
80
+
}
81
81
+
{
82
82
+
type = builtin
83
83
+
name = eq_band_11
84
84
+
label = bq_highshelf
85
85
+
control = { "Freq" = 0.0 "Q" = 1.0 "Gain" = 15.0 }
86
86
+
}
87
87
+
]
88
88
+
links = [
89
89
+
{ output = "eq_band_1:Out" input = "eq_band_2:In" }
90
90
+
{ output = "eq_band_2:Out" input = "eq_band_3:In" }
91
91
+
{ output = "eq_band_3:Out" input = "eq_band_4:In" }
92
92
+
{ output = "eq_band_4:Out" input = "eq_band_5:In" }
93
93
+
{ output = "eq_band_5:Out" input = "eq_band_6:In" }
94
94
+
{ output = "eq_band_6:Out" input = "eq_band_7:In" }
95
95
+
{ output = "eq_band_7:Out" input = "eq_band_8:In" }
96
96
+
{ output = "eq_band_8:Out" input = "eq_band_9:In" }
97
97
+
{ output = "eq_band_9:Out" input = "eq_band_10:In" }
98
98
+
{ output = "eq_band_10:Out" input = "eq_band_11:In" }
99
99
+
]
100
100
+
}
101
101
+
102
102
+
audio.channels = 2
103
103
+
audio.position = [ FL FR ]
104
104
+
capture.props = {
105
105
+
node.name = "GPD Win Mini EQ"
106
106
+
media.class = Audio/Sink
107
107
+
priority.driver = 1009
108
108
+
priority.session = 1009
109
109
+
}
110
110
+
playback.props = {
111
111
+
node.name = "GPD Win Mini EQ Fixed"
112
112
+
node.passive = true
113
113
+
node.target = "${alsaDevice}"
114
114
+
}
115
115
+
}
116
116
+
}
117
117
+
]
118
118
+
'';
119
119
+
in
120
120
+
{
121
121
+
services.pipewire.configPackages = [ pipewireConfig ];
122
122
+
}