Merge pull request #100120 from unode/cpupower-gui
linuxPackages.cpupower-gui: init at 1.0.0
This commit is contained in:
commit
3b2440afd0
@ -343,6 +343,7 @@
|
|||||||
./services/desktops/accountsservice.nix
|
./services/desktops/accountsservice.nix
|
||||||
./services/desktops/bamf.nix
|
./services/desktops/bamf.nix
|
||||||
./services/desktops/blueman.nix
|
./services/desktops/blueman.nix
|
||||||
|
./services/desktops/cpupower-gui.nix
|
||||||
./services/desktops/dleyna-renderer.nix
|
./services/desktops/dleyna-renderer.nix
|
||||||
./services/desktops/dleyna-server.nix
|
./services/desktops/dleyna-server.nix
|
||||||
./services/desktops/pantheon/files.nix
|
./services/desktops/pantheon/files.nix
|
||||||
|
56
nixos/modules/services/desktops/cpupower-gui.nix
Normal file
56
nixos/modules/services/desktops/cpupower-gui.nix
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.cpupower-gui;
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
services.cpupower-gui = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = ''
|
||||||
|
Enables dbus/systemd service needed by cpupower-gui.
|
||||||
|
These services are responsible for retrieving and modifying cpu power
|
||||||
|
saving settings.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ pkgs.cpupower-gui ];
|
||||||
|
services.dbus.packages = [ pkgs.cpupower-gui ];
|
||||||
|
systemd.user = {
|
||||||
|
services.cpupower-gui-user = {
|
||||||
|
description = "Apply cpupower-gui config at user login";
|
||||||
|
wantedBy = [ "graphical-session.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${pkgs.cpupower-gui}/bin/cpupower-gui config";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.services = {
|
||||||
|
cpupower-gui = {
|
||||||
|
description = "Apply cpupower-gui config at boot";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${pkgs.cpupower-gui}/bin/cpupower-gui config";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cpupower-gui-helper = {
|
||||||
|
description = "cpupower-gui system helper";
|
||||||
|
aliases = [ "dbus-org.rnd2.cpupower_gui.helper.service" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "dbus";
|
||||||
|
BusName = "org.rnd2.cpupower_gui.helper";
|
||||||
|
ExecStart = "${pkgs.cpupower-gui}/lib/cpupower-gui/cpupower-gui-helper";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
93
pkgs/os-specific/linux/cpupower-gui/default.nix
Normal file
93
pkgs/os-specific/linux/cpupower-gui/default.nix
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, buildPythonApplication
|
||||||
|
, appstream-glib
|
||||||
|
, dbus-python
|
||||||
|
, desktop-file-utils
|
||||||
|
, gettext
|
||||||
|
, glib
|
||||||
|
, gobject-introspection
|
||||||
|
, gtk3
|
||||||
|
, hicolor-icon-theme
|
||||||
|
, libappindicator
|
||||||
|
, libhandy
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkg-config
|
||||||
|
, pygobject3
|
||||||
|
, pyxdg
|
||||||
|
, systemd
|
||||||
|
, wrapGAppsHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonApplication rec {
|
||||||
|
pname = "cpupower-gui";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
# This packages doesn't have a setup.py
|
||||||
|
format = "other";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "vagnum08";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "05lvpi3wgyi741sd8lgcslj8i7yi3wz7jwl7ca3y539y50hwrdas";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
appstream-glib
|
||||||
|
desktop-file-utils # needed for update-desktop-database
|
||||||
|
gettext
|
||||||
|
glib # needed for glib-compile-schemas
|
||||||
|
gobject-introspection # need for gtk namespace to be available
|
||||||
|
hicolor-icon-theme # needed for postinstall script
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
wrapGAppsHook
|
||||||
|
|
||||||
|
# Python packages
|
||||||
|
dbus-python
|
||||||
|
libappindicator
|
||||||
|
pygobject3
|
||||||
|
pyxdg
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
libhandy
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
dbus-python
|
||||||
|
libappindicator
|
||||||
|
pygobject3
|
||||||
|
pyxdg
|
||||||
|
];
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
"-Dsystemddir=${placeholder "out"}/lib/systemd"
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
patchShebangs build-aux/meson/postinstall.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
strictDeps = false;
|
||||||
|
dontWrapGApps = true;
|
||||||
|
|
||||||
|
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
wrapPythonProgramsIn $out/lib "$out $propagatedBuildInputs"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Change the frequency limits of your cpu and its governor";
|
||||||
|
homepage = "https://github.com/vagnum08/cpupower-gui/";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ unode ];
|
||||||
|
};
|
||||||
|
}
|
@ -21138,6 +21138,10 @@ with pkgs;
|
|||||||
|
|
||||||
cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { };
|
cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { };
|
||||||
|
|
||||||
|
cpupower-gui = python3Packages.callPackage ../os-specific/linux/cpupower-gui {
|
||||||
|
inherit (pkgs) meson;
|
||||||
|
};
|
||||||
|
|
||||||
cpuset = callPackage ../os-specific/linux/cpuset {
|
cpuset = callPackage ../os-specific/linux/cpuset {
|
||||||
pythonPackages = python3Packages;
|
pythonPackages = python3Packages;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user