You are not logged in.

#1 2025-10-06 22:37:43

Junaid433
Member
Registered: 2025-10-06
Posts: 2

I built GuiMan - A full GUI for Pacman and AUR

Hey Arch Users!
I just finished building something I’ve been experimenting with and wanted to share it: GuiMan.
It’s a full GUI version of pacman and your favorite AUR helpers (yay/paru). Everything you do in the terminal: installing, updating, removing, searching—now has a visual, click-friendly interface.

Install:
yay -S guiman
paru -S guiman

Links
AUR: https://aur.archlinux.org/packages/guiman
GitHub: https://github.com/Junaid433/GuiMan

I’m still learning GUI programming, so this is kind of my first big experiment
Would love feedback, suggestions, or bug reports!

Thanks

Offline

#2 2025-10-06 22:40:08

WorMzy
Administrator
From: Scotland
Registered: 2010-06-16
Posts: 13,018
Website

Re: I built GuiMan - A full GUI for Pacman and AUR

Mod note: Moving to community contributions.


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#3 2025-10-07 00:46:02

killertofus
Member
Registered: 2025-02-10
Posts: 41

Re: I built GuiMan - A full GUI for Pacman and AUR

Offline

#4 2025-10-07 00:55:39

topcat01
Member
Registered: 2019-09-17
Posts: 241

Re: I built GuiMan - A full GUI for Pacman and AUR

That's the sync database command. What's wrong with it? It seems the install commands use "-S".

Edit: I can see the user chaining them together to do something unsafe. Perhaps a warning is needed since it's supposed to be user friendly.

Last edited by topcat01 (2025-10-07 00:57:41)

Offline

#5 2025-10-07 04:08:57

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,580
Website

Re: I built GuiMan - A full GUI for Pacman and AUR

I need a screenshot!

Offline

#6 2025-10-07 06:24:37

schard
Forum Moderator
From: Hannover
Registered: 2016-05-06
Posts: 2,417
Website

Re: I built GuiMan - A full GUI for Pacman and AUR

The "--noconfirm" when installing packages is even worse: https://github.com/Junaid433/GuiMan/blo … ons.rs#L13

N.B.: You don't need to put async in the function name, as it's already clear that it's async by the respective modifier.
And the fact that all functions get passed a "Window" as first argument is a strong indicator, that the methods may be better placed in an extension trait for Window.


Inofficial first vice president of the Rust Evangelism Strike Force

Offline

#7 2025-10-07 08:37:40

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,069

Re: I built GuiMan - A full GUI for Pacman and AUR

topcat01 wrote:

That's the sync database command. What's wrong with it? It seems the install commands use "-S".

Edit: I can see the user chaining them together to do something unsafe. Perhaps a warning is needed since it's supposed to be user friendly.

Syncing the database can have two consequences:
1. -Su
2. partial updates

Only one of those will not lead to a complete disaster when employed by users who wish to use pacman with a mouse.
The function needs to go and be replaced with "Update your system" - there's no point in warning users that they're not supposed to run this anyway.

Running system database updates to eg. check for updates is a popular errand, you've to use an offline database for that: https://man.archlinux.org/man/checkupdates.8

--noconfirm is popular w/ a lot of pacman wrappers because it's easier than channeling the pacman I/O - You'd have to scan the output, understand that the line is a question, turn that into a dialog and then write the answer into pacmans stdin.
I'd recommend to use eg. fzf as pacman GTUI but if one desires a GUI frontend for libalpm, it's probably easier/more robus/reliable/reasonable/sane to just write a GUI for libalpm.

Offline

#8 2025-10-07 08:55:22

schard
Forum Moderator
From: Hannover
Registered: 2016-05-06
Posts: 2,417
Website

Re: I built GuiMan - A full GUI for Pacman and AUR

seth wrote:

I'd recommend to use eg. fzf as pacman GTUI but if one desires a GUI frontend for libalpm, it's probably easier/more robus/reliable/reasonable/sane to just write a GUI for libalpm.

