summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/hw
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs/hw')
-rw-r--r--makefu/2configs/hw/bluetooth.nix39
-rw-r--r--makefu/2configs/hw/irtoy.nix15
-rw-r--r--makefu/2configs/hw/network-manager.nix3
-rw-r--r--makefu/2configs/hw/rad1o.nix19
4 files changed, 74 insertions, 2 deletions
diff --git a/makefu/2configs/hw/bluetooth.nix b/makefu/2configs/hw/bluetooth.nix
new file mode 100644
index 000000000..85c3190ff
--- /dev/null
+++ b/makefu/2configs/hw/bluetooth.nix
@@ -0,0 +1,39 @@
+{ pkgs, ... }:
+{ # bluetooth+pulse config
+# for blueman-applet
+ users.users.makefu.packages = [
+ pkgs.blueman
+ ];
+ hardware.pulseaudio = {
+ enable = true;
+ package = pkgs.pulseaudioFull;
+# systemWide = true;
+ support32Bit = true;
+ configFile = pkgs.writeText "default.pa" ''
+ load-module module-udev-detect
+ load-module module-bluetooth-policy
+ load-module module-bluetooth-discover
+ load-module module-native-protocol-unix
+ load-module module-always-sink
+ load-module module-console-kit
+ load-module module-systemd-login
+ load-module module-intended-roles
+ load-module module-position-event-sounds
+ load-module module-filter-heuristics
+ load-module module-filter-apply
+ load-module module-switch-on-connect
+ load-module module-switch-on-port-available
+ '';
+ };
+
+# presumably a2dp Sink
+# Enable profile:
+## pacmd set-card-profile "$(pactl list cards short | egrep -o bluez_card[[:alnum:]._]+)" a2dp_sink
+ hardware.bluetooth.extraConfig = '';
+ [general]
+ Enable=Source,Sink,Media,Socket
+ '';
+
+# connect via https://nixos.wiki/wiki/Bluetooth#Using_Bluetooth_headsets_with_PulseAudio
+ hardware.bluetooth.enable = true;
+}
diff --git a/makefu/2configs/hw/irtoy.nix b/makefu/2configs/hw/irtoy.nix
new file mode 100644
index 000000000..688f1b2b9
--- /dev/null
+++ b/makefu/2configs/hw/irtoy.nix
@@ -0,0 +1,15 @@
+{ config, lib, pkgs, ... }:
+
+{
+
+ users.users.makefu.packages = with pkgs; [
+ lirc
+ ];
+
+ users.extraUsers.${config.krebs.build.user.name}.extraGroups = [ "dialout" ];
+
+ services.udev.extraRules = ''
+ SUBSYSTEMS=="usb", ATTRS{idProduct}=="fd08", ATTRS{idVendor}=="04d8", SYMLINK+="irtoy", MODE="0666", GROUP="dialout"
+ '';
+}
+
diff --git a/makefu/2configs/hw/network-manager.nix b/makefu/2configs/hw/network-manager.nix
index 7e29849b1..d322c683d 100644
--- a/makefu/2configs/hw/network-manager.nix
+++ b/makefu/2configs/hw/network-manager.nix
@@ -11,9 +11,8 @@
systemd.services.modemmanager = {
description = "ModemManager";
- after = [ "network-manager.service" ];
bindsTo = [ "network-manager.service" ];
- wantedBy = [ "network-manager.service" ];
+ wantedBy = [ "network-manager.service" "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.modemmanager}/bin/ModemManager";
PrivateTmp = true;
diff --git a/makefu/2configs/hw/rad1o.nix b/makefu/2configs/hw/rad1o.nix
new file mode 100644
index 000000000..6eca69e0c
--- /dev/null
+++ b/makefu/2configs/hw/rad1o.nix
@@ -0,0 +1,19 @@
+{ config, lib, pkgs, ... }:
+
+{
+
+ environment.systemPackages = with pkgs; [
+ gnuradio-with-packages
+ gnuradio-osmosdr
+ gqrx
+ ];
+
+ users.extraUsers.${config.krebs.build.user.name}.extraGroups = [ "dialout" ];
+
+ services.udev.extraRules = ''
+ ATTR{idVendor}=="1d50", ATTR{idProduct}=="604b", SYMLINK+="hackrf-jawbreaker-%k", MODE="0666", GROUP="dialout"
+ ATTR{idVendor}=="1d50", ATTR{idProduct}=="6089", SYMLINK+="hackrf-one-%k", MODE="0666", GROUP="dialout"
+ ATTR{idVendor}=="1d50", ATTR{idProduct}=="cc15", SYMLINK+="rad1o-%k", MODE="0666", GROUP="dialout"
+ ATTR{idVendor}=="1fc9", ATTR{idProduct}=="000c", SYMLINK+="nxp-dfu-%k", MODE="0666", GROUP="dialout"
+ '';
+}