feat(system): add OS and kernel detection

Swadhin Biswas committed 8 months ago
6d9d2fb
1 parent 8909588
commit 6d9d2fb
1 file changed
+50 -0
Showing 1 changed file+50-0
▼src/system/mod.rs
+50-0
98
98
packages,
99
99
shell,
100
100
resolution,
101
+ de,
102
+ wm,
103
+ wm_theme,
104
+ theme,
105
+ icons,
106
+ terminal,
107
+ term_font,
108
+ cpu,
109
+ gpu,
110
+ memory,
111
+ memory_percent,
112
+ disk,
113
+ disk_percent,
114
+ battery,
115
+ local_ip,
116
+ public_ip,
117
+ locale,
118
+ song,
119
+ users,
120
+ }
121
+ }
122
+
123
+ /// Format the title line: user@host
124
+ #[allow(dead_code)]
125
+ pub fn title(&self) -> String {
126
+ format!("{}@{}", self.username, self.hostname)
127
+ }
128
+}
129
+
130
+// ─── Detection Functions ────────────────────────────────────────────
131
+
132
+fn get_username() -> String {
133
+ let user = env_or("USER");
134
+ if !user.is_empty() {
135
+ return user;
136
+ }
137
+ let logname = env_or("LOGNAME");
138
+ if !logname.is_empty() {
139
+ return logname;
140
+ }
141
+ let whoami = run_cmd("whoami", &[]);
142
+ if !whoami.is_empty() {
143
+ return whoami;
144
+ }
145
+ "unknown".to_string()
146
+}
147
+
148
+// Helper trait: allow Option-like behavior on String
149
+#[allow(dead_code)]
150
+trait OrElseStr {
101
151