There's even Rust bindings for libalpm, but they're just a wrapper to the original C code.
Maybe if I'm bored enough over the last days of the year, I'll finally resume implementing "rucman", which is an ALPM rewrite in native Rust I started three years ago.


Inofficial first vice president of the Rust Evangelism Strike Force

Offline

#9 2025-10-07 09:02:29

GerBra
Forum Fellow
From: Bingen/Germany
Registered: 2007-05-10
Posts: 238

Re: I built GuiMan - A full GUI for Pacman and AUR

Rushing over the source (I'm not very familiar with rust)  i noticed that you:

- You always call external programs without a full path (pacman vs. /usr/bin/pacman)
This could failed badly if your users may have aliases, user scripts or $PATH priorities other than /usr/bin
And could be a security risc if some commands run with root privileges.
//Edit: OK, this is a bit minimized if programs called via pkexec, but IMHO it's a bad styling without full pathnames

- You match the command output in several functions for a specified string
Be aware that you match only english language output, but your users may have an other LOCALE than en_US
Maybe prefetch your internal call to programs with LANG=C  to be sure that your output matches are as expected.

My 2ct, but I would never use such an application.

Last edited by GerBra (2025-10-07 09:32:29)

Offline

#10 2025-10-07 09:09:27

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,069

Re: I built GuiMan - A full GUI for Pacman and AUR

schard wrote:

Maybe if I'm bored enough over the last days of the year, I'll finally resume implementing "rucman", which is an ALPM rewrite in native Rust I started three years ago.

"r" is even easier to turn into an "f" smile

Offline

#11 2025-10-07 15:20:04

UncleSpellbinder
Member
From: Highland, Indiana - U.S.A.
Registered: 2019-05-28
Posts: 10
Website

Re: I built GuiMan - A full GUI for Pacman and AUR

Allan wrote:

I need a screenshot!

The partial upgrade issue bothers me, so I don't even want to test it out. But, for those of you who want screenshots, here are some from someone who's tested it...

1.png2.png

3.png4.png

5.png


“Without deviation from the norm, progress is not possible.” -  Frank Zappa

Offline

#12 2025-10-07 16:29:31

UncleSpellbinder
Member
From: Highland, Indiana - U.S.A.
Registered: 2019-05-28
Posts: 10
Website

Re: I built GuiMan - A full GUI for Pacman and AUR

I'm wondering if the OP ever intends to respond here at all. Maybe engage with potential users? Explain the partial upgrade question? This Arch forum member, Junaid433, made the exact same post on the EndeavourOS Forums Forums and has not responded there, either.

Last edited by UncleSpellbinder (2025-10-07 16:35:57)


“Without deviation from the norm, progress is not possible.” -  Frank Zappa

Offline

#13 2025-10-07 18:14:58

schard
Forum Moderator
From: Hannover
Registered: 2016-05-06
Posts: 2,417
Website

Re: I built GuiMan - A full GUI for Pacman and AUR

It's possibly AI slop or the preparation for malware infiltration, if I may be this paranoid.


Inofficial first vice president of the Rust Evangelism Strike Force

Offline

#14 2025-10-07 18:43:43

Junaid433
Member
Registered: 2025-10-06
Posts: 2

Re: I built GuiMan - A full GUI for Pacman and AUR

Thanks everyone for the feedback — I really appreciate the detailed points!

I’ll definitely address the issues mentioned:

Replace the unsafe -Sy usage with proper full sync/update handling.

Remove --noconfirm and instead handle confirmations safely through dialogs.

Use absolute paths (e.g. /usr/bin/pacman) and ensure LANG=C for consistent output parsing.

GuiMan is meant as a learning project and a step toward a proper libalpm-based GUI, not a replacement for pacman. I’m still new to Rust GUI dev, so your feedback helps a lot. ?

Thanks again for reviewing the code — I’ll push fixes soon!

Offline

Board footer

Powered by FluxBB