Merge branch 'master' of github.com:vinceliuice/grub2-themes

This commit is contained in:
vinceliuice 2023-04-15 22:47:38 +08:00
commit c1f9aeaf83
35 changed files with 507 additions and 79 deletions

View File

@ -4,25 +4,38 @@
Usage: `sudo ./install.sh [OPTIONS...]`
| Options: | Description: |
|:-----------------------|:-------------|
| -t, --theme | theme variant(s) [tela/vimix/stylish/whitesur] (default is tela)"
| -i, --icon | icon variant(s) [color/white/whitesur] (default is color)"
| -s, --screen | screen resolution variant(s) [1080p/2k/4k/ultrawide/ultrawide2k] (default is 1080p)"
| -r, --remove [THEME] | Uninstall selected theme |
| -h, --help | Show this help |
```
-t, --theme theme variant(s) [tela|vimix|stylish|whitesur] (default is tela)
-i, --icon icon variant(s) [color|white|whitesur] (default is color)
-s, --screen screen display variant(s) [1080p|2k|4k|ultrawide|ultrawide2k] (default is 1080p)
-r, --remove Remove theme [tela|vimix|stylish|whitesur] (must add theme name option, default is tela)
-b, --boot install theme into '/boot/grub' or '/boot/grub2'
-g, --generate do not install but generate theme into chosen directory (must add your directory)
-h, --help Show this help
```
_If no options are used, a user interface `dialog` will show up instead_
### Examples:
- Install Tela theme on 2k display device:
- `sudo ./install.sh -t tela -s 2k`
```sh
sudo ./install.sh -t tela -s 2k
```
- Install Tela theme into /boot/grub/themes:
- `sudo ./install.sh -b -t tela`
```sh
sudo ./install.sh -b -t tela
```
- Uninstall Tela theme:
- `sudo ./install.sh -r -t tela`
```sh
sudo ./install.sh -r -t tela
```
## Issues / tweaks:
@ -37,7 +50,11 @@ _If no options are used, a user interface `dialog` will show up instead_
- Make sure you have `imagemagick` installed, or at least something that provides `convert`
- Find the resolution of your display, and make sure your background matches the resolution
- (1920x1080 -> --1080p, 2560x1080 -> --ultrawide, 2560x1440 -> --2k, 3440x1440 -> --ultrawide2k, 3840x2160 -> --4k)
- 1920x1080 >> 1080p
- 2560x1080 >> ultrawide
- 2560x1440 >> 2k
- 3440x1440 >> ultrawide2k
- 3840x2160 >> 4k
- Place your custom background inside the root of the project, and name it `background.jpg`
- Run the installer like normal, but with -s `[YOUR_RESOLUTION]` and -t `[THEME]` and -i `[ICON]`
- Make sure to replace `[YOUR_RESOLUTION]` with your resolution and `[THEME]` with the theme
@ -50,7 +67,6 @@ _If no options are used, a user interface `dialog` will show up instead_
- If any issues occur, report then to the [issue](https://github.com/vinceliuice/grub2-themes/issues) page
## Preview:
Images shown: tela/vimix/stylish/whitesur
![preview](preview.png?raw=true)
## Documents

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="logos-color.svg"
id="svg371"
viewBox="0 0 80.433333 118.53334"
@ -23,14 +23,14 @@
inkscape:document-rotation="0"
inkscape:current-layer="svg371"
inkscape:window-maximized="1"
inkscape:window-y="32"
inkscape:window-y="38"
inkscape:window-x="0"
inkscape:cy="124.75"
inkscape:cx="277.62499"
inkscape:zoom="4.0000001"
inkscape:cy="350.19463"
inkscape:cx="235.28978"
inkscape:zoom="2.8284271"
showgrid="false"
id="namedview373"
inkscape:window-height="701"
inkscape:window-height="698"
inkscape:window-width="1368"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
@ -144,7 +144,24 @@
id="linearGradient4397"
xlink:href="#gradient4"
inkscape:collect="always" /><style
id="style1200">.cls-1{fill:#0097f4;}.cls-2{fill:#fff;}</style></defs><g
id="style1200">.cls-1{fill:#0097f4;}.cls-2{fill:#fff;}</style><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1303"
id="linearGradient1305"
x1="-15.25123"
y1="194.95467"
x2="139.77541"
y2="42.713833"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.08373166,0,0,0.08371408,6.2625651,5.6252399)" /><linearGradient
inkscape:collect="always"
id="linearGradient1303"><stop
style="stop-color:#62aeef;stop-opacity:1;"
offset="0"
id="stop1299" /><stop
style="stop-color:#98c379;stop-opacity:1"
offset="1"
id="stop1301" /></linearGradient></defs><g
style="stroke-width:0.875"
transform="matrix(1.1429,0,0,1.1764325,34.399757,4.6067234)"
id="antergos"><path
@ -1473,4 +1490,64 @@
cx="416"
cy="626.5"
r="50"
id="circle1230" /></g></svg>
id="circle1230" /></g><g
id="archcraft"
transform="matrix(0.37647059,0,0,0.37647059,66.737257,56.153924)"><circle
style="fill:#22282f;fill-opacity:1;stroke-width:0.0445642"
id="path870"
cx="13.890628"
cy="13.890628"
r="11.244792" /><path
id="path53-3"
style="fill:url(#linearGradient1305);fill-opacity:1;stroke-width:0.0837208"
d="m 13.797107,6.2037174 v 3.103e-4 c -0.61934,1.518118 -0.992722,2.511269 -1.68232,3.9842663 0.599842,0.303092 1.124824,0.785561 1.784368,1.559175 -0.749974,-0.593159 -1.334629,-0.95135 -1.986011,-1.135365 -0.882511,1.841079 -2.2651386,4.463617 -5.0708353,9.503839 0.8317454,-0.48781 5.5340613,-1.715718 5.1069773,-2.827642 -0.115224,-0.277618 -0.347045,-0.314511 -0.70387,-0.441297 v -0.706501 c 0.357481,-0.127222 0.588646,-0.163625 0.70387,-0.441461 0.115444,-0.278272 -0.0224,-0.467731 -0.185289,-0.810489 l 0.49961,-0.499342 c 0.34436,0.163731 0.5326,0.300506 0.810496,0.185086 h 1.67e-4 c 0.277677,-0.115199 0.314305,-0.346316 0.441553,-0.703721 h 0.70665 c 0.127687,0.359155 0.163932,0.588739 0.441391,0.703721 h 1.67e-4 c 0.278551,0.11542 0.469361,-0.02289 0.81066,-0.185086 l 0.499447,0.499342 c -0.163328,0.343851 -0.300352,0.532653 -0.185126,0.810489 v 1.68e-4 c 0.114788,0.276963 0.342891,0.312982 0.703871,0.441297 v 0.706501 c -2.335922,1.30513 3.122972,2.818456 4.261647,3.26894 -0.428949,-0.789558 -0.81189,-1.501369 -1.17748,-2.179185 -0.575923,-0.446286 -1.176668,-1.027045 -2.40205,-1.655806 0.842237,0.218807 1.445304,0.471259 1.915361,0.753427 C 15.372925,10.114583 15.07189,9.1950843 13.797107,6.2037174 Z m 0.07195,9.4157086 c -0.482981,0 -0.87444,0.39154 -0.87444,0.87442 0,0.48288 0.391459,0.874256 0.87444,0.874256 0.482981,0 0.874605,-0.391376 0.874605,-0.874256 0,-0.48288 -0.391624,-0.87442 -0.874605,-0.87442 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccsssss" /></g><g
id="brunch"><path
style="fill:#109f5b;stroke-width:0.529184"
d="m 69.320966,74.083307 c 0.741537,1.285471 1.113294,0.979887 2.485657,1.058307 1.463125,-0.807487 2.156098,-0.775104 1.77718,-2.16921 -0.160355,0.261719 -0.382624,0.488195 -0.667924,0.653291 -0.453221,0.261931 -0.872836,-0.0132 -1.340028,-0.135997 -0.473542,-0.124357 -0.993393,-0.101057 -1.258636,-0.560953 l -1.889143,-3.274876 c -0.560446,0.85222 -0.796214,1.885177 -0.654457,2.901779 0.07329,0.525655 0.886711,0.508841 1.169185,0.998503 z"
id="path625" /><path
style="fill:#ffce41;stroke-width:0.529184"
d="m 72.023897,69.850082 c 0.306521,0.0082 0.61406,0.3013 0.899254,0.46611 0.487768,0.281848 0.442002,0.838694 0.549888,1.347687 0.09399,0.443447 0.563697,0.890315 0.318358,1.315648 l -2.201023,2.234431 c 0.0182,0.0012 0.03652,0.0022 0.05479,0.0032 0.168375,0.0076 0.336413,0.0074 0.503375,-0.0052 0.0314,-0.0034 0.06275,-0.0072 0.09407,-0.0114 0.133892,-0.013 0.267271,-0.0332 0.398979,-0.05892 0.06475,-0.0126 0.129192,-0.02674 0.193298,-0.04238 0.11133,-0.0272 0.220961,-0.05994 0.329727,-0.09612 0.05446,-0.0172 0.10855,-0.03542 0.162275,-0.05478 0.147794,-0.05594 0.293032,-0.119757 0.434123,-0.192235 0.05761,-0.0314 0.114471,-0.06414 0.170556,-0.09818 0.09385,-0.0539 0.186117,-0.110237 0.275978,-0.171555 0.05571,-0.03762 0.11049,-0.07656 0.164355,-0.116777 0.10663,-0.08056 0.209626,-0.167036 0.309053,-0.258376 0.02752,-0.02376 0.05474,-0.04788 0.08167,-0.07234 0.126011,-0.121977 0.244735,-0.253251 0.356599,-0.392732 0.02278,-0.02934 0.04518,-0.05896 0.06719,-0.08888 0.10199,-0.134197 0.198759,-0.274639 0.286315,-0.423736 0.0084,-0.0138 0.0166,-0.02752 0.0248,-0.04134 0.263153,-0.460294 0.572948,-1.36e-4 0.651198,-0.527502 0.03052,-0.205753 0.04742,-0.413475 0.05106,-0.620718 0.0017,-0.09916 -0.0072,-0.196955 -0.0114,-0.295583 -0.04962,-0.633969 -0.241452,-1.248617 -0.56125,-1.798289 z"
id="path627" /><path
style="fill:#dd4d3e;stroke-width:0.529184"
d="m 71.967048,67.73347 a 4.2337301,4.2332248 0 0 0 -0.21086,0.0072 c -0.739163,0.03678 -1.466591,0.287756 -2.097227,0.677978 a 4.2337301,4.2332248 0 0 0 -1.455344,1.617431 l 1.953551,3.030228 c -0.159195,-0.262039 -0.07901,-0.67973 -0.09509,-1.008698 -0.02754,-0.56262 0.46485,-0.826097 0.834136,-1.192661 0.321731,-0.319362 0.44291,-0.955334 0.933364,-0.979761 l 3.813045,-0.0094 a 4.2337301,4.2332248 0 0 0 -3.675572,-2.142449 z"
id="path629" /><rect
fill="#ffffff"
width="4.2332249"
height="4.2337303"
x="-74.083313"
y="-74.083916"
rx="2.1166124"
ry="2.1168652"
transform="matrix(0,-1,-1,0,0,0)"
id="rect631"
style="stroke-width:0.529184" /><rect
style="fill:#4587f3;stroke-width:0.529184"
width="3.1749187"
height="3.1752977"
x="-73.554146"
y="-73.554688"
rx="1.5874593"
ry="1.5876489"
transform="matrix(0,-1,-1,0,0,0)"
id="rect633" /><path
style="fill:#4f4f4f;stroke-width:0.529184"
d="m 67.771561,72.495848 a 4.2337301,4.2332248 0 0 0 2.9448,3.514942 4.2337301,4.2332248 0 0 0 0.381407,0.09714 4.3582515,4.3577314 0 0 0 0.140573,0.0248 4.2337301,4.2332248 0 0 0 0.261507,0.03928 4.3582515,4.3577314 0 0 0 0.231532,0.0166 4.2337301,4.2332248 0 0 0 0.235668,0.0114 4.2337301,4.2332248 0 0 0 10e-4,0 4.3582515,4.3577314 0 0 0 0.002,0 4.3582515,4.3577314 0 0 0 0.371073,-0.0196 4.2337301,4.2332248 0 0 0 0.219128,-0.02688 4.3582515,4.3577314 0 0 0 0.175717,-0.02688 4.2337301,4.2332248 0 0 0 0.300784,-0.06614 4.3582515,4.3577314 0 0 0 0.09199,-0.02378 4.2337301,4.2332248 0 0 0 3.034724,-3.540781 z"
id="path635" /><g
aria-label="OS"
id="text957"
style="font-size:1.39438px;font-family:'思源黑体 CN';-inkscape-font-specification:'思源黑体 CN';fill:#ffffff;fill-rule:evenodd;stroke-width:0.116198;stroke-linecap:round;stroke-linejoin:round"
transform="matrix(2.0001874,0,0,1.9999487,-74.724614,-74.332896)"><path
d="m 72.913212,74.759826 c 0.256566,0 0.436441,-0.204974 0.436441,-0.532653 0,-0.327679 -0.179875,-0.525681 -0.436441,-0.525681 -0.256566,0 -0.436441,0.198002 -0.436441,0.525681 0,0.327679 0.179875,0.532653 0.436441,0.532653 z m 0,-0.112945 c -0.184058,0 -0.303975,-0.164536 -0.303975,-0.419708 0,-0.255172 0.119917,-0.412736 0.303975,-0.412736 0.184058,0 0.303975,0.157564 0.303975,0.412736 0,0.255172 -0.119917,0.419708 -0.303975,0.419708 z"
id="path1058" /><path
d="m 73.854419,74.759826 c 0.21334,0 0.347201,-0.128283 0.347201,-0.290031 0,-0.151987 -0.09203,-0.221706 -0.210552,-0.273298 l -0.145015,-0.06275 c -0.07948,-0.03347 -0.170114,-0.07111 -0.170114,-0.171509 0,-0.09064 0.0753,-0.147804 0.19103,-0.147804 0.09482,0 0.170114,0.03625 0.232861,0.09482 l 0.06693,-0.08227 c -0.07111,-0.0739 -0.17848,-0.125494 -0.299791,-0.125494 -0.185453,0 -0.322102,0.112945 -0.322102,0.270509 0,0.149199 0.112945,0.221707 0.207762,0.262144 l 0.14641,0.06414 c 0.09761,0.04323 0.171509,0.07669 0.171509,0.182664 0,0.099 -0.07948,0.165931 -0.214734,0.165931 -0.105973,0 -0.209157,-0.0502 -0.281665,-0.126888 l -0.07669,0.08924 c 0.08785,0.09203 0.211946,0.150593 0.356961,0.150593 z"
id="path1060" /></g></g><g
id="brunch-settings"><path
style="fill:#4587f3;fill-opacity:1;stroke-width:0.28761"
inkscape:connector-curvature="0"
id="path1500"
d="m 50.799967,84.68666 c 2.3381,0 4.2333,1.8952 4.2333,4.2333 0,2.3381 -1.8952,4.2333 -4.2333,4.2333 -2.3381,0 -4.2333,-1.8952 -4.2333,-4.2333 0,-2.3381 1.8952,-4.2333 4.2333,-4.2333 z" /><path
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke-width:0.355903"
d="m 50.177134,86.42864 -0.05339,0.65486 a 1.9574668,1.9574668 0 0 0 -0.573,0.33099 l -0.597917,-0.281163 -0.62283,1.081945 0.540973,0.373697 a 1.9574668,1.9574668 0 0 0 -0.02847,0.330991 1.9574668,1.9574668 0 0 0 0.02847,0.330989 l -0.540973,0.3737 0.62283,1.081945 0.594358,-0.281165 a 1.9574668,1.9574668 0 0 0 0.576563,0.327431 l 0.05339,0.658421 h 1.24566 l 0.05339,-0.654861 a 1.9574668,1.9574668 0 0 0 0.573004,-0.330991 l 0.597917,0.281165 0.622829,-1.081945 -0.540972,-0.3737 a 1.9574668,1.9574668 0 0 0 0.02847,-0.330989 1.9574668,1.9574668 0 0 0 -0.02847,-0.330991 l 0.540972,-0.373697 -0.622829,-1.081945 -0.594358,0.281163 a 1.9574668,1.9574668 0 0 0 -0.576565,-0.327431 l -0.05339,-0.658419 z m 0.622831,1.779514 a 0.7118061,0.7118061 0 0 1 0.711806,0.711806 0.7118061,0.7118061 0 0 1 -0.711806,0.711807 0.7118061,0.7118061 0 0 1 -0.711805,-0.711807 0.7118061,0.7118061 0 0 1 0.711805,-0.711806 z"
id="path1502" /></g></svg>

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 171 KiB

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="logos-white.svg"
id="svg453"
viewBox="0 0 80.433333 118.5296"
@ -20,14 +20,14 @@
inkscape:document-rotation="0"
inkscape:current-layer="svg453"
inkscape:window-maximized="1"
inkscape:window-y="32"
inkscape:window-y="38"
inkscape:window-x="0"
inkscape:cy="162.72109"
inkscape:cx="232.78912"
inkscape:cy="262.17687"
inkscape:cx="233.87755"
inkscape:zoom="3.675"
showgrid="false"
id="namedview455"
inkscape:window-height="701"
inkscape:window-height="698"
inkscape:window-width="1368"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
@ -1605,4 +1605,61 @@
r="50"
id="circle1216" />
</g>
<g
id="archcraft"
transform="matrix(0.37647059,0,0,0.37647059,66.737254,56.152056)">
<circle
style="fill:none;fill-opacity:1;stroke-width:0.0445642"
id="path870"
cx="13.890628"
cy="13.890628"
r="11.244792" />
<path
id="path53-3"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.0837208"
d="m 13.797107,6.2037174 v 3.103e-4 c -0.61934,1.518118 -0.992722,2.511269 -1.68232,3.9842663 0.599842,0.303092 1.124824,0.785561 1.784368,1.559175 -0.749974,-0.593159 -1.334629,-0.95135 -1.986011,-1.135365 -0.882511,1.841079 -2.2651386,4.463617 -5.0708353,9.503839 0.8317454,-0.48781 5.5340613,-1.715718 5.1069773,-2.827642 -0.115224,-0.277618 -0.347045,-0.314511 -0.70387,-0.441297 v -0.706501 c 0.357481,-0.127222 0.588646,-0.163625 0.70387,-0.441461 0.115444,-0.278272 -0.0224,-0.467731 -0.185289,-0.810489 l 0.49961,-0.499342 c 0.34436,0.163731 0.5326,0.300506 0.810496,0.185086 h 1.67e-4 c 0.277677,-0.115199 0.314305,-0.346316 0.441553,-0.703721 h 0.70665 c 0.127687,0.359155 0.163932,0.588739 0.441391,0.703721 h 1.67e-4 c 0.278551,0.11542 0.469361,-0.02289 0.81066,-0.185086 l 0.499447,0.499342 c -0.163328,0.343851 -0.300352,0.532653 -0.185126,0.810489 v 1.68e-4 c 0.114788,0.276963 0.342891,0.312982 0.703871,0.441297 v 0.706501 c -2.335922,1.30513 3.122972,2.818456 4.261647,3.26894 -0.428949,-0.789558 -0.81189,-1.501369 -1.17748,-2.179185 -0.575923,-0.446286 -1.176668,-1.027045 -2.40205,-1.655806 0.842237,0.218807 1.445304,0.471259 1.915361,0.753427 C 15.372925,10.114583 15.07189,9.1950843 13.797107,6.2037174 Z m 0.07195,9.4157086 c -0.482981,0 -0.87444,0.39154 -0.87444,0.87442 0,0.48288 0.391459,0.874256 0.87444,0.874256 0.482981,0 0.874605,-0.391376 0.874605,-0.874256 0,-0.48288 -0.391624,-0.87442 -0.874605,-0.87442 z" />
</g>
<g
id="brunch"
transform="translate(-5.2631579e-7,-0.00187035)">
<path
id="path625"
style="fill:#ffffff;stroke-width:0.529184;opacity:0.55"
d="M 68.427865 69.653633 C 67.878435 70.4891 67.641439 71.49865 67.76589 72.495837 L 67.771574 72.495837 L 69.916663 72.495837 C 69.886441 72.377621 69.865683 72.255345 69.856201 72.129968 L 68.427865 69.653633 z " />
<path
id="path627"
style="fill:#ffffff;stroke-width:0.529184;opacity:0.3"
d="M 75.641378 69.875842 L 72.349072 69.88411 C 73.338137 70.063055 74.08385 70.924612 74.08385 71.96667 C 74.08385 72.149577 74.060909 72.326759 74.017704 72.495837 L 76.158659 72.495837 C 76.183093 72.312699 76.196766 72.128044 76.2 71.943933 C 76.2017 71.844773 76.192831 71.746971 76.188631 71.648343 C 76.139782 71.024224 75.952305 70.418951 75.641378 69.875842 z " />
<path
id="path629"
style="fill:#ffffff;stroke-width:0.529184;opacity:0.4"
d="M 71.967184 67.733337 A 4.2337301 4.2332248 0 0 0 71.756344 67.740572 C 71.017183 67.777352 70.289433 68.028346 69.658797 68.418566 A 4.2337301 4.2332248 0 0 0 68.427865 69.653633 L 69.856201 72.129968 C 69.852126 72.07608 69.85 72.021636 69.85 71.96667 C 69.85 70.794068 70.794442 69.850004 71.967184 69.850004 C 72.096934 69.850004 72.223821 69.861968 72.347005 69.88411 L 75.642412 69.875842 A 4.2337301 4.2332248 0 0 0 71.967184 67.733337 z M 68.427865 69.653633 C 68.383353 69.721319 68.34113 69.790472 68.300741 69.860339 A 4.2337301 4.2332248 0 0 1 68.427865 69.653633 z M 68.223743 69.999865 A 4.2337301 4.2332248 0 0 0 68.203589 70.036039 L 68.204106 70.037072 C 68.210539 70.024608 68.217183 70.012271 68.223743 69.999865 z " />
<path
id="rect631"
style="stroke-width:0.529184;fill:#ffffff;opacity:0.65"
d="M -69.850004 -71.967184 C -69.850004 -70.794442 -70.794068 -69.85 -71.96667 -69.85 C -72.14954 -69.85 -72.3268 -69.873453 -72.495837 -69.916663 L -72.495837 -74.017704 C -72.3268 -74.060915 -72.14954 -74.08385 -71.96667 -74.08385 C -70.794068 -74.08385 -69.850004 -73.139926 -69.850004 -71.967184 z "
transform="matrix(0,-1,-1,0,0,0)" />
<path
id="rect633"
style="fill:#ffffff;stroke-width:0.529184;opacity:0.75"
d="M -70.37917 -71.967184 C -70.37917 -71.087627 -71.087219 -70.379167 -71.96667 -70.379167 C -72.152468 -70.379167 -72.330403 -70.410935 -72.495837 -70.469084 L -72.495837 -73.464767 C -72.330403 -73.522915 -72.152468 -73.554684 -71.96667 -73.554684 C -71.087219 -73.554684 -70.37917 -72.84674 -70.37917 -71.967184 z "
transform="matrix(0,-1,-1,0,0,0)" />
<path
id="path635"
style="fill:#ffffff;stroke-width:0.529184"
d="M 67.771574 72.495837 A 4.2337301 4.2332248 0 0 0 70.716614 76.010868 A 4.2337301 4.2332248 0 0 0 71.097986 76.10802 A 4.3582515 4.3577314 0 0 0 71.238546 76.132824 A 4.2337301 4.2332248 0 0 0 71.500029 76.172098 A 4.3582515 4.3577314 0 0 0 71.731539 76.188635 A 4.2337301 4.2332248 0 0 0 71.967184 76.200004 A 4.2337301 4.2332248 0 0 0 71.968217 76.200004 A 4.3582515 4.3577314 0 0 0 71.970284 76.200004 A 4.3582515 4.3577314 0 0 0 72.341321 76.180367 A 4.2337301 4.2332248 0 0 0 72.560429 76.153495 A 4.3582515 4.3577314 0 0 0 72.736129 76.126623 A 4.2337301 4.2332248 0 0 0 73.036886 76.060477 A 4.3582515 4.3577314 0 0 0 73.12887 76.036706 A 4.2337301 4.2332248 0 0 0 76.16331 72.495837 L 67.771574 72.495837 z M 71.115556 73.066345 C 71.628736 73.066345 71.988371 73.462103 71.988371 74.117443 C 71.988371 74.772784 71.628736 75.183011 71.115556 75.183011 C 70.602376 75.183011 70.242741 74.772784 70.242741 74.117443 C 70.242741 73.462103 70.602376 73.066345 71.115556 73.066345 z M 73.00588 73.066345 C 73.011628 73.066235 73.017137 73.066345 73.022933 73.066345 C 73.265578 73.066345 73.480663 73.169696 73.622897 73.317492 L 73.489055 73.481823 C 73.363549 73.364686 73.212591 73.292171 73.022933 73.292171 C 72.791452 73.292171 72.641044 73.406485 72.641044 73.58776 C 72.641044 73.788553 72.822101 73.863954 72.981075 73.930891 L 73.271497 74.056465 C 73.508563 74.159646 73.69266 74.298719 73.69266 74.602685 C 73.69266 74.926172 73.424848 75.183011 72.998128 75.183011 C 72.708073 75.183011 72.459676 75.065793 72.28396 74.881738 L 72.437439 74.703454 C 72.582469 74.856826 72.788748 74.957185 73.000712 74.957185 C 73.271245 74.957185 73.430143 74.823417 73.430143 74.625423 C 73.430143 74.41348 73.282767 74.346528 73.087529 74.26007 L 72.794523 74.131396 C 72.604873 74.050524 72.379045 73.905787 72.379045 73.607397 C 72.379045 73.297201 72.643781 73.073261 73.00588 73.066345 z M 71.115556 73.292171 C 70.747406 73.292171 70.507324 73.607113 70.507324 74.117443 C 70.507324 74.627774 70.747406 74.957185 71.115556 74.957185 C 71.483706 74.957185 71.723271 74.627774 71.723271 74.117443 C 71.723271 73.607113 71.483706 73.292171 71.115556 73.292171 z " />
<g
aria-label="OS"
id="text957"
style="font-size:1.39438px;font-family:'思源黑体 CN';-inkscape-font-specification:'思源黑体 CN';fill:#ffffff;fill-rule:evenodd;stroke-width:0.116198;stroke-linecap:round;stroke-linejoin:round"
transform="matrix(2.0001874,0,0,1.9999487,-74.724614,-74.332896)" />
</g>
<g
id="brunch-settings"
transform="translate(-5.2631579e-7,-0.00187035)">
<path
id="path1500"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.28761"
d="M 50.8 84.686824 C 48.461903 84.686824 46.566667 86.58206 46.566667 88.920157 C 46.566667 91.258255 48.461903 93.153491 50.8 93.153491 C 53.138098 93.153491 55.033334 91.258255 55.033334 88.920157 C 55.033334 86.58206 53.138098 84.686824 50.8 84.686824 z M 50.177299 86.428837 L 51.422701 86.428837 L 51.475928 87.087194 A 1.9574668 1.9574668 0 0 1 52.052637 87.414306 L 52.646916 87.133186 L 53.270134 88.215291 L 52.729082 88.588911 A 1.9574668 1.9574668 0 0 1 52.757504 88.920157 A 1.9574668 1.9574668 0 0 1 52.729082 89.250887 L 53.270134 89.624507 L 52.646916 90.706612 L 52.04902 90.425492 A 1.9574668 1.9574668 0 0 1 51.476445 90.756221 L 51.422701 91.411478 L 50.177299 91.411478 L 50.123556 90.752604 A 1.9574668 1.9574668 0 0 1 49.547364 90.425492 L 48.953085 90.706612 L 48.329867 89.624507 L 48.870919 89.250887 A 1.9574668 1.9574668 0 0 1 48.842497 88.920157 A 1.9574668 1.9574668 0 0 1 48.870919 88.588911 L 48.329867 88.215291 L 48.953085 87.133186 L 49.550981 87.414306 A 1.9574668 1.9574668 0 0 1 50.123556 87.083577 L 50.177299 86.428837 z M 50.8 88.208056 A 0.7118061 0.7118061 0 0 0 50.088416 88.920157 A 0.7118061 0.7118061 0 0 0 50.8 89.631742 A 0.7118061 0.7118061 0 0 0 51.511585 88.920157 A 0.7118061 0.7118061 0 0 0 50.8 88.208056 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="logos-whitesur.svg"
id="svg1041"
viewBox="0 0 304 448"
@ -21,13 +21,13 @@
inkscape:snap-bbox="true"
inkscape:current-layer="svg1041"
inkscape:window-maximized="1"
inkscape:window-y="32"
inkscape:window-y="38"
inkscape:window-x="0"
inkscape:window-height="701"
inkscape:window-height="698"
inkscape:window-width="1368"
inkscape:cy="163.24357"
inkscape:cx="154.96723"
inkscape:zoom="1.7519833"
inkscape:cy="317.63604"
inkscape:cx="87.581983"
inkscape:zoom="1.2388393"
showgrid="false"
inkscape:pagecheckerboard="0"
inkscape:pageopacity="0"
@ -45,6 +45,25 @@
</sodipodi:namedview>
<defs
id="defs304">
<linearGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.50001,0,0,0.5,57.065,60.056)"
y2="1.852"
y1="15.081"
x2="7.9373002"
x1="7.9373002"
id="linearGradient4678">
<stop
id="stop4674"
offset="0"
stop-color="#0aceff"
style="stop-color:#22282f;stop-opacity:1;" />
<stop
id="stop4676"
offset="1"
stop-color="#99ebff"
style="stop-color:#36464e;stop-opacity:1;" />
</linearGradient>
<linearGradient
spreadMethod="pad"
gradientUnits="userSpaceOnUse"
@ -1065,6 +1084,48 @@
id="linearGradient1484"
xlink:href="#linearGradient1384"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1303"
id="linearGradient1305"
x1="-15.25123"
y1="194.95467"
x2="139.77541"
y2="42.713833"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.11914018,0,0,0.11911517,261.20265,221.22883)" />
<linearGradient
inkscape:collect="always"
id="linearGradient1303">
<stop
style="stop-color:#62aeef;stop-opacity:1;"
offset="0"
id="stop1299" />
<stop
style="stop-color:#98c379;stop-opacity:1"
offset="1"
id="stop1301" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4678"
id="linearGradient4027"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.8897878,0,0,1.88975,255.92571,215.96539)"
x1="7.9373002"
y1="15.081"
x2="7.9373002"
y2="1.852" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2820"
id="linearGradient5262"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.8897878,0,0,1.88975,256.00006,256)"
x1="7.9373002"
y1="15.081"
x2="7.9373002"
y2="1.852" />
</defs>
<g
transform="matrix(3.7795,0,0,3.7795,0.6977347,-9.6620497)"
@ -3198,4 +3259,118 @@
cy="90.752075"
r="0.79374874" />
</g>
<g
id="archcraft">
<path
style="fill:url(#linearGradient4027);stroke-width:3.7795"
id="path4019"
fill="url(#linearGradient1869)"
d="m 264.42581,217.94963 c -3.60157,0 -6.50113,2.89929 -6.50113,6.50074 v 14.99857 c 0,3.60152 2.89934,6.50074 6.50113,6.50074 h 14.99894 c 3.6016,0 6.50112,-2.8993 6.50112,-6.50074 v -14.99857 c 0,-3.60152 -2.89933,-6.50074 -6.50112,-6.50074 z" />
<rect
id="rect4021"
stroke-width="0"
opacity="0"
ry="0"
rx="0"
height="31.999138"
width="31.999891"
y="216"
x="256.00006" />
<path
id="path53-3"
style="fill:url(#linearGradient1305);fill-opacity:1;stroke-width:0.119125"
d="m 271.92341,222.05193 v 4.4e-4 c -0.88125,2.1601 -1.41253,3.57324 -2.39374,5.66914 0.8535,0.43126 1.60049,1.11776 2.53894,2.21852 -1.06712,-0.844 -1.89902,-1.35366 -2.82585,-1.61549 -1.25571,2.61964 -3.22303,6.3512 -7.2152,13.52283 1.18348,-0.69409 7.87431,-2.44126 7.26662,-4.0234 -0.16395,-0.39501 -0.4938,-0.44751 -1.00152,-0.62791 v -1.00527 c 0.50865,-0.18102 0.83757,-0.23282 1.00152,-0.62814 0.16426,-0.39595 -0.0319,-0.66553 -0.26364,-1.15323 l 0.71088,-0.71051 c 0.48999,0.23297 0.75783,0.42759 1.15324,0.26336 h 2.4e-4 c 0.3951,-0.16392 0.44722,-0.49277 0.62828,-1.00131 h 1.00548 c 0.18168,0.51103 0.23325,0.8377 0.62804,1.00131 h 2.4e-4 c 0.39634,0.16423 0.66784,-0.0326 1.15347,-0.26336 l 0.71066,0.71051 c -0.2324,0.48926 -0.42737,0.7579 -0.26342,1.15323 v 2.4e-4 c 0.16333,0.39408 0.4879,0.44533 1.00153,0.62791 v 1.00527 c -3.32374,1.85704 4.44362,4.01032 6.06381,4.65131 -0.61034,-1.12345 -1.15522,-2.13627 -1.67541,-3.10072 -0.81947,-0.63501 -1.67426,-1.46137 -3.41783,-2.35602 1.1984,0.31134 2.05649,0.67055 2.72533,1.07204 -5.28947,-9.84605 -5.71781,-11.15439 -7.53167,-15.41075 z m 0.10238,13.39743 c -0.68723,0 -1.24423,0.55712 -1.24423,1.2442 0,0.68708 0.557,1.24396 1.24423,1.24396 0.68722,0 1.24446,-0.55688 1.24446,-1.24396 0,-0.68708 -0.55724,-1.2442 -1.24446,-1.2442 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccsssss" />
</g>
<g
id="brunch">
<path
style="fill:url(#linearGradient5262);stroke-width:3.7795"
id="path5254"
fill="url(#linearGradient1800)"
d="m 264.50016,257.98424 c -3.60156,0 -6.50112,2.89929 -6.50112,6.50074 v 14.99857 c 0,3.60152 2.89933,6.50074 6.50112,6.50074 h 14.99895 c 3.60156,0 6.50074,-2.89929 6.50074,-6.50074 v -14.99857 c 0,-3.60152 -2.89933,-6.50074 -6.50074,-6.50074 z" />
<rect
id="rect5256"
stroke-width="0"
opacity="0"
ry="0"
rx="0"
height="31.999138"
width="31.999891"
y="256"
x="256.00006" />
<path
style="fill:#109f5b;stroke-width:1.50005"
d="m 264.49981,277.98417 c 2.102,3.64386 3.1558,2.77764 7.04597,2.99993 4.14744,-2.28894 6.11177,-2.19715 5.03767,-6.14895 -0.45455,0.74189 -1.0846,1.38387 -1.89332,1.85185 -1.28473,0.74249 -2.47419,-0.0374 -3.79851,-0.3855 -1.34233,-0.35251 -2.81592,-0.28646 -3.56779,-1.5901 l -5.35506,-9.28312 c -1.58866,2.41574 -2.25698,5.34381 -1.85515,8.22552 0.20775,1.49004 2.51351,1.44238 3.31423,2.8304 z"
id="path625" />
<path
style="fill:#ffce41;stroke-width:1.50005"
d="m 272.16167,265.98447 c 0.86888,0.0233 1.74064,0.85408 2.54907,1.32126 1.38265,0.79894 1.25292,2.3774 1.55874,3.82022 0.26643,1.25701 1.59788,2.52373 0.90243,3.7294 l -6.23912,6.33382 c 0.0516,0.003 0.10352,0.006 0.15531,0.009 0.47728,0.0215 0.95361,0.021 1.42689,-0.0147 0.089,-0.01 0.17787,-0.0204 0.26665,-0.0323 0.37954,-0.0368 0.75762,-0.0941 1.13097,-0.16702 0.18354,-0.0357 0.36621,-0.0758 0.54793,-0.12013 0.31558,-0.0771 0.62635,-0.16991 0.93466,-0.27247 0.15437,-0.0488 0.3077,-0.1004 0.45999,-0.15528 0.41894,-0.15857 0.83064,-0.33947 1.23059,-0.54492 0.1633,-0.089 0.32448,-0.18182 0.48346,-0.27831 0.26603,-0.15278 0.52758,-0.31248 0.7823,-0.48629 0.15792,-0.10664 0.3132,-0.21703 0.46589,-0.33103 0.30226,-0.22836 0.59422,-0.47348 0.87606,-0.7324 0.078,-0.0673 0.15517,-0.13572 0.2315,-0.20506 0.3572,-0.34576 0.69374,-0.71788 1.01084,-1.11326 0.0646,-0.0832 0.12807,-0.16713 0.19046,-0.25194 0.2891,-0.3804 0.56341,-0.7785 0.8116,-1.20114 0.0238,-0.0391 0.0471,-0.078 0.0703,-0.11719 0.74594,-1.30477 1.6241,-3.8e-4 1.84591,-1.49528 0.0865,-0.58324 0.13442,-1.17205 0.14474,-1.75952 0.005,-0.28108 -0.0204,-0.55829 -0.0323,-0.83787 -0.14066,-1.79708 -0.68444,-3.53939 -1.59095,-5.09751 z"
id="path627" />
<path
style="fill:#dd4d3e;stroke-width:1.50005"
d="m 272.00052,259.98462 a 12.001132,11.9997 0 0 0 -0.59771,0.0204 c -2.09527,0.10426 -4.15727,0.81569 -5.9449,1.92183 a 12.001132,11.9997 0 0 0 -4.12539,4.58485 l 5.53763,8.58963 c -0.45126,-0.74279 -0.22396,-1.9268 -0.26954,-2.85931 -0.0781,-1.59483 1.31768,-2.34169 2.36448,-3.38077 0.91199,-0.90528 1.25549,-2.70804 2.64575,-2.77728 l 10.80864,-0.0266 a 12.001132,11.9997 0 0 0 -10.41895,-6.07309 z"
id="path629" />
<rect
fill="#ffffff"
width="11.999701"
height="12.001133"
x="-277.98419"
y="-278.0011"
rx="5.9998503"
ry="6.0005665"
transform="matrix(0,-1,-1,0,0,0)"
id="rect631"
style="stroke-width:1.50005" />
<rect
style="fill:#4587f3;stroke-width:1.50005"
width="8.9997749"
height="9.0008497"
x="-276.48419"
y="-276.50092"
rx="4.4998875"
ry="4.5004249"
transform="matrix(0,-1,-1,0,0,0)"
id="rect633" />
<path
style="fill:#4f4f4f;stroke-width:1.50005"
d="m 260.1078,273.48429 a 12.001132,11.9997 0 0 0 8.34747,9.96362 12.001132,11.9997 0 0 0 1.08115,0.27536 12.354107,12.352632 0 0 0 0.39848,0.0703 12.001132,11.9997 0 0 0 0.74128,0.11135 12.354107,12.352632 0 0 0 0.65631,0.0471 12.001132,11.9997 0 0 0 0.66803,0.0323 12.001132,11.9997 0 0 0 0.003,0 12.354107,12.352632 0 0 0 0.006,0 12.354107,12.352632 0 0 0 1.05186,-0.0556 12.001132,11.9997 0 0 0 0.62115,-0.0762 12.354107,12.352632 0 0 0 0.4981,-0.0762 12.001132,11.9997 0 0 0 0.85261,-0.18748 12.354107,12.352632 0 0 0 0.26076,-0.0674 12.001132,11.9997 0 0 0 8.60237,-10.03687 z"
id="path635" />
<g
aria-label="OS"
id="text957"
style="font-size:1.39438px;font-family:'思源黑体 CN';-inkscape-font-specification:'思源黑体 CN';fill:#ffffff;fill-rule:evenodd;stroke-width:0.116198;stroke-linecap:round;stroke-linejoin:round"
transform="matrix(5.6698262,0,0,5.6691496,-143.81863,-142.72345)">
<path
d="m 72.913212,74.759826 c 0.256566,0 0.436441,-0.204974 0.436441,-0.532653 0,-0.327679 -0.179875,-0.525681 -0.436441,-0.525681 -0.256566,0 -0.436441,0.198002 -0.436441,0.525681 0,0.327679 0.179875,0.532653 0.436441,0.532653 z m 0,-0.112945 c -0.184058,0 -0.303975,-0.164536 -0.303975,-0.419708 0,-0.255172 0.119917,-0.412736 0.303975,-0.412736 0.184058,0 0.303975,0.157564 0.303975,0.412736 0,0.255172 -0.119917,0.419708 -0.303975,0.419708 z"
id="path1058" />
<path
d="m 73.854419,74.759826 c 0.21334,0 0.347201,-0.128283 0.347201,-0.290031 0,-0.151987 -0.09203,-0.221706 -0.210552,-0.273298 l -0.145015,-0.06275 c -0.07948,-0.03347 -0.170114,-0.07111 -0.170114,-0.171509 0,-0.09064 0.0753,-0.147804 0.19103,-0.147804 0.09482,0 0.170114,0.03625 0.232861,0.09482 l 0.06693,-0.08227 c -0.07111,-0.0739 -0.17848,-0.125494 -0.299791,-0.125494 -0.185453,0 -0.322102,0.112945 -0.322102,0.270509 0,0.149199 0.112945,0.221707 0.207762,0.262144 l 0.14641,0.06414 c 0.09761,0.04323 0.171509,0.07669 0.171509,0.182664 0,0.099 -0.07948,0.165931 -0.214734,0.165931 -0.105973,0 -0.209157,-0.0502 -0.281665,-0.126888 l -0.07669,0.08924 c 0.08785,0.09203 0.211946,0.150593 0.356961,0.150593 z"
id="path1060" />
</g>
</g>
<g
id="brunch-settings"
transform="translate(-38.565054,3.1441056)">
<path
style="fill:#4587f3;fill-opacity:1;stroke-width:3.7795"
id="path5289"
fill="url(#linearGradient1800)"
d="m 223.06537,319.69742 c -3.60156,0 -6.50112,2.89929 -6.50112,6.50074 v 14.99857 c 0,3.60152 2.89933,6.50074 6.50112,6.50074 h 14.99895 c 3.60156,0 6.50074,-2.89929 6.50074,-6.50074 v -14.99857 c 0,-3.60152 -2.89933,-6.50074 -6.50074,-6.50074 z" />
<rect
id="rect5291"
stroke-width="0"
opacity="0"
ry="0"
rx="0"
height="31.999138"
width="31.999891"
y="317.7132"
x="214.56528" />
<path
inkscape:connector-curvature="0"
style="fill:#ffffff;stroke-width:1.34515"
d="m 228.21064,324.28143 -0.20179,2.47507 a 7.3982996,7.3982996 0 0 0 -2.16567,1.25098 l -2.25984,-1.06266 -2.35401,4.08924 2.04463,1.4124 a 7.3982996,7.3982996 0 0 0 -0.10761,1.25099 7.3982996,7.3982996 0 0 0 0.10761,1.25098 l -2.04463,1.41241 2.35401,4.08924 2.24639,-1.06267 a 7.3982996,7.3982996 0 0 0 2.17914,1.23753 l 0.20178,2.48852 h 4.70801 l 0.20179,-2.47506 a 7.3982996,7.3982996 0 0 0 2.16568,-1.25099 l 2.25985,1.06267 2.354,-4.08924 -2.04462,-1.41241 a 7.3982996,7.3982996 0 0 0 0.1076,-1.25098 7.3982996,7.3982996 0 0 0 -0.1076,-1.25099 l 2.04462,-1.4124 -2.354,-4.08924 -2.24639,1.06266 a 7.3982996,7.3982996 0 0 0 -2.17915,-1.23753 l -0.20179,-2.48852 z m 2.35401,6.72573 a 2.6902907,2.6902907 0 0 1 2.69029,2.69029 2.6902907,2.6902907 0 0 1 -2.69029,2.69029 2.6902907,2.6902907 0 0 1 -2.69029,-2.69029 2.6902907,2.6902907 0 0 1 2.69029,-2.69029 z"
id="path1502" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 197 KiB

