Update main.rs
This commit is contained in:
parent
aef1690c1b
commit
90fd10f202
1 changed files with 24 additions and 14 deletions
38
src/main.rs
38
src/main.rs
|
@ -10,7 +10,7 @@ fn main() {
|
||||||
// let user = Command::new("whoami")
|
// let user = Command::new("whoami")
|
||||||
// .output()
|
// .output()
|
||||||
// .expect("Failed to get user");
|
// .expect("Failed to get user");
|
||||||
|
|
||||||
// let user = String::from_utf8_lossy(&user.stdout);
|
// let user = String::from_utf8_lossy(&user.stdout);
|
||||||
|
|
||||||
// let hostname = Command::new("uname")
|
// let hostname = Command::new("uname")
|
||||||
|
@ -22,14 +22,14 @@ fn main() {
|
||||||
|
|
||||||
// let hostname = String::from_utf8_lossy(&hostname.stdout);
|
// let hostname = String::from_utf8_lossy(&hostname.stdout);
|
||||||
let user = env::var("USER");
|
let user = env::var("USER");
|
||||||
|
|
||||||
let mut hostname = String::new();
|
let mut hostname = String::new();
|
||||||
{
|
{
|
||||||
let hostname_file = File::open("/etc/hostname").expect("u forgor the /etc/hostname file u arch-using moronbox");
|
let hostname_file = File::open("/etc/hostname").expect("u forgor the /etc/hostname file u arch-using moronbox");
|
||||||
let mut hostname_reader = BufReader::new(hostname_file);
|
let mut hostname_reader = BufReader::new(hostname_file);
|
||||||
hostname_reader.read_line(&mut hostname).expect("Failed string conversion... EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE");
|
hostname_reader.read_line(&mut hostname).expect("Failed string conversion... EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read release file, AKA get OS name
|
// Read release file, AKA get OS name
|
||||||
let mut release_distro = String::new();
|
let mut release_distro = String::new();
|
||||||
{
|
{
|
||||||
|
@ -42,7 +42,7 @@ fn main() {
|
||||||
let mut distro_name: String = release_distro[5..release_distro.len() - 1].to_string();
|
let mut distro_name: String = release_distro[5..release_distro.len() - 1].to_string();
|
||||||
distro_name = distro_name.replace('\"', "");
|
distro_name = distro_name.replace('\"', "");
|
||||||
// println!("OS: {}", Red.paint(distro_name.clone()));
|
// println!("OS: {}", Red.paint(distro_name.clone()));
|
||||||
|
|
||||||
let figlet = Command::new("figlet")
|
let figlet = Command::new("figlet")
|
||||||
.args(["-f", "smslant", &distro_name])
|
.args(["-f", "smslant", &distro_name])
|
||||||
.output();
|
.output();
|
||||||
|
@ -59,7 +59,7 @@ fn main() {
|
||||||
// I know it's terrible, but it works.
|
// I know it's terrible, but it works.
|
||||||
let mut kernel = String::new();
|
let mut kernel = String::new();
|
||||||
{
|
{
|
||||||
let kernel_file = File::open("/proc/version").expect("do u even linux bro???");
|
let kernel_file = File::open("/proc/version").expect("Read the README.md you dumbass");
|
||||||
let mut kernel_reader = BufReader::new(kernel_file);
|
let mut kernel_reader = BufReader::new(kernel_file);
|
||||||
kernel_reader.read_line(&mut kernel).expect("Failed string conversion");
|
kernel_reader.read_line(&mut kernel).expect("Failed string conversion");
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,7 @@ fn main() {
|
||||||
// Vars
|
// Vars
|
||||||
let mut ramtotal: u32 = 0;
|
let mut ramtotal: u32 = 0;
|
||||||
let mut ramavail: u32 = 0;
|
let mut ramavail: u32 = 0;
|
||||||
|
|
||||||
// Read 1st & 2nd line
|
// Read 1st & 2nd line
|
||||||
if let Some(Ok(line)) = lines.next() {
|
if let Some(Ok(line)) = lines.next() {
|
||||||
if let Some(idx) = line.find(char::is_whitespace) {
|
if let Some(idx) = line.find(char::is_whitespace) {
|
||||||
|
@ -112,9 +112,9 @@ fn main() {
|
||||||
let ramused = ramtotal - ramavail;
|
let ramused = ramtotal - ramavail;
|
||||||
|
|
||||||
println!("│ Mem: {}/{} GB ({} GB Available)", Green.paint(ramused.to_string()), Green.paint(ramtotal.to_string()), Green.paint(ramavail.to_string()));
|
println!("│ Mem: {}/{} GB ({} GB Available)", Green.paint(ramused.to_string()), Green.paint(ramtotal.to_string()), Green.paint(ramavail.to_string()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
// This took me unusually long.
|
// This took me unusually long.
|
||||||
|
|
||||||
|
@ -128,16 +128,26 @@ fn main() {
|
||||||
|
|
||||||
// was never expecting rounding to be this difficult
|
// was never expecting rounding to be this difficult
|
||||||
let uptimeint = uptime.parse::<f32>();
|
let uptimeint = uptime.parse::<f32>();
|
||||||
let roundeduptimeint: u32 = uptimeint.expect("phoque").round() as u32;
|
let roundeduptimeint: u32 = uptimeint.expect("phoque").round() as u32;
|
||||||
let uptimemins: u32 = roundeduptimeint / 60;
|
let uptimemins: u32 = roundeduptimeint / 60;
|
||||||
println!("│ Uptime: {} minutes", Blue.paint(uptimemins.to_string()))
|
println!("│ Uptime: {} minutes", Blue.paint(uptimemins.to_string()))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get shell
|
|
||||||
let shell = env::var("SHELL").expect("Could not read $SHELL variable");
|
|
||||||
println!("│ Shell: {}", Cyan.paint(shell));
|
|
||||||
|
|
||||||
|
// Get shell
|
||||||
|
let shell_raw = env::var("SHELL").expect("Could not read $SHELL variable");
|
||||||
|
|
||||||
|
// Split the path using '/' as the separator
|
||||||
|
// Thanks ChatGPT
|
||||||
|
let parts: Vec<&str> = shell_raw.rsplitn(2, '/').collect();
|
||||||
|
|
||||||
|
// Check if the path contains at least one '/'
|
||||||
|
if parts.len() > 1 {
|
||||||
|
let shell = parts[0];
|
||||||
|
println!("│ Shell: {}", Cyan.paint(shell));
|
||||||
|
} else {
|
||||||
|
println!("Invalid path format.");
|
||||||
|
}
|
||||||
// Time for a challenge, Get CPU model!
|
// Time for a challenge, Get CPU model!
|
||||||
{
|
{
|
||||||
let file = File::open("/proc/cpuinfo").expect("Could not read /proc/cpuinfo");
|
let file = File::open("/proc/cpuinfo").expect("Could not read /proc/cpuinfo");
|
||||||
|
@ -163,5 +173,5 @@ fn main() {
|
||||||
|
|
||||||
// Colours
|
// Colours
|
||||||
println!("\n{} {} {} {} {} {}", Red.paint("◆"), Green.paint("◆"), Yellow.paint("◆"), Blue.paint("◆"), Purple.paint("◆"), Cyan.paint("◆"));
|
println!("\n{} {} {} {} {} {}", Red.paint("◆"), Green.paint("◆"), Yellow.paint("◆"), Blue.paint("◆"), Purple.paint("◆"), Cyan.paint("◆"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue