Unverified Commit c42b24b3 authored by andre4ik3's avatar andre4ik3 Committed by GitHub
Browse files

nixos/apple-touchbar: init module (#350219)

parent 457396d4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -190,6 +190,8 @@

- [Zapret](https://github.com/bol-van/zapret), a DPI bypass tool. Available as [services.zapret](option.html#opt-services.zapret).

- [tiny-dfr](https://github.com/WhatAmISupposedToPutHere/tiny-dfr), a dynamic function row daemon for the Touch Bar found on some Apple laptops. Available as [hardware.apple.touchBar.enable](options.html#opt-hardware.apple.touchBar.enable).

## Backward Incompatibilities {#sec-release-24.11-incompatibilities}

- The `sound` options have been removed or renamed, as they had a lot of unintended side effects. See [below](#sec-release-24.11-migration-sound) for details.
+43 −0
Original line number Diff line number Diff line
{
  config,
  lib,
  pkgs,
  ...
}:

let
  cfg = config.hardware.apple.touchBar;
  format = pkgs.formats.toml { };
  cfgFile = format.generate "config.toml" cfg.settings;
in
{
  options.hardware.apple.touchBar = {
    enable = lib.mkEnableOption "support for the Touch Bar on some Apple laptops using tiny-dfr";
    package = lib.mkPackageOption pkgs "tiny-dfr" { };

    settings = lib.mkOption {
      type = format.type;
      default = { };
      description = ''
        Configuration for tiny-dfr. See [example configuration][1] for available options.

        [1]: https://github.com/WhatAmISupposedToPutHere/tiny-dfr/blob/master/share/tiny-dfr/config.toml
      '';
      example = lib.literalExpression ''
        {
          MediaLayerDefault = true;
          ShowButtonOutlines = false;
          EnablePixelShift = true;
        }
      '';
    };
  };

  config = lib.mkIf cfg.enable {
    systemd.packages = [ cfg.package ];
    services.udev.packages = [ cfg.package ];

    environment.etc."tiny-dfr/config.toml".source = cfgFile;
    systemd.services.tiny-dfr.restartTriggers = [ cfgFile ];
  };
}
+1 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@
  ./config/zram.nix
  ./hardware/acpilight.nix
  ./hardware/all-firmware.nix
  ./hardware/apple-touchbar.nix
  ./hardware/bladeRF.nix
  ./hardware/brillo.nix
  ./hardware/ckb-next.nix