After

Width:  |  Height:  |  Size: 208 KiB

View File

@ -45,6 +45,8 @@ zorin
nixos
gpart
ubuntuDDE
archcraft
brunch
recovery
restart
@ -62,3 +64,4 @@ type
tz
unset
submenu
brunch-settings

View File

@ -14,10 +14,12 @@
in
with nixpkgs.lib;
rec {
nixosModule = { config, ... }:
nixosModules.default = { config, ... }:
let
cfg = config.boot.loader.grub2-theme;
splashImage = if cfg.splashImage == null then "" else cfg.splashImage;
hasBootMenuConfig = cfg.bootMenuConfig != null;
hasTerminalConfig = cfg.terminalConfig != null;
resolutions = {
"1080p" = "1920x1080";
"ultrawide" = "2560x1080";
@ -37,11 +39,30 @@
--icon ${cfg.icon};
if [ -n "${splashImage}" ]; then
cp ${splashImage} $out/grub/themes/${cfg.theme}/background.jpg;
filename=$(basename -- "${splashImage}")
extension="''${filename##*.}"
rm $out/grub/themes/${cfg.theme}/background.jpg;
cp ${splashImage} $out/grub/themes/${cfg.theme}/background.$extension;
cp ${splashImage} $out/grub/themes/${cfg.theme}/background;
sed -i "s/background.jpg/background.$extension/g" $out/grub/themes/${cfg.theme}/theme.txt;
fi;
if [ ${pkgs.lib.trivial.boolToString cfg.footer} == "false" ]; then
sed -i ':again;$!N;$!b again; s/\+ image {[^}]*}//g' $out/grub/themes/${cfg.theme}/theme.txt;
fi;
if [ ${pkgs.lib.trivial.boolToString hasBootMenuConfig} == "true" ]; then
sed -i ':again;$!N;$!b again; s/\+ boot_menu {[^}]*}//g' $out/grub/themes/${cfg.theme}/theme.txt;
cat << EOF >> $out/grub/themes/${cfg.theme}/theme.txt
+ boot_menu {
${if cfg.bootMenuConfig == null then "" else cfg.bootMenuConfig}
}
EOF
fi;
if [ ${pkgs.lib.trivial.boolToString hasTerminalConfig} == "true" ]; then
sed -i 's/^terminal-.*$//g' $out/grub/themes/${cfg.theme}/theme.txt
cat << EOF >> $out/grub/themes/${cfg.theme}/theme.txt
${if cfg.terminalConfig == null then "" else cfg.terminalConfig}
EOF
fi;
'';
};
resolution = resolutions."${cfg.screen}";
@ -86,7 +107,25 @@
example = "/my/path/background.jpg";
type = types.nullOr types.path;
description = ''
The path of the image to use for background (must be jpg).
The path of the image to use for background (must be jpg or png).
'';
};
bootMenuConfig = mkOption {
default = null;
example = "left = 30%";
type = types.nullOr types.string;
description = ''
Grub theme definition for boot_menu.
Refer to config/theme-*.txt for reference.
'';
};
terminalConfig = mkOption {
default = null;
example = "terminal-font: \"Terminus Regular 18\"";
type = types.nullOr types.string;
description = ''
Replaces grub theme definition for terminial-*.
Refer to config/theme-*.txt for reference.
'';
};
footer = mkOption {
@ -103,17 +142,22 @@
environment.systemPackages = [
grub2-theme
];
boot.loader.grub = {
theme = "${grub2-theme}/grub/themes/${cfg.theme}";
splashImage = "${grub2-theme}/grub/themes/${cfg.theme}/background.jpg";
gfxmodeEfi = "${resolution},auto";
gfxmodeBios = "${resolution},auto";
extraConfig = ''
insmod gfxterm
insmod png
set icondir=($root)/theme/icons
'';
};
boot.loader.grub =
let
ext = if cfg.splashImage == null then "jpg" else last (splitString "." cfg.splashImage);
in
{
theme = "${grub2-theme}/grub/themes/${cfg.theme}";
splashImage =
"${grub2-theme}/grub/themes/${cfg.theme}/background.${ext}";
gfxmodeEfi = "${resolution},auto";
gfxmodeBios = "${resolution},auto";
extraConfig = ''
insmod gfxterm
insmod png
set icondir=($root)/theme/icons
'';
};
}]);
};
};

