feat(flake): use flake-parts
This commit is contained in:
parent
611584a0be
commit
e2a0172e2d
14 changed files with 576 additions and 489 deletions
|
|
@ -74,54 +74,56 @@
|
|||
services.tlp.enable = true;
|
||||
powerManagement.enable = true;
|
||||
|
||||
# Hibernare on low battery
|
||||
systemd.timers.hibernate-on-low-battery = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
timerConfig = {
|
||||
OnUnitActiveSec = "120";
|
||||
OnBootSec = "120";
|
||||
systemd = {
|
||||
# Hibernare on low battery
|
||||
timers.hibernate-on-low-battery = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
timerConfig = {
|
||||
OnUnitActiveSec = "120";
|
||||
OnBootSec = "120";
|
||||
};
|
||||
};
|
||||
services.hibernate-on-low-battery =
|
||||
let
|
||||
batteryLevelSufficient =
|
||||
let
|
||||
batteryPath = "/sys/class/power_supply/BATT";
|
||||
in
|
||||
pkgs.writeShellScriptBin "battery-level-sufficient" ''
|
||||
test "$(cat ${batteryPath}/status)" != Discharging \
|
||||
|| test "$(cat ${batteryPath}/capacity)" -ge 5
|
||||
'';
|
||||
in
|
||||
{
|
||||
serviceConfig.Type = "oneshot";
|
||||
onFailure = [ "hibernate.target" ];
|
||||
script = "${batteryLevelSufficient}/bin/battery-level-sufficient";
|
||||
};
|
||||
services.asus-touchpad-numpad = {
|
||||
description = "Activate Numpad inside the touchpad with top right corner switch";
|
||||
documentation = [ "https://github.com/mohamed-badaoui/asus-touchpad-numpad-driver" ];
|
||||
path = [ pkgs.i2c-tools ];
|
||||
script = ''
|
||||
cd ${inputs.asus-touchpad-numpad-driver}
|
||||
# In the last argument here you choose your layout.
|
||||
${
|
||||
pkgs.python3.withPackages (ps: [ps.libevdev])
|
||||
}/bin/python asus_touchpad.py m433ia
|
||||
'';
|
||||
# Probably needed because it fails on boot seemingly because the driver
|
||||
# is not ready yet. Alternativly, you can use `sleep 3` or similar in the
|
||||
# `script`.
|
||||
serviceConfig = {
|
||||
RestartSec = "1s";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
};
|
||||
systemd.services.hibernate-on-low-battery =
|
||||
let
|
||||
batteryLevelSufficient =
|
||||
let
|
||||
batteryPath = "/sys/class/power_supply/BATT";
|
||||
in
|
||||
pkgs.writeShellScriptBin "battery-level-sufficient" ''
|
||||
test "$(cat ${batteryPath}/status)" != Discharging \
|
||||
|| test "$(cat ${batteryPath}/capacity)" -ge 5
|
||||
'';
|
||||
in
|
||||
{
|
||||
serviceConfig.Type = "oneshot";
|
||||
onFailure = [ "hibernate.target" ];
|
||||
script = "${batteryLevelSufficient}/bin/battery-level-sufficient";
|
||||
};
|
||||
|
||||
# Trackpad
|
||||
# i2c for https://github.com/mohamed-badaoui/asus-touchpad-numpad-driver
|
||||
hardware.i2c.enable = true;
|
||||
systemd.services.asus-touchpad-numpad = {
|
||||
description = "Activate Numpad inside the touchpad with top right corner switch";
|
||||
documentation = [ "https://github.com/mohamed-badaoui/asus-touchpad-numpad-driver" ];
|
||||
path = [ pkgs.i2c-tools ];
|
||||
script = ''
|
||||
cd ${inputs.asus-touchpad-numpad-driver}
|
||||
# In the last argument here you choose your layout.
|
||||
${
|
||||
pkgs.python3.withPackages (ps: [ps.libevdev])
|
||||
}/bin/python asus_touchpad.py m433ia
|
||||
'';
|
||||
# Probably needed because it fails on boot seemingly because the driver
|
||||
# is not ready yet. Alternativly, you can use `sleep 3` or similar in the
|
||||
# `script`.
|
||||
serviceConfig = {
|
||||
RestartSec = "1s";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
|
|
|
|||
|
|
@ -2,12 +2,16 @@
|
|||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ modulesPath
|
||||
, lib
|
||||
, ...
|
||||
}: {
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
boot = {
|
||||
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "rtsx_pci_sdmmc" ];
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
extraModulePackages = [ ];
|
||||
};
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
"x86_64-linux"
|
||||
Loading…
Add table
Add a link
Reference in a new issue