Commit graph

23 commits

Author SHA1 Message Date
0c294d348b
various: fix clippy lints
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Icbd2ba104c66907208cb37adf0c3915a6a6a6964
2026-03-25 17:10:27 +03:00
99e033c415
system: use std::env::var_os over libc helpers
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2747d4b065095314a1d454a204a251c96a6a6964
2026-03-25 17:07:27 +03:00
Uzair Aftab
8376e9d323
perf: use libc to fetch env vars 2025-11-30 18:01:11 +01:00
75132ff172
treewide: remove nix dependency, add custom syscall wrappers & UtsName
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib880f4bafe9d3bbc944af4b9125256366a6a6964
2025-11-17 21:29:15 +03:00
f4f3385ff7
various: fix clippy warnings
- Adds proper documentation comments with `# Errors` sections for all
  functions returning `Result`
- `cast_precision_loss` on `u64` -> `f64` for disk sizes is acceptable
  since disk sizes won't exceed f64's precision limit in practice.
  Thus, we can suppress those.
- `cast_sign_loss` and `cast_possible_truncation` on the percentage
  calculation is safe since percentages are always 0-100. Once again,
  it's safe to suppress.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id4dd7ebc9674407d2be4f38ff4de24bc6a6a6964
2025-11-17 18:26:34 +03:00
2ad765ef98
various: reduce allocations where available
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I517d855b14c015569a325deb64948f3b6a6a6964
2025-11-17 18:11:45 +03:00
2a6fe2a3f1
treewide: set up Hotpath for benchmarking individual allocations
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0351e5753996e6d0391fc9e2f329878a6a6a6964
2025-11-17 17:40:46 +03:00
9bd4c9a70a
treewide: format with nightly rustfmt rules
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib8502372dafe2e970024f606b44825af6a6a6964
2025-11-17 16:20:43 +03:00
ErrorNoInternet
c139026704
refactor: clean up a few things
I've decided to keep lazy_static for now as std::sync::LazyLock seems to
have a slightly bigger impact on binary size.
2025-04-15 03:46:15 -04:00
592fb58474
get rid of color_eyre
Should never have added it. Annoyingly long compile times for no reason...
2025-01-26 00:57:02 +03:00
065216af7c
colors: respect NO_COLOR spec
Microfetch will now respect the NO_COLOR environment variable if it has
been passed to the program. The performance overhead of this operation
is almost none. In addition, the main function has been updated to lock
stdout.
2024-12-19 17:21:56 +03:00
Ryan
907112f2d1
micro optimizations (#8)
* perf: break early after parsing required meminfo

Also a match statement for compiler magic.

* perf: pre-allocate strings when reading files

* refactor: remove duplicate .to_string()

* perf: try to print everything in one syscall

println! sends a syscall for each line.

* perf: get rid of duplicate uname syscall

* perf: simplify first letter capitalization

* refactor: directly use key in match statement
2024-08-15 10:32:02 +00:00
Ryan
1cf4f754ac
parse /proc/meminfo for memory usage (#7)
* fix: calculate memory usage via /proc/meminfo

* refactor: move sysinfo call into get_current

No longer used by anything but uptime.
2024-08-15 08:14:27 +00:00
vali
4d509839f5
pass sysinfo to system.rs and uptime.rs (#6)
Some checks are pending
Rust / build (push) Waiting to run
2024-08-15 00:29:57 +00:00
Sora
ae76a0cbe1
refactor: remove some redundant error types (#4) 2024-08-13 20:59:11 +00:00
7bed1f583b
use color_eyre::Result in most functions 2024-08-05 01:37:32 +03:00
e3112dba1d
trim shell name to omit store path 2024-08-04 17:18:27 +03:00
a44db5e5f3
shell name & colors in output 2024-08-04 13:07:27 +03:00
81cdc0a281
speeding it up 2024-08-04 12:44:19 +03:00
0e4b2d2ac1
cleanup 2024-08-04 00:05:57 +03:00
42a7f2fc77
apply clippy lints 2024-08-03 23:04:26 +03:00
aae5f71004
use nix crate instead of libc
Provides a higher level and lighter alternative.
2024-08-03 20:56:02 +03:00
29e4ccc806
modularize 2024-08-03 20:42:48 +03:00