View File

@ -57,17 +57,33 @@ function has_command() {
}
usage() {
printf "%s\n" "Usage: ${0##*/} [OPTIONS...]"
printf "\n%s\n" "OPTIONS:"
printf " %-25s%s\n" "-t, --theme" "theme variant(s) [tela|vimix|stylish|whitesur] (default is tela)"
printf " %-25s%s\n" "-i, --icon" "icon variant(s) [color|white|whitesur] (default is color)"
printf " %-25s%s\n" "-s, --screen" "screen display variant(s) [1080p|2k|4k|ultrawide|ultrawide2k] (default is 1080p)"
printf " %-25s%s\n" "-r, --remove" "Remove theme (must add theme name option)"
printf " %-25s%s\n" "-g, --generate" "do not install, but generate theme into chosen directory"
printf " %-25s%s\n" "-h, --help" "Show this help"
cat << EOF
Usage: $0 [OPTION]...
OPTIONS:
-t, --theme theme variant(s) [tela|vimix|stylish|whitesur] (default is tela)
-i, --icon icon variant(s) [color|white|whitesur] (default is color)
-s, --screen screen display variant(s) [1080p|2k|4k|ultrawide|ultrawide2k] (default is 1080p)
-r, --remove Remove theme [tela|vimix|stylish|whitesur] (must add theme name option, default is tela)
-b, --boot install theme into '/boot/grub' or '/boot/grub2'
-g, --generate do not install but generate theme into chosen directory (must add your directory)
-h, --help Show this help
EOF
}
generate() {
if [[ "${install_boot}" == 'true' ]]; then
if [[ -d "/boot/grub" ]]; then
THEME_DIR='/boot/grub/themes'
elif [[ -d "/boot/grub2" ]]; then
THEME_DIR='/boot/grub2/themes'
fi
fi
# Make a themes directory if it doesn't exist
prompt -s "\n Checking for the existence of themes directory..."
@ -120,9 +136,7 @@ install() {
prompt -s "\n Setting ${theme} as default..."
# Backup grub config
if [[ ! -f "/etc/default/grub.bak" ]]; then
cp -an /etc/default/grub /etc/default/grub.bak
fi
cp -an /etc/default/grub /etc/default/grub.bak
# Fedora workaround to fix the missing unicode.pf2 file (tested on fedora 34): https://bugzilla.redhat.com/show_bug.cgi?id=1739762
# This occurs when we add a theme on grub2 with Fedora.
@ -193,31 +207,39 @@ install() {
fi
# Update grub config
prompt -s "\n Updating grub config...\n"
prompt -s "\n Updating grub config..."
updating_grub
prompt -w "\n * At the next restart of your computer you will see your new Grub theme: '$theme' "
#Check if password is cached (if cache timestamp has not expired yet)
elif sudo -n true 2> /dev/null && echo; then
sudo "$0" -t ${theme} -i ${icon} -s ${screen}
if [[ "${install_boot}" == 'true' ]]; then
sudo "$0" -t ${theme} -i ${icon} -s ${screen} -b
else
sudo "$0" -t ${theme} -i ${icon} -s ${screen}
fi
else
#Ask for password
if [[ -n ${tui_root_login} ]] ; then
if [[ -n "${theme}" && -n "${screen}" ]]; then
sudo -S $0 -t ${theme} -i ${icon} -s ${screen} <<< ${tui_root_login}
if [[ "${install_boot}" == 'true' ]]; then
sudo -S $0 -t ${theme} -i ${icon} -s ${screen} -b <<< ${tui_root_login}
else
sudo -S $0 -t ${theme} -i ${icon} -s ${screen} <<< ${tui_root_login}
fi
fi
else
prompt -e "\n [ Error! ] -> Run me as root! "
read -r -p " [ Trusted ] Specify the root password : " -t ${MAX_DELAY} -s
if sudo -S echo <<< $REPLY 2> /dev/null && echo; then
#Correct password, use with sudo's stdin
sudo -S "$0" -t ${theme} -i ${icon} -s ${screen} <<< ${REPLY}
if [[ "${install_boot}" == 'true' ]]; then
sudo -S "$0" -t ${theme} -i ${icon} -s ${screen} -b <<< ${REPLY}
else
sudo -S "$0" -t ${theme} -i ${icon} -s ${screen} <<< ${REPLY}
fi
else
#block for 3 seconds before allowing another attempt
sleep 3
prompt -e "\n [ Error! ] -> Incorrect password!\n"
@ -314,11 +336,11 @@ updating_grub() {
grub2-mkconfig -o /boot/grub2/grub.cfg
elif has_command dnf; then
if [[ -f /boot/efi/EFI/fedora/grub.cfg ]] && (( $(cat /etc/fedora-release | awk '{print $3}') < 34 )); then
prompt -i "Find config file on /boot/efi/EFI/fedora/grub.cfg ...\n"
prompt -i "\n Find config file on /boot/efi/EFI/fedora/grub.cfg ...\n"
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
fi
if [[ -f /boot/grub2/grub.cfg ]]; then
prompt -i "Find config file on /boot/grub2/grub.cfg ...\n"
prompt -i "\n Find config file on /boot/grub2/grub.cfg ...\n"
grub2-mkconfig -o /boot/grub2/grub.cfg
fi
fi
@ -353,10 +375,19 @@ remove() {
# Check for root access and proceed if it is present
if [ "$UID" -eq "$ROOT_UID" ]; then
echo -e "Checking for the existence of themes directory..."
prompt -i "\n Checking for the existence of themes directory..."
if [[ -d "${THEME_DIR}/${theme}" ]]; then
prompt -s "\n Find installed theme: '${THEME_DIR}/${theme}'..."
rm -rf "${THEME_DIR}/${theme}"
prompt -w "\n Removed: '${THEME_DIR}/${theme}'..."
elif [[ -d "/boot/grub/themes/${theme}" ]]; then
prompt -s "\n Find installed theme: '/boot/grub/themes/${theme}'..."
rm -rf "/boot/grub/themes/${theme}"
prompt -w "\n Removed: '/boot/grub/themes/${theme}'..."
elif [[ -d "/boot/grub2/themes/${theme}" ]]; then
prompt -s "\n Find installed theme: '/boot/grub2/themes/${theme}'..."
rm -rf "/boot/grub2/themes/${theme}"
prompt -w "\n Removed: '/boot/grub2/themes/${theme}'..."
else
prompt -e "\n Specified ${theme} theme does not exist!"
exit 0
@ -364,13 +395,10 @@ remove() {
local grub_config_location=""
if [[ -f "/etc/default/grub" ]]; then
grub_config_location="/etc/default/grub"
elif [[ -f "/etc/default/grub.d/kali-themes.cfg" ]]; then
grub_config_location="/etc/default/grub.d/kali-themes.cfg"
else
prompt -e "\nCannot find grub config file in default locations!"
prompt -e "\nPlease inform the developers by opening an issue on github."
prompt -e "\nExiting..."
@ -380,16 +408,12 @@ remove() {
local current_theme="" # Declaration and assignment should be done seperately ==> https://github.com/koalaman/shellcheck/wiki/SC2155
current_theme="$(grep 'GRUB_THEME=' $grub_config_location | grep -v \#)"
if [[ -n "$current_theme" ]]; then
# Backup with --in-place option to grub.bak within the same directory; then remove the current theme.
sed --in-place='.bak' "s|$current_theme|#GRUB_THEME=|" "$grub_config_location"
rm -rf "$grub_config_location".bak
# Update grub config
prompt -s "\n Resetting grub theme...\n"
updating_grub
else
prompt -e "\nNo active theme found."
prompt -e "\nExiting..."
exit 1
@ -399,7 +423,7 @@ remove() {
#Check if password is cached (if cache timestamp not expired yet)
if sudo -n true 2> /dev/null && echo; then
#No need to ask for password
sudo "$0" "${PROG_ARGS[@]}"
sudo "$0" -t ${theme} "${PROG_ARGS[@]}"
else
#Ask for password
prompt -e "\n [ Error! ] -> Run me as root! "
@ -407,7 +431,7 @@ remove() {
if sudo -S echo <<< $REPLY 2> /dev/null && echo; then
#Correct password, use with sudo's stdin
sudo -S "$0" "${PROG_ARGS[@]}" <<< $REPLY
sudo -S "$0" -t ${theme} "${PROG_ARGS[@]}" <<< $REPLY
else
#block for 3 seconds before allowing another attempt
sleep 3
@ -462,7 +486,35 @@ while [[ $# -gt 0 ]]; do
case "${1}" in
-r|--remove)
remove='true'
shift 1
shift
for theme in "${@}"; do
case "${theme}" in
tela)
themes+=("${THEME_VARIANTS[0]}")
shift
;;
vimix)
themes+=("${THEME_VARIANTS[1]}")
shift
;;
stylish)
themes+=("${THEME_VARIANTS[2]}")
shift
;;
whitesur)
themes+=("${THEME_VARIANTS[3]}")
shift
;;
-*)
break
;;
*)
prompt -e "ERROR: Unrecognized theme variant '$1'."
prompt -i "Try '$0 --help' for more information."
exit 1
;;
esac
done
;;
-g|--generate)
shift 1
@ -470,6 +522,10 @@ while [[ $# -gt 0 ]]; do
install=generate
shift 1
;;
-b|--boot)
install_boot='true'
shift 1
;;
-t|--theme)
shift
for theme in "${@}"; do

Binary file not shown.

Before

Width:  |  Height:  |  Size: 922 KiB

After

Width:  |  Height:  |  Size: 937 KiB