Compare commits

...

25 Commits

Author SHA1 Message Date
azalea 62fdc22c00 [U] Release 2.0.5 2025-11-21 07:21:23 -05:00
azalea 1fdcfa66b8 Update neofetch 2025-11-21 20:20:39 +08:00
azalea d08a0745a5 [F] Fix shell check 2025-11-21 20:18:44 +08:00
azalea 4ee5344209 Update deploy.md 2025-11-21 20:10:23 +08:00
azalea 26030b0628 [+] Changelogs 2025-11-21 20:04:03 +08:00
azalea 9b376f97c0 [F] Fix #460: Hyfetch panics upon entering invalid alignment option after roll 2025-11-21 19:38:19 +08:00
azalea 2dc18050ca [F] Fix warning 2025-11-21 19:32:14 +08:00
azalea e816235637 [F] Fix #462 Python version prints Traceback on KeyboardInterrupt 2025-11-21 19:27:52 +08:00
azalea 8046e9bab3 [F] Fix #465 2025-11-21 19:21:23 +08:00
ruby_rose e03cda1475 Added femme flag (#456)
* Added femme

* Properly added femme to the list in build.rs

* Revert "Properly added femme to the list in build.rs"

This reverts commit be7f0748ac042bb824a074a664d9978e835a3a58.

---------

Co-authored-by: Azalea <22280294+hykilpikonna@users.noreply.github.com>
2025-11-21 19:14:56 +08:00
Tini 20e5fb3f89 issue #440 void_old added (#457) 2025-11-21 19:10:36 +08:00
LithTheFox e253a75924 Added back the flags that were lost in the python and rust presets merge (#466)
* Added flags that were lost in the Python and Rust presets merge

* [F] Should be above meme flags

---------

Co-authored-by: Azalea <22280294+hykilpikonna@users.noreply.github.com>
2025-11-21 19:09:54 +08:00
azalea 2252fc36e7 Merge branch 'master' of github.com:hykilpikonna/hyfetch 2025-10-22 13:15:42 +08:00
azalea 4e23243384 [O] Colorize secureblue (#434) 2025-10-22 13:15:17 +08:00
azalea f6dc68d7dc [+] Secureblue (closes #434) 2025-10-22 13:02:53 +08:00
azalea f947373a23 [U] Release 2.0.4 2025-10-22 00:46:55 -04:00
azalea 5b745cde01 [U] Changelog 2025-10-22 00:29:49 -04:00
azalea 1afbd66355 [O] Specify python 3.7 to be min version 2025-10-22 12:29:29 +08:00
azalea 2fe21deea8 [F] Fix windows binary mixed with unix 2025-10-22 12:08:39 +08:00
azalea 37a19901bb [U] Update build tool to work with new builder 2025-10-22 11:56:40 +08:00
azalea 063679b72d [O] Moderize python build tool from setup-tools to hatchling 2025-10-22 11:55:07 +08:00
azalea 264cf11690 Merge branch 'master' of github.com:hykilpikonna/hyfetch 2025-10-22 11:34:09 +08:00
azalea 6280d370bc [U] Clarify notes 2025-10-22 11:30:49 +08:00
azalea 6cfc337d83 [O] Fix unused warning on non-windows 2025-10-22 11:28:52 +08:00
azalea 533de96e80 [U] Update notes 2025-10-22 11:24:49 +08:00
21 changed files with 275 additions and 149 deletions
Generated
+1 -1
View File
@@ -269,7 +269,7 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]] [[package]]
name = "hyfetch" name = "hyfetch"
version = "2.0.3" version = "2.0.5"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"ansi_colours", "ansi_colours",
+1 -1
View File
@@ -3,7 +3,7 @@ resolver = "2"
members = ["crates/*"] members = ["crates/*"]
[workspace.package] [workspace.package]
version = "2.0.3" version = "2.0.5"
authors = ["Azalea Gui <azalea@hydev.org>"] authors = ["Azalea Gui <azalea@hydev.org>"]
edition = "2021" edition = "2021"
rust-version = "1.75.0" rust-version = "1.75.0"
-9
View File
@@ -1,9 +0,0 @@
include hyfetch/scripts/*
recursive-exclude tools *
recursive-exclude .github *
recursive-exclude .vscode *
exclude .gitignore
exclude .gitattributes
exclude package.json
exclude CONTRIBUTING.md
+23
View File
@@ -129,6 +129,29 @@ cargo install --git https://github.com/hykilpikonna/hyfetch
<!-- CHANGELOG STARTS HERE ---> <!-- CHANGELOG STARTS HERE --->
### 2.0.5
**✨ Features & Enhancements**
* Added support for Secureblue ([#434](https://github.com/hykilpikonna/hyfetch/pull/434)).
* Added `void_old` logo variant ([#457](https://github.com/hykilpikonna/hyfetch/pull/457)).
* Added Femme flag ([#456](https://github.com/hykilpikonna/hyfetch/pull/456)).
**🐛 Bug Fixes**
* Fixed a panic when entering an invalid alignment option after rolling ([#460](https://github.com/hykilpikonna/hyfetch/issues/460)).
* Fixed Traceback printing on KeyboardInterrupt ([#462](https://github.com/hykilpikonna/hyfetch/issues/462)).
* Restored flags lost during Python/Rust presets merge ([#466](https://github.com/hykilpikonna/hyfetch/pull/466)).
* Fixed a panic with file metadata access ([#465](https://github.com/hykilpikonna/hyfetch/issues/465)).
### 2.0.4
**🔧 Building Pipeline Refactoring**
* Modernize Python building toolchain from `setup.py` to `pyproject.toml`
* Fixed a bug where Windows binaries are mistakenly built into Unix packages.
* Fixed a bug where `presets.json` was not being included in the built package.
### 2.0.3 ### 2.0.3
(changelog is generated by Gemini from commit history) (changelog is generated by Gemini from commit history)
+13 -10
View File
@@ -938,16 +938,19 @@ fn create_config(
} }
// Save choice // Save choice
color_align = arrangements color_align = if choice == "horizontal" { ColorAlignment::Horizontal }
.into_iter() else if choice == "vertical" { ColorAlignment::Vertical }
.find_map(|(k, ca)| { else {
if k.to_lowercase() == choice { arrangements.into_iter()
Some(ca) .find_map(|(k, ca)| {
} else { if k.to_lowercase() == choice {
None Some(ca)
} } else {
}) None
.expect("selected color alignment should be valid"); }
})
.expect("selected color alignment is not valid") // TODO: it sould ask the user to retry instead of panicking
};
debug!(?color_align, "selected color alignment"); debug!(?color_align, "selected color alignment");
break; break;
} }
+3 -1
View File
@@ -2,7 +2,9 @@ use std::borrow::Cow;
use std::ffi::OsStr; use std::ffi::OsStr;
#[cfg(feature = "macchina")] #[cfg(feature = "macchina")]
use std::fs; use std::fs;
use std::io::{self, Write as _}; use std::io::{Write as _};
#[cfg(windows)]
use std::io::{self};
use std::path::PathBuf; use std::path::PathBuf;
use std::process::Command; use std::process::Command;
use std::sync::OnceLock; use std::sync::OnceLock;
+1 -6
View File
@@ -85,12 +85,7 @@ where
let metadata = match fs::metadata(path) { let metadata = match fs::metadata(path) {
Ok(metadata) => metadata, Ok(metadata) => metadata,
Err(err) if err.kind() == io::ErrorKind::NotFound => { Err(_) => return Ok(None)
return Ok(None);
},
Err(err) => {
return Err(err).with_context(|| format!("failed to get metadata for {path:?}"));
},
}; };
if !metadata.is_file() { if !metadata.is_file() {
+3 -3
View File
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH VERSION: "1" "October 2025" "Version: 2.0.3" "User Commands" .TH VERSION: "1" "November 2025" "Version: 2.0.5" "User Commands"
.SH NAME .SH NAME
Version: \- manual page for Version: 2.0.3 Version: \- manual page for Version: 2.0.5
.SH SYNOPSIS .SH SYNOPSIS
.B hyfetch .B hyfetch
[\fI\,-c\/\fR] [\fI\,-C=CONFIG_FILE\/\fR] [\fI\,-p=PRESET\/\fR] [\fI\,-m=MODE\/\fR] [\fI\,-b=BACKEND\/\fR] [\fI\,--args=ARGS\/\fR] [\fI\,--c-scale=\/\fR [\fI\,-c\/\fR] [\fI\,-C=CONFIG_FILE\/\fR] [\fI\,-p=PRESET\/\fR] [\fI\,-m=MODE\/\fR] [\fI\,-b=BACKEND\/\fR] [\fI\,--args=ARGS\/\fR] [\fI\,--c-scale=\/\fR
@@ -22,7 +22,7 @@ Use another config file
\fB\-p\fR, \fB\-\-preset\fR=\fI\,PRESET\/\fR \fB\-p\fR, \fB\-\-preset\fR=\fI\,PRESET\/\fR
Use preset or comma\-separated color list or comma\-separated hex colors Use preset or comma\-separated color list or comma\-separated hex colors
(e.g., "#ff0000,#00ff00,#0000ff") (e.g., "#ff0000,#00ff00,#0000ff")
PRESET={rainbow,transgender,nonbinary,xenogender,agender,queer,genderfluid,bisexual,pansexual,polysexual,omnisexual,omniromantic,gay\-men,lesbian,abrosexual,asexual,aromantic,fictosexual,aroace1,aroace2,aroace3,autosexual,intergender,greygender,akiosexual,bigender,demigender,demiboy,demigirl,transmasculine,transfeminine,genderfaun,demifaun,genderfae,demifae,neutrois,biromantic1,biromantic2,autoromantic,boyflux2,girlflux,genderflux,nullflux,hypergender,hyperboy,hypergirl,hyperandrogyne,hyperneutrois,finsexual,unlabeled1,unlabeled2,pangender,pangender.contrast,gendernonconforming1,gendernonconforming2,femboy,tomboy,gynesexual,androsexual,gendervoid,voidgirl,voidboy,nonhuman\-unity,plural,fraysexual,bear,butch,leather,otter,twink,adipophilia,kenochoric,veldian,solian,lunian,polyam,sapphic,androgyne,interprogress,progress,intersex,old\-polyam,equal\-rights,drag,pronounfluid,pronounflux,exipronoun,neopronoun,neofluid,genderqueer,cisgender,baker,caninekin,libragender,librafeminine,libramasculine,libraandrogyne,libranonbinary,fluidflux1,fluidflux2,beiyang,burger,throatlozenges,band,random} PRESET={rainbow,transgender,nonbinary,xenogender,agender,queer,genderfluid,bisexual,pansexual,polysexual,omnisexual,omniromantic,gay\-men,lesbian,abrosexual,asexual,aromantic,fictosexual,aroace1,aroace2,aroace3,autosexual,intergender,greygender,akiosexual,bigender,demigender,demiboy,demigirl,transmasculine,transfeminine,genderfaun,demifaun,genderfae,demifae,neutrois,biromantic1,biromantic2,autoromantic,boyflux2,girlflux,genderflux,nullflux,hypergender,hyperboy,hypergirl,hyperandrogyne,hyperneutrois,finsexual,unlabeled1,unlabeled2,pangender,pangender.contrast,gendernonconforming1,gendernonconforming2,femboy,tomboy,gynesexual,androsexual,gendervoid,voidgirl,voidboy,nonhuman\-unity,plural,fraysexual,bear,butch,femme,leather,otter,twink,adipophilia,kenochoric,veldian,solian,lunian,polyam,sapphic,androgyne,interprogress,progress,intersex,old\-polyam,equal\-rights,drag,pronounfluid,pronounflux,exipronoun,neopronoun,neofluid,genderqueer,cisgender,baker,caninekin,libragender,librafeminine,libramasculine,libraandrogyne,libranonbinary,fluidflux1,fluidflux2,transbian,autism,cenelian,transneutral,beiyang,burger,throatlozenges,band,random}
.TP .TP
\fB\-m\fR, \fB\-\-mode\fR=\fI\,MODE\/\fR \fB\-m\fR, \fB\-\-mode\fR=\fI\,MODE\/\fR
Color mode MODE={8bit,rgb} Color mode MODE={8bit,rgb}
+15 -13
View File
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
.TH NEOFETCH "1" "October 2025" "Neofetch 8.0.3" "User Commands" .TH NEOFETCH "1" "November 2025" "Neofetch 8.0.5" "User Commands"
.SH NAME .SH NAME
Neofetch \- manual page for Neofetch 8.0.3 Neofetch \- manual page for Neofetch 8.0.5
.SH SYNOPSIS .SH SYNOPSIS
.B neofetch .B neofetch
\fI\,func_name --option "value" --option "value"\/\fR \fI\,func_name --option "value" --option "value"\/\fR
@@ -356,18 +356,20 @@ Profelis SambaBOX, Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes,
Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star, Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star,
Redcore, Redhat, Refracted Devuan, Regata, Regolith, RhaymOS, Rhino Redcore, Redhat, Refracted Devuan, Regata, Regolith, RhaymOS, Rhino
Linux, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS, Salient Linux, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS, Salient
OS, Salix, Sasanqua, Scientific, semc, Septor, Serene, SharkLinux, OS, Salix, Sasanqua, Scientific, secureblue, semc, Septor, Serene,
ShastraOS, Siduction, SkiffOS, Slackel, Slackware, SliTaz, SmartOS, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackel, Slackware,
Soda, Solus, Source Mage, Sparky, Star, SteamOS, Stock Linux, Sulin, SliTaz, SmartOS, Soda, Solus, Source Mage, Sparky, Star, SteamOS,
SunOS, SwagArch, t2, Tails, Tatra, TeArch, TorizonCore, Trisquel, Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, Tatra, TeArch,
Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu
Ubuntu MATE, Ubuntu Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu\-GNOME, Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Sway,
ubuntu_old02, Ultramarine Linux, unicodearch, Univalent, Univention, Ubuntu Touch, Ubuntu\-GNOME, ubuntu_old02, Ultramarine Linux,
Uos, UrukOS, uwuntu, Vanilla, Venom, VNux, Void, VzLinux, wii\-linuxngx, Windows, Windows 10, Windows 11, Windows95, Wrt, Xenia, Xenia2, unicodearch, Univalent, Univention, Uos, UrukOS, uwuntu, Vanilla,
XFerience, Xray_OS, Xubuntu, yiffOS, Zorin have ascii logos. Venom, VNux, Void, VzLinux, wii\-linux\-ngx, Windows, Windows 10,
Windows 11, Windows95, Wrt, Xenia, Xenia2, XFerience, Xray_OS,
Xubuntu, yiffOS, Zorin have ascii logos.
.TP .TP
NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu,
have 'old' logo variants, use {distro}_old to use them. void have 'old' logo variants, use {distro}_old to use them.
.TP .TP
NOTE: alpine, android, arch, arcolinux, artix, CalinixOS, centos, NOTE: alpine, android, arch, arcolinux, artix, CalinixOS, centos,
cleanjaro, crux, debian, dragonfly, elementary, endeavouros, fedora, cleanjaro, crux, debian, dragonfly, elementary, endeavouros, fedora,
+1 -1
View File
@@ -1,3 +1,3 @@
from __future__ import annotations from __future__ import annotations
VERSION = '2.0.3' VERSION = '2.0.5'
+9 -1
View File
@@ -147,6 +147,10 @@
"colors": ["#D72800", "#F17623", "#FF9C56", "#FFFDF6", "#FFCE89", "#FEAF02", "#A37000"], "colors": ["#D72800", "#F17623", "#FF9C56", "#FFFDF6", "#FFCE89", "#FEAF02", "#A37000"],
"comment": "colorpicked from https://commons.wikimedia.org/wiki/File:Butch_Flag.png" "comment": "colorpicked from https://commons.wikimedia.org/wiki/File:Butch_Flag.png"
}, },
"femme" : {
"colors": ["#FF1A87", "#FF6AB1", "#FFFFFF", "#9A0731", "51091D"],
"comment": "colorpicked from https://lgbtqia.wiki/wiki/Femme"
},
"leather": { "leather": {
"colors": ["#000000", "#252580", "#000000", "#252580", "#FFFFFF", "#252580", "#000000", "#252580", "#000000"], "colors": ["#000000", "#252580", "#000000", "#252580", "#FFFFFF", "#252580", "#000000", "#252580", "#000000"],
"comment": "colorpicked from https://commons.wikimedia.org/wiki/File:Leather,_Latex,_and_BDSM_pride_-_Light.svg" "comment": "colorpicked from https://commons.wikimedia.org/wiki/File:Leather,_Latex,_and_BDSM_pride_-_Light.svg"
@@ -219,9 +223,13 @@
"comment": "Sourced from https://gender.fandom.com/wiki/Fluidflux?file=FC90B24D-CA36-4FE2-A752-C9ABFC65E332.jpeg" "comment": "Sourced from https://gender.fandom.com/wiki/Fluidflux?file=FC90B24D-CA36-4FE2-A752-C9ABFC65E332.jpeg"
}, },
"fluidflux2": ["#C6D1D2", "#F47B9D", "#F09F9B", "#E3F09E", "#75EEEA", "#52D2ED", "#C6D1D2"], "fluidflux2": ["#C6D1D2", "#F47B9D", "#F09F9B", "#E3F09E", "#75EEEA", "#52D2ED", "#C6D1D2"],
"transbian": ["#03A3E6", "#F8B4CD","#FAFBF9", "#FA9C57", "#A80864"],
"autism":["#C94A49", "#DE7554", "#DBB667", "#6FA35D", "#2E7574", "#232828"],
"cenelian":["#FFE7B6", "#93554A", "#52203A", "#7E4A93", "#99AFD6"],
"transneutral":["#74DFFF", "#FFFDB3", "#FFFC75", "#FFF200", "#FFFC75", "#FFFDB3", "#FE8CBF"],
"beiyang": ["#DF1B12", "#FFC600", "#01639D", "#FFFFFF", "#000000"], "beiyang": ["#DF1B12", "#FFC600", "#01639D", "#FFFFFF", "#000000"],
"burger": ["#F3A26A", "#498701", "#FD1C13", "#7D3829", "#F3A26A"], "burger": ["#F3A26A", "#498701", "#FD1C13", "#7D3829", "#F3A26A"],
"throatlozenges": ["#2759DA", "#03940D", "#F5F100", "#F59B00", "#B71212"], "throatlozenges": ["#2759DA", "#03940D", "#F5F100", "#F59B00", "#B71212"],
"band": ["#2670C0", "#F5BD00", "#DC0045", "#E0608E"] "band": ["#2670C0", "#F5BD00", "#DC0045", "#E0608E"]
} }
+8
View File
@@ -1448,6 +1448,10 @@ def detect(name: str) -> AsciiArt | None:
from .void_small import void_small from .void_small import void_small
return void_small return void_small
if name == 'void_old':
from .void_old import void_old
return void_old
if name.startswith('void'): if name.startswith('void'):
from .void import void from .void import void
return void return void
@@ -1508,6 +1512,10 @@ def detect(name: str) -> AsciiArt | None:
from .soda import soda from .soda import soda
return soda return soda
if name.startswith('secureblue'):
from .secureblue import secureblue
return secureblue
if name.startswith('krassos') or name.startswith('krass'): if name.startswith('krassos') or name.startswith('krass'):
from .krassos import krassos from .krassos import krassos
return krassos return krassos
+27
View File
@@ -0,0 +1,27 @@
# This file is automatically generated. Please do not modify.
from . import AsciiArt
secureblue = AsciiArt(match=r'''"secureblue"*''', color='12 7', ascii=r"""
${c1} ==++++++++++
${c1} :========++++++++++++:
${c1} ===============+++++++++++
${c1} ====================++++++++++
${c1} :=============${c2}#%@@%*${c1}=====++++++++-
${c1} -============${c2}%@%+++*@@*${c1}=======+++++=
${c1} -============${c2}%@#${c1}======${c2}@@${c1}==========+++-
${c1} =============${c2}%@+${c1}======${c2}@@${c1}==============.
${c1}--=========${c2}*@@@@@@@@@@@@@@@%${c1}+==========-
${c1}------=====${c2}%@@@@@@@@@@@@@@@@*${c1}===========
${c1}---------==${c2}%@@@@@@@%%@@@@@@@*${c1}===========
${c1}:----------${c2}%@@@@@#${c1}===${c2}+%@@@@@*${c1}==========-
${c1} ----------${c2}%@@@@@%*${c1}==${c2}*@@@@@@*${c1}==========.
${c1} :---------${c2}%@@@@@@@@@@@@@@@@*${c1}=========-
${c1} :--------${c2}%@@@@@@@@@@@@@@@@*${c1}========-
${c1} :--------${c2}###############+${c1}========:
${c1} -------------------------====-
${c1} --------------------------
${c1} .--------------------.
${c1} ------------
""")
+25
View File
@@ -0,0 +1,25 @@
# This file is automatically generated. Please do not modify.
from . import AsciiArt
void_old = AsciiArt(match=r'''"void_old"''', color='2 8', ascii=r"""
${c1} __.;=====;.__
_.=+==++=++=+=+===;.
-=+++=+===+=+=+++++=_
. -=:`` `--==+=++==.
_vi, ` --+=++++:
.uvnvi. _._ -==+==+.
.vvnvnI` .;==|==;. :|=||=|.
${c2}+QmQQm${c1}pvvnv; ${c2}_yYsyQQWUUQQQm #QmQ#${c1}:${c2}QQQWUV$QQmL
${c2} -QQWQW${c1}pvvo${c2}wZ?.wQQQE${c1}==<${c2}QWWQ/QWQW.QQWW${c1}(: ${c2}jQWQE
${c2} -$QQQQmmU' jQQQ@${c1}+=<${c2}QWQQ)mQQQ.mQQQC${c1}+;${c2}jWQQ@'
${c2} -$WQ8Y${c1}nI: ${c2}QWQQwgQQWV${c1}`${c2}mWQQ.jQWQQgyyWW@!
${c1} -1vvnvv. `~+++` ++|+++
+vnvnnv, `-|===
+vnvnvns. . :=-
-Invnvvnsi..___..=sv=. `
+Invnvnvnnnnnnnnvvnn;.
~|Invnvnvvnvvvnnv}+`
-~|{*l}*|
""")
+5 -1
View File
@@ -25,4 +25,8 @@ def run_rust():
if __name__ == '__main__': if __name__ == '__main__':
run_rust() try:
run_rust()
except KeyboardInterrupt:
printc('&cThe program is interrupted by ^C, exiting...')
exit(0)
+75 -25
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# vim: noai:ts=4:sw=4:expandtab # vim: noai:ts=4:sw=4:expandtab
# shellcheck source=/dev/null # shellcheck source=/dev/null
# shellcheck disable=2009 disable=2153 disable=2154 disable=2243 disable=2244 disable=2317 # shellcheck disable=2009 disable=2153 disable=2154 disable=2243 disable=2244 disable=2317 disable=SC2329
# #
# Neofetch: A command-line system information tool written in bash 3.2+. # Neofetch: A command-line system information tool written in bash 3.2+.
# https://github.com/dylanaraps/neofetch # https://github.com/dylanaraps/neofetch
@@ -28,7 +28,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE. # SOFTWARE.
version=8.0.3 version=8.0.5
# Fallback to a value of '5' for shells which support bash # Fallback to a value of '5' for shells which support bash
# but do not set the 'BASH_' shell variables (osh). # but do not set the 'BASH_' shell variables (osh).
@@ -49,6 +49,7 @@ LANG=C
[[ -z $GIO_EXTRA_MODULES ]] && export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/ [[ -z $GIO_EXTRA_MODULES ]] && export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/
# Use sed -r instead of sed -E if using GNU sed. # Use sed -r instead of sed -E if using GNU sed.
# shellcheck disable=SC2218
[[ $(sed --version 2>/dev/null) =~ GNU ]] && gnu_sed=1 [[ $(sed --version 2>/dev/null) =~ GNU ]] && gnu_sed=1
sed() { sed() {
if [[ $gnu_sed ]]; then if [[ $gnu_sed ]]; then
@@ -892,17 +893,17 @@ image_source="auto"
# Pisi, PNM Linux, Pop!_OS, Porteus, PostMarketOS, Profelis SambaBOX, Proxmox, PuffOS, Puppy, # Pisi, PNM Linux, Pop!_OS, Porteus, PostMarketOS, Profelis SambaBOX, Proxmox, PuffOS, Puppy,
# PureOS, Q4OS, Qubes, Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star, Redcore, # PureOS, Q4OS, Qubes, Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star, Redcore,
# Redhat, Refracted Devuan, Regata, Regolith, RhaymOS, Rhino Linux, rocky, Rosa, Sabayon, sabotage, # Redhat, Refracted Devuan, Regata, Regolith, RhaymOS, Rhino Linux, rocky, Rosa, Sabayon, sabotage,
# Sailfish, SalentOS, Salient OS, Salix, Sasanqua, Scientific, semc, Septor, Serene, SharkLinux, # Sailfish, SalentOS, Salient OS, Salix, Sasanqua, Scientific, secureblue, semc, Septor, Serene,
# ShastraOS, Siduction, SkiffOS, Slackel, Slackware, SliTaz, SmartOS, Soda, Solus, Source Mage, # SharkLinux, ShastraOS, Siduction, SkiffOS, Slackel, Slackware, SliTaz, SmartOS, Soda, Solus,
# Sparky, Star, SteamOS, Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, Tatra, TeArch, TorizonCore, # Source Mage, Sparky, Star, SteamOS, Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, Tatra, TeArch,
# Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu # TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE,
# Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine Linux, unicodearch, # Ubuntu Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine Linux,
# Univalent, Univention, Uos, UrukOS, uwuntu, Vanilla, Venom, VNux, Void, VzLinux, wii-linux-ngx, # unicodearch, Univalent, Univention, Uos, UrukOS, uwuntu, Vanilla, Venom, VNux, Void, VzLinux, wii-
# Windows, Windows 10, Windows 11, Windows95, Wrt, Xenia, Xenia2, XFerience, Xray_OS, Xubuntu, # linux-ngx, Windows, Windows 10, Windows 11, Windows95, Wrt, Xenia, Xenia2, XFerience, Xray_OS,
# yiffOS, Zorin have ascii logos. # Xubuntu, yiffOS, Zorin have ascii logos.
# NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu have 'old' logo variants, use # NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu, void have 'old' logo
# {distro}_old to use them. # variants, use {distro}_old to use them.
# NOTE: alpine, android, arch, arcolinux, artix, CalinixOS, centos, cleanjaro, crux, debian, # NOTE: alpine, android, arch, arcolinux, artix, CalinixOS, centos, cleanjaro, crux, debian,
# dragonfly, elementary, endeavouros, fedora, freebsd, garuda, gentoo, guix, haiku, hyperbola, kali, # dragonfly, elementary, endeavouros, fedora, freebsd, garuda, gentoo, guix, haiku, hyperbola, kali,
@@ -6677,19 +6678,20 @@ ASCII:
Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star, Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star,
Redcore, Redhat, Refracted Devuan, Regata, Regolith, RhaymOS, Rhino Redcore, Redhat, Refracted Devuan, Regata, Regolith, RhaymOS, Rhino
Linux, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS, Salient Linux, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS, Salient
OS, Salix, Sasanqua, Scientific, semc, Septor, Serene, SharkLinux, OS, Salix, Sasanqua, Scientific, secureblue, semc, Septor, Serene,
ShastraOS, Siduction, SkiffOS, Slackel, Slackware, SliTaz, SmartOS, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackel, Slackware,
Soda, Solus, Source Mage, Sparky, Star, SteamOS, Stock Linux, Sulin, SliTaz, SmartOS, Soda, Solus, Source Mage, Sparky, Star, SteamOS,
SunOS, SwagArch, t2, Tails, Tatra, TeArch, TorizonCore, Trisquel, Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, Tatra, TeArch,
Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu
Ubuntu MATE, Ubuntu Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu-GNOME, Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Sway,
ubuntu_old02, Ultramarine Linux, unicodearch, Univalent, Univention, Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine Linux,
Uos, UrukOS, uwuntu, Vanilla, Venom, VNux, Void, VzLinux, wii-linux- unicodearch, Univalent, Univention, Uos, UrukOS, uwuntu, Vanilla,
ngx, Windows, Windows 10, Windows 11, Windows95, Wrt, Xenia, Xenia2, Venom, VNux, Void, VzLinux, wii-linux-ngx, Windows, Windows 10,
XFerience, Xray_OS, Xubuntu, yiffOS, Zorin have ascii logos. Windows 11, Windows95, Wrt, Xenia, Xenia2, XFerience, Xray_OS,
Xubuntu, yiffOS, Zorin have ascii logos.
NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu,
have 'old' logo variants, use {distro}_old to use them. void have 'old' logo variants, use {distro}_old to use them.
NOTE: alpine, android, arch, arcolinux, artix, CalinixOS, centos, NOTE: alpine, android, arch, arcolinux, artix, CalinixOS, centos,
cleanjaro, crux, debian, dragonfly, elementary, endeavouros, fedora, cleanjaro, crux, debian, dragonfly, elementary, endeavouros, fedora,
@@ -15329,7 +15331,29 @@ ${c1} _______
-_______\\ -_______\\
EOF EOF
;; ;;
"void_old")
set_colors 2 8
read -rd '' ascii_data <<'EOF'
${c1} __.;=====;.__
_.=+==++=++=+=+===;.
-=+++=+===+=+=+++++=_
. -=:`` `--==+=++==.
_vi, ` --+=++++:
.uvnvi. _._ -==+==+.
.vvnvnI` .;==|==;. :|=||=|.
${c2}+QmQQm${c1}pvvnv; ${c2}_yYsyQQWUUQQQm #QmQ#${c1}:${c2}QQQWUV$QQmL
${c2} -QQWQW${c1}pvvo${c2}wZ?.wQQQE${c1}==<${c2}QWWQ/QWQW.QQWW${c1}(: ${c2}jQWQE
${c2} -$QQQQmmU' jQQQ@${c1}+=<${c2}QWQQ)mQQQ.mQQQC${c1}+;${c2}jWQQ@'
${c2} -$WQ8Y${c1}nI: ${c2}QWQQwgQQWV${c1}`${c2}mWQQ.jQWQQgyyWW@!
${c1} -1vvnvv. `~+++` ++|+++
+vnvnnv, `-|===
+vnvnvns. . :=-
-Invnvvnsi..___..=sv=. `
+Invnvnvnnnnnnnnvvnn;.
~|Invnvnvvnvvvnnv}+`
-~|{*l}*|
EOF
;;
"Void"*) "Void"*)
set_colors 8 2 7 set_colors 8 2 7
read -rd '' ascii_data <<'EOF' read -rd '' ascii_data <<'EOF'
@@ -15700,6 +15724,32 @@ ${c2} @&&&&${c1} *'*,
EOF EOF
;; ;;
"secureblue"*)
set_colors 12 7
read -rd '' ascii_data <<'EOF'
${c1} ==++++++++++
${c1} :========++++++++++++:
${c1} ===============+++++++++++
${c1} ====================++++++++++
${c1} :=============${c2}#%@@%*${c1}=====++++++++-
${c1} -============${c2}%@%+++*@@*${c1}=======+++++=
${c1} -============${c2}%@#${c1}======${c2}@@${c1}==========+++-
${c1} =============${c2}%@+${c1}======${c2}@@${c1}==============.
${c1}--=========${c2}*@@@@@@@@@@@@@@@%${c1}+==========-
${c1}------=====${c2}%@@@@@@@@@@@@@@@@*${c1}===========
${c1}---------==${c2}%@@@@@@@%%@@@@@@@*${c1}===========
${c1}:----------${c2}%@@@@@#${c1}===${c2}+%@@@@@*${c1}==========-
${c1} ----------${c2}%@@@@@%*${c1}==${c2}*@@@@@@*${c1}==========.
${c1} :---------${c2}%@@@@@@@@@@@@@@@@*${c1}=========-
${c1} :--------${c2}%@@@@@@@@@@@@@@@@*${c1}========-
${c1} :--------${c2}###############+${c1}========:
${c1} -------------------------====-
${c1} --------------------------
${c1} .--------------------.
${c1} ------------
EOF
;;
"KrassOS"* | "Krass"*) "KrassOS"* | "Krass"*)
set_colors 4 7 set_colors 4 7
read -rd '' ascii_data <<'EOF' read -rd '' ascii_data <<'EOF'
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "neowofetch", "name": "neowofetch",
"version": "2.0.3", "version": "2.0.5",
"description": "Updated neofetch", "description": "Updated neofetch",
"repository": { "repository": {
"type": "git", "type": "git",
+52
View File
@@ -0,0 +1,52 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "HyFetch"
dynamic = ["version"]
description = "neofetch with flags <3"
readme = "README.md"
authors = [
{ name = "Azalea Gui", email = "me@hydev.org" },
]
requires-python = ">=3.7"
license = "MIT"
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
dependencies = [
# Universal dependencies
'typing_extensions; python_version < "3.8"',
# Windows dependencies
'psutil ; platform_system=="Windows"',
'colorama>=0.4.6 ; platform_system=="Windows"',
]
[project.urls]
Homepage = "https://github.com/hykilpikonna/HyFetch"
[project.scripts]
"hyfetch.v1" = "hyfetch.__main__:run_py"
"hyfetch.rs" = "hyfetch.__main__:run_rust"
"hyfetch" = "hyfetch.__main__:run_rust"
[tool.hatch.version]
source = "regex"
path = "Cargo.toml"
regex = 'version = "(?P<version>.+?)"'
[tool.hatch.build]
exclude = ["/tools"]
[tool.hatch.build.targets.wheel.files]
"{py_scripts}/neowofetch" = "hyfetch/scripts/neowofetch"
-58
View File
@@ -1,58 +0,0 @@
#!/usr/bin/env python3
from pathlib import Path
from setuptools import setup, find_namespace_packages
# The directory containing this file
HERE = Path(__file__).parent
# Load version without importing it (see issue #192 if you are confused)
VERSION = [l for l in (HERE / "Cargo.toml").read_text('utf-8').splitlines() if l.startswith("version = ")]
if len(VERSION) != 1:
raise ValueError(f"Cannot determine version from Cargo.toml: {VERSION}")
VERSION = VERSION[0].split('"')[1]
# The text of the README file
README = (HERE / "README.md").read_text('utf-8')
# This call to setup() does all the work
setup(
name="HyFetch",
version=VERSION,
description="neofetch with flags <3",
long_description=README,
long_description_content_type="text/markdown",
url="https://github.com/hykilpikonna/HyFetch",
author="Azalea Gui",
author_email="me@hydev.org",
license="MIT",
classifiers=[
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
],
packages=find_namespace_packages(exclude=("tools", "tools.*")),
package_data={'hyfetch': ['hyfetch/*']},
include_package_data=True,
install_requires=[
# Universal dependencies
'typing_extensions; python_version < "3.8"',
# Windows dependencies
'psutil ; platform_system=="Windows"',
'colorama>=0.4.6 ; platform_system=="Windows"',
],
entry_points={
"console_scripts": [
"hyfetch.v1=hyfetch.__main__:run_py",
"hyfetch.rs=hyfetch.__main__:run_rust",
"hyfetch=hyfetch.__main__:run_rust",
]
},
scripts=['hyfetch/scripts/neowofetch']
)
+7 -9
View File
@@ -16,8 +16,9 @@ rm -rf build/
# Remove git from the source code before building # Remove git from the source code before building
rm -rf hyfetch/git/ rm -rf hyfetch/git/
# Build python from setup.py # Build python package
python3 setup.py sdist bdist_wheel python3 -m pip install build
python3 -m build
# Check # Check
twine check dist/*.tar.gz twine check dist/*.tar.gz
@@ -61,11 +62,6 @@ cp "$DIR/../target/x86_64-pc-windows-gnu/release/hyfetch.exe" wheel/hyfetch/rust
sed -i 's/Tag: py3-none-.*/Tag: py3-none-win32/' wheel/*.dist-info/WHEEL sed -i 's/Tag: py3-none-.*/Tag: py3-none-win32/' wheel/*.dist-info/WHEEL
python "$DIR/build_rehash.py" wheel python "$DIR/build_rehash.py" wheel
# Zip to -win32.whl
#new_name=${file/-any/-win32}
#cd wheel && zip -qq -y -r "../$new_name" * && cd ..
#twine check "$new_name"
# Zip to -win_amd64.whl # Zip to -win_amd64.whl
# Since pypi doesn't allow two identical files with different names to be uploaded # Since pypi doesn't allow two identical files with different names to be uploaded
# We need to change the zip content a little bit for win_amd64 # We need to change the zip content a little bit for win_amd64
@@ -78,8 +74,10 @@ twine check "$new_name"
# ================= # =================
# Build for linux # Build for linux
# Now we're done with windows, delete the git folder # Now we're done with windows, delete wheel and unzip again
rm -rf wheel/git echo "> Building for other platforms"
rm -rf wheel
unzip -qq "$file" -d wheel
function build_for_platform() { function build_for_platform() {
ff_platform=$1 ff_platform=$1
+5 -9
View File
@@ -1,11 +1,7 @@
(If anyone stumbles upon this file, it's just some notes for myself because I always forgor stuff)
### Things to do before deploying... ### Things to do before deploying...
* [x] Check file permissions (+x) * [ ] Update changelog (`README.md`) and commit changes
* [x] Check Shellcheck (should be automatic) * [ ] Run `mamba activate 313` (an environment that has build deps e.g. twine)
* [x] Update version numbers (`README.md`, `package.json`, `hyfetch/constants.py`, `neofetch`) * [ ] Run `python -m tools.deploy-release {version}`
* [x] Update distro list in neofetch help (`tools/list_distros.py`)
* [x] Regenerate man page (`help2man ./neofetch > neofetch.1`)
* [ ] Create an RC release and deploy to pypi, try installing and testing on many distros.
* [ ] Change back to stable release, create tag, create GitHub release
* [x] Formally deploy to pypi and npm (`tools/deploy.sh`, `npm publish`)
* [ ] Update ArchLinux AUR and NixOS packaging