Skip to content

About

A recoded, remastered CLI version of TempInfo supporting Linux.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

TempInfoCLI icon

๐ŸŒก๏ธ TempInfoCLI v0.3.0

A live, color-coded temperature dashboard for your terminal.
A CLI port of the Windows TempInfo hardware monitor. Run it with tempinfo.

version v0.3.0 python 3.8+ nix flake MIT license

Linux: complete macOS: best effort Windows: best effort

TempInfoCLI dashboard preview

Real readings from a Ryzen 7 9800X3D desktop with both its integrated Radeon and an RTX 5070 Ti, captured with tempinfo v0.2.0.

โœจ What it does

  • ๐Ÿ”„ Live dashboard that refreshes in place (default every second). Ctrl-C exits cleanly.
  • ๐Ÿท๏ธ Names every device: your CPU model, motherboard, each drive, the Wi-Fi card, and every GPU, each in its own panel.
  • ๐ŸŽฎ iGPU and dGPU side by side: integrated and discrete GPUs are both shown and tagged, e.g. AMD Radeon 610M (iGPU) next to NVIDIA GeForce RTX 5070 Ti (dGPU).
  • ๐ŸŽจ Color by thermal headroom: every reading gets a bar and a color for how close it is to its limit.
  • ๐Ÿ–ฑ๏ธ App-menu entry with its own icon: launching it opens your default terminal running tempinfo.
  • ๐Ÿšซ Never makes numbers up: if nothing can be read, it says "no sensors readable".
  • ๐Ÿ”’ Read-only: it reads sensors and draws them. It never changes anything on your system.

๐ŸŽจ Color thresholds

Drives get hot sooner than CPUs, so each kind of sensor has its own limits:

Sensor Cool Warm Hot
CPU / GPU cool warm hot
Motherboard / other cool warm hot
Storage (NVMe / SSD) cool warm hot
Fans neutral

๐Ÿ–ฅ๏ธ Platform support

Platform Coverage
๐Ÿง Linux / NixOS Complete: every hwmon sensor (CPU, motherboard, NVMe/SATA, AMD/Intel GPUs, Wi-Fi, fans), plus NVIDIA GPUs through the driver's NVML library. Devices are named from /proc/cpuinfo, DMI, drive models, and lspci
๐ŸŽ macOS Best effort: powermetrics, which needs root. Run sudo tempinfo; otherwise you get "no sensors readable"
๐ŸชŸ Windows Best effort: ACPI thermal zones via WMI/PowerShell (usually needs an Administrator terminal), plus NVIDIA GPUs through NVML

NVIDIA GPUs are read straight from the driver library, so nvidia-smi isn't needed and readings still work when nvidia-smi itself is broken.

โ„๏ธ Install with Nix flakes (NixOS)

TempInfoCLI is not in nixpkgs. The repo ships its own flake instead, so you add it as a flake input.

Try it without installing

nix run github:fatumorg/TempInfoCLI

Add it to your NixOS configuration

1. Add the input to your system flake.nix:

{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";

    tempinfocli = {
      url = "github:fatumorg/TempInfoCLI";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
}

inputs.nixpkgs.follows makes TempInfoCLI build against your system's nixpkgs instead of pulling a second copy.

2. Pass inputs through to your modules in the same file:

{
  outputs = { nixpkgs, ... }@inputs: {
    nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      specialArgs = { inherit inputs; };
      modules = [ ./configuration.nix ];
    };
  };
}

3. Install the package. System-wide, in configuration.nix:

{ pkgs, inputs, ... }:
{
  environment.systemPackages = [
    inputs.tempinfocli.packages.${pkgs.stdenv.hostPlatform.system}.default
  ];
}

Or for one user with Home Manager, in home.nix. This needs home-manager.extraSpecialArgs = { inherit inputs; }; in your flake:

{ pkgs, inputs, ... }:
{
  home.packages = [
    inputs.tempinfocli.packages.${pkgs.stdenv.hostPlatform.system}.default
  ];
}

4. Rebuild:

sudo nixos-rebuild switch --flake .#myhost
tempinfo

The package also installs the TempInfoCLI app-menu entry and its icon, so it shows up in your launcher right after the rebuild.

Updating and pinning

Goal How
Update to the latest commit nix flake update tempinfocli, then rebuild
Pin to this release url = "github:fatumorg/TempInfoCLI/v0.3.0";
Install without NixOS (any Nix) nix profile install github:fatumorg/TempInfoCLI
Hack on it nix develop inside a clone

Without flakes

From a clone, nix-shell builds the package from default.nix and puts tempinfo on your PATH. Or build it standalone with nix-build && ./result/bin/tempinfo.

๐Ÿ“ฆ Install from source (any OS)

git clone https://github.com/fatumorg/TempInfoCLI
cd TempInfoCLI
pip install -e .
tempinfo

On Linux, install pciutils (for lspci) to get full GPU and Wi-Fi names. Without it, those panels fall back to driver names such as amdgpu.

๐Ÿš€ Usage

Command What it does
tempinfo live dashboard
tempinfo --once print one snapshot and exit
tempinfo --json print sensors as JSON and exit
tempinfo --stream print one JSON line per refresh, for bars and widgets
tempinfo --interval 2 refresh every 2s (minimum 0.2)
tempinfo --no-color plain output
tempinfo --version print tempinfo 0.3.0

When the output is piped or redirected, tempinfo prints one snapshot instead of the live view.

--json gives one object per sensor, including the device it belongs to and the warn and hot thresholds behind the colours (null for readings that are not temperatures):

[
  {
    "group": "amdgpu",
    "label": "edge",
    "value": 46.0,
    "unit": "ยฐC",
    "kind": "gpu",
    "device": "AMD Radeon 610M (iGPU)",
    "warn": 75,
    "hot": 90
  },
  {
    "group": "nvidia",
    "label": "GPU core",
    "value": 52.0,
    "unit": "ยฐC",
    "kind": "gpu",
    "device": "NVIDIA GeForce RTX 5070 Ti (dGPU)",
    "warn": 75,
    "hot": 90
  }
]

--stream keeps running and prints one line per --interval, each one {"time": <ms>, "sensors": [...]} with the same objects, flushed right away. It is meant for other programs, such as the SylTemp plugin in Sylvaris.

๐Ÿ–ฑ๏ธ App-menu entry / shortcut

TempInfoCLI icon

  • โ„๏ธ Nix: nothing to do. The package ships tempinfo.desktop and the icon. Your launcher runs it in your default terminal.
  • ๐Ÿง Linux (pip): run ./packaging/linux/install-desktop-entry.sh to add the same entry and icon under ~/.local/share.
  • ๐ŸชŸ Windows: double-click packaging\windows\install-shortcut.bat (or run the .ps1) to add Desktop and Start Menu shortcuts that open a console running tempinfo.

๐Ÿงช Tests

pip install pytest && pytest

The Nix build runs the same suite.

๐Ÿ“„ License

MIT, see LICENSE.

About

A recoded, remastered CLI version of TempInfo supporting Linux.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages