Compare commits
2 commits
8cf59981d4
...
3a64f7f9a4
Author | SHA1 | Date | |
---|---|---|---|
|
3a64f7f9a4 | ||
|
38dfa39c6d |
36
flake.lock
36
flake.lock
|
@ -209,11 +209,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739353546,
|
"lastModified": 1739841949,
|
||||||
"narHash": "sha256-YTqXhBZvCdZLMBupWlCDvRFaTEhaHa2/Xc/p1sUdSZU=",
|
"narHash": "sha256-lSOXdgW/1zi/SSu7xp71v+55D5Egz8ACv0STkj7fhbs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "26ade1005191e0602a78b0f141970648445bafd9",
|
"rev": "15dbf8cebd8e2655a883b74547108e089f051bf0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -440,11 +440,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736373539,
|
"lastModified": 1739757849,
|
||||||
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
|
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
|
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -481,11 +481,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739071773,
|
"lastModified": 1739676768,
|
||||||
"narHash": "sha256-/Ak+Quinhmdxa9m3shjm4lwwwqmzG8zzGhhhhgR1k9I=",
|
"narHash": "sha256-U1HQ7nzhJyVVXUgjU028UCkbLQLEIkg42+G7iIiBmlU=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "895d81b6228bbd50a6ef22f5a58a504ca99763ea",
|
"rev": "ae15068e79e22b76c344f0d7f8aed1bb1c5b0b63",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -551,11 +551,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739446958,
|
"lastModified": 1739736696,
|
||||||
"narHash": "sha256-+/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc=",
|
"narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2ff53fe64443980e139eaa286017f53f88336dd0",
|
"rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -612,11 +612,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739357830,
|
"lastModified": 1739758141,
|
||||||
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
|
"narHash": "sha256-uq6A2L7o1/tR6VfmYhZWoVAwb3gTy7j4Jx30MIrH0rE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
|
"rev": "c618e28f70257593de75a7044438efc1c1fc0791",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -922,11 +922,11 @@
|
||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738953846,
|
"lastModified": 1739829690,
|
||||||
"narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=",
|
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "4f09b473c936d41582dd744e19f34ec27592c5fd",
|
"rev": "3d0579f5cc93436052d94b73925b48973a104204",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
undervoltGpu = pkgs.writeShellScript "undervolt-gpu" ''
|
undervoltGpu = pkgs.writeShellScript "undervolt-gpu" ''
|
||||||
set -xe
|
set -xe
|
||||||
|
@ -17,17 +17,6 @@ in
|
||||||
"amdgpu.ppfeaturemask=0xfffd7fff" # enable undervolting
|
"amdgpu.ppfeaturemask=0xfffd7fff" # enable undervolting
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services.amd-fan-control = {
|
|
||||||
script = ''
|
|
||||||
${lib.getExe pkgs.amd-fan-control} /sys/class/drm/card1/device 60 85
|
|
||||||
'';
|
|
||||||
serviceConfig = {
|
|
||||||
Restart = "always";
|
|
||||||
RestartSec = 10;
|
|
||||||
};
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.graphics.enable32Bit = true;
|
hardware.graphics.enable32Bit = true;
|
||||||
|
|
||||||
hardware.graphics.extraPackages = with pkgs; [
|
hardware.graphics.extraPackages = with pkgs; [
|
||||||
|
|
|
@ -1,61 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
DEVICE="$1" # eg: /sys/class/drm/card1/device
|
|
||||||
HWMON=$(echo "$DEVICE"/hwmon/hwmon*)
|
|
||||||
|
|
||||||
exit() {
|
|
||||||
echo "Setting controll to auto" >&2
|
|
||||||
echo 2 > "$HWMON/pwm1_enable"
|
|
||||||
}
|
|
||||||
|
|
||||||
trap exit EXIT INT
|
|
||||||
|
|
||||||
bail() {
|
|
||||||
echo "Error: $@" >&2
|
|
||||||
echo "Exiting..." >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
if ! [ -d "$HWMON" ]; then
|
|
||||||
bail "Invalid HWMON"
|
|
||||||
fi
|
|
||||||
|
|
||||||
TEMP_INPUT="$HWMON/temp2_input"
|
|
||||||
|
|
||||||
if ! [ -f $TEMP_INPUT ]; then
|
|
||||||
bail "Invalid TEMP_INPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
TEMP_MIN="$2"
|
|
||||||
TEMP_MAX="$3"
|
|
||||||
|
|
||||||
if [ -z "$TEMP_MIN" ];then
|
|
||||||
bail "No minimum temperature provided"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$TEMP_MAX" ];then
|
|
||||||
bail "No maximum temperature provided"
|
|
||||||
fi
|
|
||||||
|
|
||||||
PWM_MIN=0
|
|
||||||
PWM_MAX=255
|
|
||||||
|
|
||||||
echo "Running..." >&2
|
|
||||||
while true; do
|
|
||||||
TEMPERATURE_RAW=$(cat "$TEMP_INPUT")
|
|
||||||
TEMPERATURE="$(( $TEMPERATURE_RAW / 1000 ))"
|
|
||||||
# Remap from a number between 60_000..90_000 to 0..255
|
|
||||||
PWM=$(( ($TEMPERATURE - $TEMP_MIN) * $PWM_MAX / ($TEMP_MAX - $TEMP_MIN) ))
|
|
||||||
|
|
||||||
if [ "$PWM" -gt $PWM_MAX ]; then
|
|
||||||
PWM=$PWM_MAX
|
|
||||||
elif [ "$PWM" -lt $PWM_MIN ]; then
|
|
||||||
PWM=$PWM_MIN
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo 1 > "$HWMON/pwm1_enable"
|
|
||||||
echo "$PWM" > "$HWMON/pwm1"
|
|
||||||
sleep .1s
|
|
||||||
done
|
|
|
@ -23,7 +23,6 @@
|
||||||
in
|
in
|
||||||
with final;
|
with final;
|
||||||
createScripts {
|
createScripts {
|
||||||
amd-fan-control = [ bash ];
|
|
||||||
br = [ ];
|
br = [ ];
|
||||||
bmenu = [
|
bmenu = [
|
||||||
bemenu
|
bemenu
|
||||||
|
|
Loading…
Reference in a new issue