main
1{
2 flake.modules.nixos.core = {pkgs, ...}: {
3 environment.systemPackages = [pkgs.fastfetch];
4 };
5
6 flake.modules.homeManager.core = _: {
7 programs.fastfetch = {
8 enable = true;
9 settings = {
10 logo = {
11 type = "auto";
12 };
13 display.separator = " ";
14 modules = [
15 "title"
16 {
17 key = "╔══ Software ══╗";
18 type = "custom";
19 }
20 {
21 key = "║ {#31}{icon} Distro {#keys}║";
22 type = "os";
23 format = "{?pretty-name}{pretty-name}{?}{/pretty-name}{name}{/} {#2}[{arch}]";
24 }
25 {
26 key = "║ {#31} Kernel {#keys}║";
27 type = "kernel";
28 format = "{sysname} {#2}[v{release}]";
29 }
30 {
31 key = "║ {#31} Packages {#keys}║";
32 type = "packages";
33 format = "{all}";
34 }
35 {
36 key = "║ {#31} Uptime {#keys}║";
37 type = "uptime";
38 format = "{?days}{days} Days + {?}{hours}:{minutes}:{seconds}";
39 }
40 {
41 key = "║ {#32} WM {#keys}║";
42 type = "wm";
43 format = "{pretty-name} {#2}[v{version}] ({protocol-name})";
44 }
45 {
46 key = "║ {#32} Terminal {#keys}║";
47 type = "terminal";
48 format = "{pretty-name} {#2}[v{version}]";
49 }
50 {
51 key = "║ {#32} Shell {#keys}║";
52 type = "shell";
53 format = "{pretty-name} {#2}[v{version}]";
54 }
55 {
56 key = "╠══ Hardware ══╣";
57 type = "custom";
58 }
59 {
60 key = "║ {#33} Machine {#keys}║";
61 type = "host";
62 format = "{name} {#2}{version}";
63 }
64 {
65 key = "║ {#33} CPU {#keys}║";
66 type = "cpu";
67 format = "{name} {#2}[{freq-max}]";
68 }
69 {
70 key = "║ {#33} GPU {#keys}║";
71 type = "gpu";
72 detectionMethod = "auto";
73 format = "{name} {#2}[{type}]";
74 }
75 {
76 key = "║ {#33} Memory {#keys}║";
77 type = "memory";
78 format = "{used} / {total} ({percentage})";
79 }
80 {
81 key = "║ {#33} Swap {#keys}║";
82 type = "swap";
83 format = "{used} / {total} ({percentage})";
84 }
85 {
86 key = "║ {#33} Disk {#keys}║";
87 type = "disk";
88 format = "{size-used} / {size-total} ({size-percentage}) {#2}[{filesystem}]";
89 }
90 {
91 key = "╠══════════════╣";
92 type = "custom";
93 }
94 {
95 key = "║ {#34} Colors {#keys}║";
96 type = "colors";
97 symbol = "circle";
98 }
99 {
100 key = "╚══════════════╝";
101 type = "custom";
102 }
103 ];
104 };
105 };
106 };
107}