aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/nixos/modules/services/hardware
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/nixos/modules/services/hardware')
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/hardware/bluetooth.nix34
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/hardware/fwupd.nix18
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/hardware/lcd.nix5
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/hardware/sane.nix2
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/hardware/thermald.nix11
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/hardware/tlp.nix2
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/hardware/udev.nix6
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/hardware/undervolt.nix46
8 files changed, 93 insertions, 31 deletions
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/bluetooth.nix b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/bluetooth.nix
index dfa39e7f6024..6f5a6d3bf288 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/bluetooth.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/bluetooth.nix
@@ -15,6 +15,8 @@ in {
hardware.bluetooth = {
enable = mkEnableOption "support for Bluetooth";
+ hsphfpd.enable = mkEnableOption "support for hsphfpd[-prototype] implementation";
+
powerOnBoot = mkOption {
type = types.bool;
default = true;
@@ -72,7 +74,8 @@ in {
};
};
- environment.systemPackages = [ bluez-bluetooth ];
+ environment.systemPackages = [ bluez-bluetooth ]
+ ++ optionals cfg.hsphfpd.enable [ pkgs.hsphfpd ];
environment.etc."bluetooth/main.conf"= {
source = pkgs.writeText "main.conf"
@@ -80,19 +83,42 @@ in {
};
services.udev.packages = [ bluez-bluetooth ];
- services.dbus.packages = [ bluez-bluetooth ];
+ services.dbus.packages = [ bluez-bluetooth ]
+ ++ optionals cfg.hsphfpd.enable [ pkgs.hsphfpd ];
systemd.packages = [ bluez-bluetooth ];
systemd.services = {
bluetooth = {
wantedBy = [ "bluetooth.target" ];
aliases = [ "dbus-org.bluez.service" ];
+ # restarting can leave people without a mouse/keyboard
+ unitConfig.X-RestartIfChanged = false;
};
- };
+ }
+ // (optionalAttrs cfg.hsphfpd.enable {
+ hsphfpd = {
+ after = [ "bluetooth.service" ];
+ requires = [ "bluetooth.service" ];
+ wantedBy = [ "multi-user.target" ];
+
+ description = "A prototype implementation used for connecting HSP/HFP Bluetooth devices";
+ serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/hsphfpd.pl";
+ };
+ })
+ ;
systemd.user.services = {
obex.aliases = [ "dbus-org.bluez.obex.service" ];
- };
+ }
+ // (optionalAttrs cfg.hsphfpd.enable {
+ telephony_client = {
+ wantedBy = [ "default.target"];
+
+ description = "telephony_client for hsphfpd";
+ serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/telephony_client.pl";
+ };
+ })
+ ;
};
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/fwupd.nix b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/fwupd.nix
index 222ac8e487eb..51eca19dca32 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/fwupd.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/fwupd.nix
@@ -11,8 +11,8 @@ let
"fwupd/daemon.conf" = {
source = pkgs.writeText "daemon.conf" ''
[fwupd]
- BlacklistDevices=${lib.concatStringsSep ";" cfg.blacklistDevices}
- BlacklistPlugins=${lib.concatStringsSep ";" cfg.blacklistPlugins}
+ DisabledDevices=${lib.concatStringsSep ";" cfg.disabledDevices}
+ DisabledPlugins=${lib.concatStringsSep ";" cfg.disabledPlugins}
'';
};
"fwupd/uefi.conf" = {
@@ -59,21 +59,21 @@ in {
'';
};
- blacklistDevices = mkOption {
+ disabledDevices = mkOption {
type = types.listOf types.str;
default = [];
example = [ "2082b5e0-7a64-478a-b1b2-e3404fab6dad" ];
description = ''
- Allow blacklisting specific devices by their GUID
+ Allow disabling specific devices by their GUID
'';
};
- blacklistPlugins = mkOption {
+ disabledPlugins = mkOption {
type = types.listOf types.str;
default = [];
example = [ "udev" ];
description = ''
- Allow blacklisting specific plugins
+ Allow disabling specific plugins
'';
};
@@ -105,11 +105,15 @@ in {
};
};
+ imports = [
+ (mkRenamedOptionModule [ "services" "fwupd" "blacklistDevices"] [ "services" "fwupd" "disabledDevices" ])
+ (mkRenamedOptionModule [ "services" "fwupd" "blacklistPlugins"] [ "services" "fwupd" "disabledPlugins" ])
+ ];
###### implementation
config = mkIf cfg.enable {
# Disable test related plug-ins implicitly so that users do not have to care about them.
- services.fwupd.blacklistPlugins = cfg.package.defaultBlacklistedPlugins;
+ services.fwupd.disabledPlugins = cfg.package.defaultDisabledPlugins;
environment.systemPackages = [ cfg.package ];
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/lcd.nix b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/lcd.nix
index d78d742cd318..dc8595ea60cd 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/lcd.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/lcd.nix
@@ -151,14 +151,13 @@ in with lib; {
description = "LCDproc - client";
after = [ "lcdd.service" ];
wantedBy = [ "lcd.target" ];
+ # Allow restarting for eternity
+ startLimitIntervalSec = lib.mkIf cfg.client.restartForever 0;
serviceConfig = serviceCfg // {
ExecStart = "${pkg}/bin/lcdproc -f -c ${clientCfg}";
# If the server is being restarted at the same time, the client will
# fail as it cannot connect, so space it out a bit.
RestartSec = "5";
- # Allow restarting for eternity
- StartLimitIntervalSec = lib.mkIf cfg.client.restartForever "0";
- StartLimitBurst = lib.mkIf cfg.client.restartForever "0";
};
};
};
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/sane.nix b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/sane.nix
index b344dfc20610..03070a8f9e7c 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/sane.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/sane.nix
@@ -148,7 +148,7 @@ in
# saned needs to distinguish between IPv4 and IPv6 to open matching data sockets.
BindIPv6Only = "ipv6-only";
Accept = true;
- MaxConnections = 1;
+ MaxConnections = 64;
};
};
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/thermald.nix b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/thermald.nix
index b7be0e89d0c6..241490c5aae7 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/thermald.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/thermald.nix
@@ -23,15 +23,6 @@ in {
default = null;
description = "the thermald manual configuration file.";
};
-
- adaptive = mkOption {
- type = types.bool;
- default = false;
- description = ''
- Whether to enable adaptive mode, only working on kernel versions greater than 5.8.
- Thermald will detect this itself, safe to enable on kernel versions below 5.8.
- '';
- };
};
};
@@ -48,8 +39,8 @@ in {
--no-daemon \
${optionalString cfg.debug "--loglevel=debug"} \
${optionalString (cfg.configFile != null) "--config-file ${cfg.configFile}"} \
- ${optionalString cfg.adaptive "--adaptive"} \
--dbus-enable
+ --adaptive
'';
};
};
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/tlp.nix b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/tlp.nix
index 4230f2edd279..eb53f565a67f 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/tlp.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/tlp.nix
@@ -39,7 +39,7 @@ in
default = "";
description = ''
Verbatim additional configuration variables for TLP.
- DEPRECATED: use services.tlp.config instead.
+ DEPRECATED: use services.tlp.settings instead.
'';
};
};
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/udev.nix b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/udev.nix
index 587b9b0234aa..a212adb7342d 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/udev.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/udev.nix
@@ -57,8 +57,8 @@ let
substituteInPlace $i \
--replace \"/sbin/modprobe \"${pkgs.kmod}/bin/modprobe \
--replace \"/sbin/mdadm \"${pkgs.mdadm}/sbin/mdadm \
- --replace \"/sbin/blkid \"${pkgs.utillinux}/sbin/blkid \
- --replace \"/bin/mount \"${pkgs.utillinux}/bin/mount \
+ --replace \"/sbin/blkid \"${pkgs.util-linux}/sbin/blkid \
+ --replace \"/bin/mount \"${pkgs.util-linux}/bin/mount \
--replace /usr/bin/readlink ${pkgs.coreutils}/bin/readlink \
--replace /usr/bin/basename ${pkgs.coreutils}/bin/basename
done
@@ -280,7 +280,7 @@ in
services.udev.packages = [ extraUdevRules extraHwdbFile ];
- services.udev.path = [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.utillinux udev ];
+ services.udev.path = [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.util-linux udev ];
boot.kernelParams = mkIf (!config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ];
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/undervolt.nix b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/undervolt.nix
index 054ffa35050a..9c2f78a755dd 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/hardware/undervolt.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/hardware/undervolt.nix
@@ -3,7 +3,12 @@
with lib;
let
cfg = config.services.undervolt;
- cliArgs = lib.cli.toGNUCommandLineShell {} {
+
+ mkPLimit = limit: window:
+ if (isNull limit && isNull window) then null
+ else assert asserts.assertMsg (!isNull limit && !isNull window) "Both power limit and window must be set";
+ "${toString limit} ${toString window}";
+ cliArgs = lib.cli.toGNUCommandLine {} {
inherit (cfg)
verbose
temp
@@ -21,6 +26,9 @@ let
temp-bat = cfg.tempBat;
temp-ac = cfg.tempAc;
+
+ power-limit-long = mkPLimit cfg.p1.limit cfg.p1.window;
+ power-limit-short = mkPLimit cfg.p2.limit cfg.p2.window;
};
in
{
@@ -104,6 +112,40 @@ in
'';
};
+ p1.limit = mkOption {
+ type = with types; nullOr int;
+ default = null;
+ description = ''
+ The P1 Power Limit in Watts.
+ Both limit and window must be set.
+ '';
+ };
+ p1.window = mkOption {
+ type = with types; nullOr (oneOf [ float int ]);
+ default = null;
+ description = ''
+ The P1 Time Window in seconds.
+ Both limit and window must be set.
+ '';
+ };
+
+ p2.limit = mkOption {
+ type = with types; nullOr int;
+ default = null;
+ description = ''
+ The P2 Power Limit in Watts.
+ Both limit and window must be set.
+ '';
+ };
+ p2.window = mkOption {
+ type = with types; nullOr (oneOf [ float int ]);
+ default = null;
+ description = ''
+ The P2 Time Window in seconds.
+ Both limit and window must be set.
+ '';
+ };
+
useTimer = mkOption {
type = types.bool;
default = false;
@@ -133,7 +175,7 @@ in
serviceConfig = {
Type = "oneshot";
Restart = "no";
- ExecStart = "${pkgs.undervolt}/bin/undervolt ${cliArgs}";
+ ExecStart = "${pkgs.undervolt}/bin/undervolt ${toString cliArgs}";
};
};