NotAShelf
d8f609fdef
{core,battery}: better input validation; path, permission and sanity checks
...
- battery: add path existence and writability check for threshold support
- cpu: validate governor and EPP values, and add frequency validation
- engine: validate turbo auto settings for proper configuration
- main: add validation for minimum and maximum frequency inputs
2025-05-16 00:02:09 +03:00
NotAShelf
7b6602ad39
docs: mention profile-specific tresholds taking precedence
2025-05-16 00:01:38 +03:00
raf
1546da382e
Merge pull request #21 from diniamo/nix-package-no-empty-config
...
nix: add package option, avoid config file on empty settings
2025-05-15 23:43:07 +03:00
NotAShelf
6fe322272e
core: validate tresholds at the CLI level
2025-05-15 23:20:08 +03:00
diniamo
723ce1b7b8
nix: add package option, avoid empty config, move to services
2025-05-15 22:17:11 +02:00
NotAShelf
90fd077a67
config: make ProfileConfig
serialisable
2025-05-15 22:58:47 +03:00
NotAShelf
b11bad74d5
battery: perform permission checks upfront
2025-05-15 22:54:02 +03:00
NotAShelf
705fc6c46d
battery: use a reference to SupportedBattery
instead of clones
2025-05-15 22:20:02 +03:00
NotAShelf
7c34ef5aa0
engine: try to handle systems with multiple batteries
2025-05-15 22:07:15 +03:00
NotAShelf
620dc48be0
engine: apply governor override via try_apply_feature
2025-05-15 22:01:45 +03:00
NotAShelf
b215afc9dd
config: streamline treshold validation
2025-05-15 21:46:57 +03:00
NotAShelf
759ba2a10a
battery: tighten treshhold validation
2025-05-15 21:07:05 +03:00
NotAShelf
ded671296a
engine: treat InvalidValueError
same as NotSupported
2025-05-15 21:03:07 +03:00
NotAShelf
44fff2e273
battery: treshold patterns to a constant array
2025-05-15 20:48:44 +03:00
NotAShelf
b9cce7b634
config: prefer a named struct over tuple for battery conf
2025-05-15 20:32:59 +03:00
NotAShelf
45b6672c64
battery: avoid manual flatten; capture each Err
2025-05-15 20:10:23 +03:00
NotAShelf
36807f66c4
core: move batter logic out of cpu module; better hw detection
2025-05-15 20:06:24 +03:00
NotAShelf
587d6a070f
treewide: apply clippy lints; remove dead code
2025-05-15 17:28:56 +03:00
NotAShelf
099e5c4ba6
docs: mention battery management; update sample config
2025-05-15 17:18:43 +03:00
NotAShelf
09a38dd136
core: battery limit management
2025-05-15 17:05:14 +03:00
raf
5531358da2
Merge pull request #19 from NotAShelf/better-sysfs-errs
...
cpu: streamline governor setting; consolidate sharaed logic
2025-05-15 00:10:07 +03:00
NotAShelf
00805d2808
cpu: streamline governor setting; consolidate sharaed logic
2025-05-15 00:05:06 +03:00
raf
61a6f11495
Merge pull request #18 from NotAShelf/better-sysfs-errs
...
cpu: handle sysfs errors more gracefully
2025-05-14 22:22:43 +03:00
NotAShelf
58ba603afc
cpu: handle sysfs errors more gracefully
2025-05-14 18:58:06 +03:00
Bloxx12
8229d7d1fd
nix: fix module assertion
2025-05-14 12:41:39 +02:00
raf
a7cb492b34
Merge pull request #16 from NotAShelf/xdg-base-spec
...
config: follow XDG base spec
2025-05-14 12:47:49 +03:00
Bloxx12
1645c921d7
config: follow XDG base spec
...
moves /etc/superfreq/config.toml to /etc/xdg/superfreq/config.toml
to follow xdg base spec more closely.
2025-05-14 11:38:05 +02:00
NotAShelf
78490f7c08
ci: create tags from Crate version
2025-05-14 03:49:44 +03:00
NotAShelf
6f26a98b37
cli: improve debug cmd output
2025-05-14 03:46:37 +03:00
NotAShelf
b7f374c32c
core: switch to log
for proper logging
2025-05-14 02:57:37 +03:00
NotAShelf
02a11eb9db
docs: include license information in README
2025-05-14 02:38:53 +03:00
NotAShelf
8f04194f95
nix: package superfreq; add NixOS module
2025-05-14 02:37:23 +03:00
NotAShelf
fd23e1b9aa
release under MPL
2025-05-14 02:34:16 +03:00
NotAShelf
09b4b0e5bb
docs: add project README
2025-05-14 02:29:56 +03:00
NotAShelf
fad56e6e1e
core: improve formatting & display for info
command
2025-05-14 02:05:12 +03:00
raf
166dc5a6a5
Merge pull request #13 from NotAShelf/config-watcher
...
config: config watcher and hotreload
2025-05-14 01:45:47 +03:00
NotAShelf
498d179aa8
config: improve watcher; debounce
2025-05-14 01:39:47 +03:00
NotAShelf
262c70fb85
cpu: support AMD properly
2025-05-14 01:23:50 +03:00
NotAShelf
9f7d86ff01
config: modularize; add config watcher and move error variants
2025-05-14 01:17:42 +03:00
raf
ea84a2997b
Merge pull request #10 from NotAShelf/push-lxumomvptrmq
...
Push lxumomvptrmq
2025-05-14 01:04:32 +03:00
NotAShelf
dde938b638
cli: more command logic to a dedicated module; add debug cmd
2025-05-14 01:04:29 +03:00
Bloxx12
c12f8eda7b
monitor: cleanup
2025-05-13 23:45:55 +02:00
Bloxx12
7e537016d2
cpu: create get_logical_core_count
2025-05-13 23:31:35 +02:00
Bloxx12
7d6164c2fe
util/error: init
2025-05-13 23:31:35 +02:00
Bloxx12
e6015cf0f1
cpu: cleanup get_platform_profiles
2025-05-13 23:25:11 +02:00
raf
25db531651
Merge pull request #12 from NotAShelf/daemon-mode
...
daemon: add conflict detection and governor override
2025-05-14 00:07:16 +03:00
NotAShelf
72ebbf3761
daemon: add conflict detection and governor override
...
Also adds governor override functionality allowing users to persistently force
a specific CPU governor mode.
2025-05-13 23:55:27 +03:00
NotAShelf
4bf4ab5673
daemon: less verbosity by default; fine-tune via config
2025-05-13 22:49:16 +03:00
NotAShelf
48bf7508aa
core: init daemon mode for persistent operations
2025-05-13 22:28:16 +03:00
NotAShelf
e6e46e18a8
monitor: CPU average temp calculation
2025-05-13 20:56:38 +03:00