/ modules / home / programs / fastfetch / default.nix
default.nix
  1  {
  2    programs.fastfetch = {
  3      enable = true;
  4    #   settings = {
  5    #     logo = {
  6    #       width = 38;
  7    #       height = 15;
  8    #       type = "kitty-direct";
  9    #       source = ./nix-mfarabi.png;
 10    #       padding = {
 11    #         top = 3;
 12    #         left = 2;
 13    #       };
 14    #     };
 15  
 16    #     display = {
 17    #       separator = "";
 18    #       percent.type = 3;
 19    #       color.keys = "red";
 20    #       brightColor = true;
 21  
 22    #       constants = [
 23    #         ''──────────────────────────────────────────────''
 24    #         ''\u001b[47D''
 25    #         ''\u001b[47C''
 26    #         ''\u001b[46C''
 27    #       ];
 28  
 29    #       bar = {
 30    #         width = 6;
 31    #         charTotal = "-";
 32    #         char.elapsed = "=";
 33    #       };
 34    #     };
 35  
 36    #     modules = [
 37    #       {
 38    #         type = "kernel";
 39    #         key = ''┌───────────────┬─{$1}┐\u001b[46D'';
 40    #         format = ''\u001b[1m{#keys}  {1} {2} '';
 41    #         brightColor = true;
 42    #       }
 43    #       {
 44    #         type = "custom";
 45    #         key = ''│{#cyan}┌──────────────┬{$1}┐{#keys}│\u001b[37D'';
 46    #         format = "{#bright_cyan} HARDWARE ";
 47    #       }
 48    #       {
 49    #         type = "host";
 50    #         key = ''│{#cyan}│ 󰇺  Chassis   │{$4}│{#keys}│{$2}'';
 51    #       }
 52    #       {
 53    #         type = "cpu";
 54    #         key = ''│{#cyan}│ {icon}  CPU       │{$4}│{#keys}│{$2}'';
 55    #         showPeCoreCount = true;
 56    #       }
 57    #       {
 58    #         type = "gpu";
 59    #         key = ''│{#cyan}│ {icon}  GPU       │{$4}│{#keys}│{$2}'';
 60    #       }
 61    #       {
 62    #         type = "memory";
 63    #         key = ''│{#cyan}│ {icon}  RAM       │{$4}│{#keys}│{$2}'';
 64    #       }
 65    #       {
 66    #         type = "swap";
 67    #         key = ''│{#cyan}│ {icon}  Swap      │{$4}│{#keys}│{$2}'';
 68    #       }
 69    #       {
 70    #         type = "disk";
 71    #         key = ''│{#cyan}│ {icon}  Disk      │{$4}│{#keys}│{$2}'';
 72    #         format = ''{size-used} \/ {size-total} ({size-percentage}) - {filesystem}'';
 73    #       }
 74    #       {
 75    #         type = "battery";
 76    #         key = ''│{#cyan}│ {icon}  Battery   │{$4}│{#keys}│{$2}'';
 77    #       }
 78    #       {
 79    #         type = "custom";
 80    #         key = ''│{#cyan}└──────────────┴{$1}┘{#keys}│'';
 81    #         format = "";
 82    #       }
 83    #       {
 84    #         type = "custom";
 85    #         key = ''│{#green}┌──────────────┬{$1}┐{#keys}│\u001b[37D'';
 86    #         format = "{#bright_green} DESKTOP ";
 87    #       }
 88    #       {
 89    #         type = "de";
 90    #         key = ''│{#green}│ {icon}  Desktop   │{$4}│{#keys}│{$2}'';
 91    #       }
 92    #       {
 93    #         type = "wm";
 94    #         key = ''│{#green}│ {icon}  Session   │{$4}│{#keys}│{$2}'';
 95    #       }
 96    #       {
 97    #         type = "display";
 98    #         key = ''│{#green}│ {icon}  Display   │{$4}│{#keys}│{$2}'';
 99    #         compactType = "original-with-refresh-rate";
100    #       }
101    #       {
102    #         type = "gpu";
103    #         key = ''│{#green}│ {icon}  G-Driver  │{$4}│{#keys}│{$2}'';
104    #         format = ''{driver}'';
105    #       }
106    #       {
107    #         type = "custom";
108    #         key = ''│{#green}└──────────────┴{$1}┘{#keys}│'';
109    #         format = "";
110    #       }
111    #       {
112    #         type = "custom";
113    #         key = ''│{#yellow}┌──────────────┬{$1}┐{#keys}│\u001b[37D'';
114    #         format = "{#bright_yellow} TERMINAL ";
115    #       }
116    #       {
117    #         type = "shell";
118    #         key = ''│{#yellow}│ {icon}  Shell     │{$4}│{#keys}│{$2}'';
119    #       }
120    #       {
121    #         type = "terminal";
122    #         key = ''│{#yellow}│ {icon}  Emulator  │{$4}│{#keys}│{$2}'';
123    #       }
124    #       {
125    #         type = "terminalfont";
126    #         key = ''│{#yellow}│ {icon}  Font      │{$4}│{#keys}│{$2}'';
127    #       }
128    #       {
129    #         type = "terminaltheme";
130    #         key = ''│{#yellow}│ {icon}  Colors    │{$4}│{#keys}│{$2}'';
131    #       }
132    #       {
133    #         type = "packages";
134    #         key = ''│{#yellow}│ 󰏗  Packages  │{$4}│{#keys}│{$2}'';
135    #       }
136    #       {
137    #         type = "custom";
138    #         key = ''│{#yellow}└──────────────┴{$1}┘{#keys}│'';
139    #         format = "";
140    #       }
141  
142    #       {
143    #         type = "custom";
144    #         key = ''│{#1;38;5;208}┌──────────────┬{$1}┐{#keys}│\u001b[39D'';
145    #         format = "{#1;38;5;208} DEVELOPMENT ";
146    #       }
147    #       {
148    #         type = "command";
149    #         keyIcon = "";
150    #         key = ''│{#1;38;5;208}│ {icon}  Rust      │{$4}│{#keys}│{$2}'';
151    #         text = "rustc --version | cut -d' ' -f2";
152    #         format = ''rustc {}'';
153    #       }
154    #       {
155    #         type = "command";
156    #         keyIcon = "";
157    #         key = ''│{#1;38;5;208}│ {icon}  Clang     │{$4}│{#keys}│{$2}'';
158    #         text = "clang --version | head -1 | awk '{print $NF}'";
159    #         format = ''clang {}'';
160    #       }
161    #       {
162    #         type = "command";
163    #         keyIcon = "";
164    #         key = ''│{#1;38;5;208}│ {icon}  NodeJS    │{$4}│{#keys}│{$2}'';
165    #         text = "node --version";
166    #         format = ''node {~1}'';
167    #       }
168    #       {
169    #         type = "command";
170    #         keyIcon = "";
171    #         key = ''│{#1;38;5;208}│ {icon}  Go        │{$4}│{#keys}│{$2}'';
172    #         text = "go version | cut -d' ' -f3";
173    #         format = ''go {~2}'';
174    #       }
175    #       {
176    #         type = "command";
177    #         keyIcon = "";
178    #         key = ''│{#1;38;5;208}│ {icon}  Zig       │{$4}│{#keys}│{$2}'';
179    #         text = "zig version";
180    #         format = ''zig {}'';
181    #       }
182    #       {
183    #         type = "editor";
184    #         key = ''│{#1;38;5;208}│ {icon}  Editor    │{$4}│{#keys}│{$2}'';
185    #       }
186    #       {
187    #         type = "command";
188    #         keyIcon = "󰊢";
189    #         key = ''│{#1;38;5;208}│ {icon}  Git       │{$4}│{#keys}│{$2}'';
190    #         text = "git version";
191    #         format = ''git {~12}'';
192    #       }
193    #       {
194    #         type = "font";
195    #         key = ''│{#1;38;5;208}│ {icon}  Interface │{$4}│{#keys}│{$2}'';
196    #       }
197    #       {
198    #         type = "custom";
199    #         key = ''│{#1;38;5;208}└──────────────┴{$1}┘{#keys}│'';
200    #         format = "";
201    #       }
202    #       {
203    #         type = "custom";
204    #         key = ''│{#magenta}┌──────────────┬{$1}┐{#keys}│\u001b[36D'';
205    #         format = "{#bright_magenta} GENERAL ";
206    #       }
207    #       {
208    #         type = "uptime";
209    #         key = ''│{#magenta}│ {icon}  Uptime    │{$4}│{#keys}│{$2}'';
210    #       }
211    #       {
212    #         type = "users";
213    #         myselfOnly = true;
214    #         keyIcon = "";
215    #         key = ''│{#magenta}│ {icon}  Login     │{$4}│{#keys}│{$2}'';
216    #       }
217    #       {
218    #         type = "datetime";
219    #         key = ''│{#magenta}│ {icon}  Fetched   │{$4}│{#keys}│{$2}'';
220    #       }
221    #       {
222    #         type = "locale";
223    #         key = ''│{#magenta}│ {icon}  Locale    │{$4}│{#keys}│{$2}'';
224    #       }
225    #       {
226    #         type = "disk";
227    #         keyIcon = "";
228    #         key = ''│{#magenta}│ {icon}  Age       │{$4}│{#keys}│{$2}'';
229    #         folders = "/";
230    #         format = "{create-time:10} [{days} days]";
231    #       }
232    #       {
233    #         type = "custom";
234    #         key = ''│{#magenta}└──────────────┴{$1}┘{#keys}│'';
235    #         format = "";
236    #       }
237    #       {
238    #         type = "custom";
239    #         key = ''└─────────────────{$1}┘'';
240    #         format = "";
241    #       }
242    #       {
243    #         type = "colors";
244    #         paddingLeft = 2;
245    #         symbol = "star";
246    #       }
247    #       "break"
248    #     ];
249    #   };
250    };
251  }