Compare commits
4 Commits
6c638c6afd
...
cb59a2e331
| Author | SHA1 | Date | |
|---|---|---|---|
| cb59a2e331 | |||
| cdd1bb750b | |||
| 1e82a29f5a | |||
| 3506d95e67 |
@@ -1,19 +1,7 @@
|
|||||||
self: super:
|
self: super:
|
||||||
{
|
{
|
||||||
ddccontrol = super.callPackage ../pkgs/ddccontrol {};
|
|
||||||
opencode-claude-auth = super.callPackage ../pkgs/opencode-claude-auth {};
|
opencode-claude-auth = super.callPackage ../pkgs/opencode-claude-auth {};
|
||||||
# Pin some kde packages to 6.3.1, 6.3.2 breaks thunderbolt
|
|
||||||
# kdePackages = super.kdePackages.overrideScope(kdeFinal: kdePrev: {
|
|
||||||
# kwin = kdePrev.kwin.overrideAttrs (prevAttrs: {
|
|
||||||
# src = super.fetchurl {
|
|
||||||
# url = "mirror://kde/stable/plasma/6.3.1/kwin-6.3.1.tar.xz";
|
|
||||||
# hash = "sha256-mlC6DqpiCXg73vu2aOV9DL36cc6Ov70X/kRtttdz8kI=";
|
|
||||||
# };
|
|
||||||
# version = "6.3.1";
|
|
||||||
# });
|
|
||||||
# });
|
|
||||||
linuxPackages = super.linuxPackages.extend (lpself: lpsuper: {
|
linuxPackages = super.linuxPackages.extend (lpself: lpsuper: {
|
||||||
acer-wmi-ext = lpsuper.callPackage ../pkgs/acer-wmi-ext {};
|
acer-wmi-ext = lpsuper.callPackage ../pkgs/acer-wmi-ext {};
|
||||||
acer-wmi-battery = lpsuper.callPackage ../pkgs/acer-wmi-battery {};
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
# Custom module for Acer WMI features, like battery charge limit
|
|
||||||
{
|
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
fetchFromGitHub,
|
|
||||||
kernel
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "acer-wmi-battery";
|
|
||||||
version = "0.0.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "frederik-h";
|
|
||||||
repo = "acer-wmi-battery";
|
|
||||||
rev = "0889d3ea54655eaa88de552b334911ce7375952f";
|
|
||||||
sha256 = "sha256-mI6Ob9BmNfwqT3nndWf3jkz8f7tV10odkTnfApsNo+A=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ kernel.moduleBuildDependencies ];
|
|
||||||
|
|
||||||
# Makefile provided in repo is useless, hardcoded paths, not using it
|
|
||||||
|
|
||||||
setSourceRoot = ''
|
|
||||||
export sourceRoot=$(pwd)/source
|
|
||||||
'';
|
|
||||||
|
|
||||||
makeFlags = [
|
|
||||||
"-C"
|
|
||||||
"${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
|
||||||
"M=$(sourceRoot)"
|
|
||||||
];
|
|
||||||
|
|
||||||
patchPhase = ''
|
|
||||||
cat > Kbuild <<EOF
|
|
||||||
obj-m := acer-wmi-battery.o
|
|
||||||
EOF
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildFlags = [ "modules" ];
|
|
||||||
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
|
|
||||||
installTargets = [ "modules_install" ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Acer WMI kernel module for battery charge limit";
|
|
||||||
homepage = "https://github.com/frederik-h/acer-wmi-battery";
|
|
||||||
license = lib.licenses.gpl2;
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -11,10 +11,10 @@ stdenv.mkDerivation {
|
|||||||
version = "0.0.0";
|
version = "0.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "TenSeventy7";
|
owner = "Lumpiasty";
|
||||||
repo = "acer-wmi-ext";
|
repo = "acer-wmi-ext";
|
||||||
rev = "78aaf9392e1fbdd62c3ec9944e9615505485ec04";
|
rev = "71bc84f4729eb53e7786aaed37957c6d91ce0cfd";
|
||||||
sha256 = "sha256-AmhBnZiy7llYqHB9gD6T7lK4L2qhtl5pBWAf+H+V8hE=";
|
sha256 = "sha256-eMKEVgEFaBB1oDL5mlmnJyEj24jzi8HsISl3cCzstD8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ kernel.moduleBuildDependencies ];
|
nativeBuildInputs = [ kernel.moduleBuildDependencies ];
|
||||||
@@ -31,19 +31,6 @@ stdenv.mkDerivation {
|
|||||||
"M=$(sourceRoot)"
|
"M=$(sourceRoot)"
|
||||||
];
|
];
|
||||||
|
|
||||||
patchPhase = ''
|
|
||||||
# Add support for Acer Swift 14 (SFG14-63) model
|
|
||||||
# Using values found by playing with performance settings in acer's software on windows
|
|
||||||
# https://github.com/hirschmann/nbfc/wiki/Probe-the-EC's-registers
|
|
||||||
# Also, disable USB control because not sure, need to verify
|
|
||||||
patch -p1 < ${./sfg14-63.patch}
|
|
||||||
|
|
||||||
# Create Kbuild file for module
|
|
||||||
cat > Kbuild <<EOF
|
|
||||||
obj-m := acer-wmi-ext.o
|
|
||||||
EOF
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildFlags = [ "modules" ];
|
buildFlags = [ "modules" ];
|
||||||
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
|
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
|
||||||
installTargets = [ "modules_install" ];
|
installTargets = [ "modules_install" ];
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
diff --git a/acer-wmi-ext.c b/acer-wmi-ext.c
|
|
||||||
index 24112bf..7829c19 100644
|
|
||||||
--- a/acer-wmi-ext.c
|
|
||||||
+++ b/acer-wmi-ext.c
|
|
||||||
@@ -69,9 +69,9 @@ struct set_battery_health_control_output {
|
|
||||||
|
|
||||||
enum battery_mode { HEALTH_MODE = 1, CALIBRATION_MODE = 2 };
|
|
||||||
|
|
||||||
-#define ACER_SYSTEM_CONTROL_MODE_EC_OFFSET 0x45
|
|
||||||
+#define ACER_SYSTEM_CONTROL_MODE_EC_OFFSET 0x10
|
|
||||||
enum system_control_mode {
|
|
||||||
- SYSTEM_CONTROL_BALANCED = 1,
|
|
||||||
+ SYSTEM_CONTROL_BALANCED = 0,
|
|
||||||
SYSTEM_CONTROL_SILENT = 2,
|
|
||||||
SYSTEM_CONTROL_PERFORMANCE = 3,
|
|
||||||
};
|
|
||||||
@@ -146,9 +146,9 @@ static struct quirk_entry quirk_unknown = {
|
|
||||||
static struct quirk_entry quirk_acer_system_control_mode = {
|
|
||||||
.system_control_mode = 1,
|
|
||||||
};
|
|
||||||
-static struct quirk_entry quirk_acer_sfg174_73 = {
|
|
||||||
+static struct quirk_entry quirk_acer_sfg14_63 = {
|
|
||||||
.system_control_mode = 1, // Enable system control mode for this model
|
|
||||||
- .usb_charge_mode = 1, // Enable USB charge mode for this model
|
|
||||||
+ .usb_charge_mode = 0, // Disable USB charge mode for this model
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
@@ -165,12 +165,12 @@ static int __init dmi_matched(const struct dmi_system_id *dmi)
|
|
||||||
static const struct dmi_system_id acer_quirks[] __initconst = {
|
|
||||||
{
|
|
||||||
.callback = dmi_matched,
|
|
||||||
- .ident = "Acer Swift SFG14-73",
|
|
||||||
+ .ident = "Acer Swift SFG14-63",
|
|
||||||
.matches = {
|
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
|
||||||
- DMI_MATCH(DMI_PRODUCT_NAME, "Swift SFG14-73"),
|
|
||||||
+ DMI_MATCH(DMI_PRODUCT_NAME, "Swift SFG14-63"),
|
|
||||||
},
|
|
||||||
- .driver_data = &quirk_acer_sfg174_73,
|
|
||||||
+ .driver_data = &quirk_acer_sfg14_63,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
fetchFromGitHub,
|
|
||||||
fetchpatch,
|
|
||||||
autoreconfHook,
|
|
||||||
intltool,
|
|
||||||
libxml2,
|
|
||||||
pciutils,
|
|
||||||
pkg-config,
|
|
||||||
gtk2,
|
|
||||||
ddccontrol-db,
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "ddccontrol";
|
|
||||||
version = "1.0.3";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "ddccontrol";
|
|
||||||
repo = "ddccontrol";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "sha256-qyD6i44yH3EufIW+LA/LBMW20Tejb49zvsDfv6YFD6c=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
autoreconfHook
|
|
||||||
intltool
|
|
||||||
pkg-config
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
libxml2
|
|
||||||
pciutils
|
|
||||||
gtk2
|
|
||||||
ddccontrol-db
|
|
||||||
];
|
|
||||||
|
|
||||||
configureFlags = [
|
|
||||||
"--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
|
|
||||||
];
|
|
||||||
|
|
||||||
prePatch = ''
|
|
||||||
substituteInPlace configure.ac \
|
|
||||||
--replace \
|
|
||||||
"\$""{datadir}/ddccontrol-db" \
|
|
||||||
"${ddccontrol-db}/share/ddccontrol-db"
|
|
||||||
|
|
||||||
substituteInPlace src/ddcpci/Makefile.am \
|
|
||||||
--replace "chmod 4711" "chmod 0711"
|
|
||||||
'';
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
intltoolize --force
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Program used to control monitor parameters by software";
|
|
||||||
homepage = "https://github.com/ddccontrol/ddccontrol";
|
|
||||||
license = licenses.gpl2Plus;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with lib.maintainers; [ pakhfn ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user