Commit daaab4b1 authored by William Edwards's avatar William Edwards
Browse files

nixos/powerstation: init

parent 0cf542bc
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -123,6 +123,8 @@

- [InputPlumber](https://github.com/ShadowBlip/InputPlumber/), an open source input router and remapper daemon for Linux. Available as [services.inputplumber](#opt-services.inputplumber.enable).

- [PowerStation](https://github.com/ShadowBlip/PowerStation/), an open source TDP control and performance daemon with DBus interface for Linux. Available as [services.powerstation](#opt-services.powerstation.enable).

- [echoip](https://github.com/mpolden/echoip), a simple service for looking up your IP address. Available as [services.echoip](#opt-services.echoip.enable).

- [Buffyboard](https://gitlab.postmarketos.org/postmarketOS/buffybox/-/tree/master/buffyboard), a framebuffer on-screen keyboard. Available as [services.buffyboard](option.html#opt-services.buffyboard).
+1 −0
Original line number Diff line number Diff line
@@ -631,6 +631,7 @@
  ./services/hardware/pcscd.nix
  ./services/hardware/pommed.nix
  ./services/hardware/power-profiles-daemon.nix
  ./services/hardware/powerstation.nix
  ./services/hardware/rasdaemon.nix
  ./services/hardware/ratbagd.nix
  ./services/hardware/sane.nix
+37 −0
Original line number Diff line number Diff line
{
  config,
  lib,
  pkgs,
  ...
}:

let
  cfg = config.services.powerstation;
in
{
  options.services.powerstation = {
    enable = lib.mkEnableOption "PowerStation";
    package = lib.mkPackageOption pkgs "powerstation" { };
  };

  config = lib.mkIf cfg.enable {
    environment.systemPackages = [ cfg.package ];

    systemd.services.powerstation = {
      description = "PowerStation Service";
      wantedBy = [ "multi-user.target" ];
      after = [ "graphical-session.target" ];
      environment = {
        XDG_DATA_DIRS = "/run/current-system/sw/share";
      };

      serviceConfig = {
        User = "root";
        Group = "root";
        ExecStart = lib.getExe cfg.package;
      };
    };
  };

  meta.maintainers = with lib.maintainers; [ shadowapex ];
}