diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-11-29 18:48:07 +0100 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-11-29 18:48:07 +0100 |
commit | cbd9aec4bf2e488156f5dc101271d572af0cd2ca (patch) | |
tree | 57c7b6397084c1c386aab1a25f1fa93e84480338 /pkgs/by-name/ya/yambar-modules | |
parent | fix(modules/lf/cmds/set_clipboard_path): Provide feedback to the user (diff) | |
download | nixos-config-cbd9aec4bf2e488156f5dc101271d572af0cd2ca.tar.gz nixos-config-cbd9aec4bf2e488156f5dc101271d572af0cd2ca.zip |
chore(pkgs/by-name/ya/{cpu,memory}): Merge
There is no reason to keep these two programs separate.
Diffstat (limited to 'pkgs/by-name/ya/yambar-modules')
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/.envrc | 2 | ||||
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/.gitignore | 1 | ||||
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/Cargo.lock | 131 | ||||
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/Cargo.toml | 9 | ||||
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/flake.lock | 61 | ||||
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/flake.nix | 32 | ||||
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/package.nix | 14 | ||||
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/src/cpu.rs | 21 | ||||
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/src/main.rs | 26 | ||||
-rw-r--r-- | pkgs/by-name/ya/yambar-modules/src/memory.rs | 29 |
10 files changed, 326 insertions, 0 deletions
diff --git a/pkgs/by-name/ya/yambar-modules/.envrc b/pkgs/by-name/ya/yambar-modules/.envrc new file mode 100644 index 00000000..2f9f1a81 --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/.envrc @@ -0,0 +1,2 @@ +#!/usr/bin/env sh +use flake diff --git a/pkgs/by-name/ya/yambar-modules/.gitignore b/pkgs/by-name/ya/yambar-modules/.gitignore new file mode 100644 index 00000000..ea8c4bf7 --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/.gitignore @@ -0,0 +1 @@ +/target diff --git a/pkgs/by-name/ya/yambar-modules/Cargo.lock b/pkgs/by-name/ya/yambar-modules/Cargo.lock new file mode 100644 index 00000000..6b689d29 --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/Cargo.lock @@ -0,0 +1,131 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "libc" +version = "0.2.167" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" + +[[package]] +name = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ + "winapi", +] + +[[package]] +name = "once_cell" +version = "1.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "sysinfo" +version = "0.28.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c2f3ca6693feb29a89724516f016488e9aafc7f37264f898593ee4b942f31b" +dependencies = [ + "cfg-if", + "core-foundation-sys", + "libc", + "ntapi", + "once_cell", + "rayon", + "winapi", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "yambar-modules" +version = "0.1.0" +dependencies = [ + "sysinfo", +] diff --git a/pkgs/by-name/ya/yambar-modules/Cargo.toml b/pkgs/by-name/ya/yambar-modules/Cargo.toml new file mode 100644 index 00000000..8e3995fe --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "yambar-modules" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +sysinfo = "0.28.4" diff --git a/pkgs/by-name/ya/yambar-modules/flake.lock b/pkgs/by-name/ya/yambar-modules/flake.lock new file mode 100644 index 00000000..8043448e --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1732617236, + "narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/pkgs/by-name/ya/yambar-modules/flake.nix b/pkgs/by-name/ya/yambar-modules/flake.nix new file mode 100644 index 00000000..e3d0cd49 --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/flake.nix @@ -0,0 +1,32 @@ +{ + description = "Extension modules for yambar(1)"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { + nixpkgs, + flake-utils, + ... + }: + flake-utils.lib.eachDefaultSystem (system: let + pkgs = nixpkgs.legacyPackages."${system}"; + in { + devShells.default = pkgs.mkShell { + packages = with pkgs; [ + # rust stuff + cargo + clippy + rustc + rustfmt + + cargo-edit + cargo-expand + ]; + }; + }); +} +# vim: ts=2 + diff --git a/pkgs/by-name/ya/yambar-modules/package.nix b/pkgs/by-name/ya/yambar-modules/package.nix new file mode 100644 index 00000000..79281429 --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/package.nix @@ -0,0 +1,14 @@ +{rustPlatform}: +rustPlatform.buildRustPackage { + pname = "yambar-modules"; + version = "0.1.0"; + + src = ./.; + cargoLock = { + lockFile = ./Cargo.lock; + }; + + meta = { + mainProgram = "yambar-modules"; + }; +} diff --git a/pkgs/by-name/ya/yambar-modules/src/cpu.rs b/pkgs/by-name/ya/yambar-modules/src/cpu.rs new file mode 100644 index 00000000..5a6dd084 --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/src/cpu.rs @@ -0,0 +1,21 @@ +use std::{thread, time::Duration}; + +use sysinfo::{CpuExt, System, SystemExt}; + +pub fn cpu() { + let mut sys = System::new(); + + loop { + sys.refresh_cpu(); + let cpu_usage: f32 = sys.cpus().iter().map(|cpu| cpu.cpu_usage()).sum(); + println!( + "cpu|range:0-100|{:.0}", + cpu_usage / sys.cpus().iter().count() as f32 + ); + println!(); + + // Sleeping to give the system time to run for long + // enough to have useful information. + thread::sleep(Duration::from_secs(3)); + } +} diff --git a/pkgs/by-name/ya/yambar-modules/src/main.rs b/pkgs/by-name/ya/yambar-modules/src/main.rs new file mode 100644 index 00000000..315c3be7 --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/src/main.rs @@ -0,0 +1,26 @@ +use std::{env::args, process}; + +mod cpu; +mod memory; + +fn main() { + let args: Vec<String> = args().collect(); + + if args.len() != 2 { + eprintln!("Usage: yambar-modules cpu|memory"); + process::exit(1); + } + + match args[1].as_str() { + "cpu" => { + cpu::cpu(); + } + "memory" => { + memory::memory(); + } + other => { + eprintln!("'{other}' is not a valid command. Only 'cpu' or 'memory'."); + process::exit(1); + } + } +} diff --git a/pkgs/by-name/ya/yambar-modules/src/memory.rs b/pkgs/by-name/ya/yambar-modules/src/memory.rs new file mode 100644 index 00000000..6da714cc --- /dev/null +++ b/pkgs/by-name/ya/yambar-modules/src/memory.rs @@ -0,0 +1,29 @@ +use std::{thread, time::Duration}; + +use sysinfo::{System, SystemExt}; + +pub fn memory() { + let mut sys = System::new(); + + loop { + sys.refresh_memory(); + + let memory_percentage: f64 = + 100 as f64 * (sys.used_memory() as f64 / sys.total_memory() as f64); + + println!("memperc|string|{:.0}", memory_percentage); + if sys.total_swap() > 0 { + let swap_percentage: f64 = + 100 as f64 * (sys.used_swap() as f64 / sys.total_swap() as f64); + println!("swapperc|string|{:.0}", swap_percentage); + println!("swapstate|bool|true"); + } else { + println!("swapstate|bool|false"); + } + println!(""); + + // Sleeping to give the system time to run for long + // enough to have useful information. + thread::sleep(Duration::from_secs(3)); + } +} |