@kmartin while I know the concept of hooks, I still don’t follow why I would care about them in the context of a linux-system. Is this only useful regarding mkinitcpio
? or are there hooks EndeavourOS has which I could make use of… and if so, what for?
One of the main things the pacman hooks in eos-hooks
change is “Arch Linux” to “EndeavourOS Linux” in the /etc/lsb-release
, /etc/os-release
, and /etc/issue
files. You can see exactly what it does here: https://github.com/endeavouros-team/PKGBUILDS/blob/master/eos-hooks/eos-hooks-runner
It’s an aesthetic change, which no impact to functionality. For example, this gives you EndeavourOS logo when you run neofetch
.
EndeavourOS is pretty much just like bare Arch, most of the changes are superficial and aesthetic, and the few changes that impact functionality are intended to make it easier to use the OS, they are not very opinionated and, if you do not like them, you can easily remove them.
Personally, I think that’s a good thing, it’s one of the things that attracts me to EndeavourOS. If I wanted to use a more opinionated Arch-based distro, which offers much more over bare Arch, I’d probably use Garuda, which seems really nice. But I like a mostly bare Arch system I can configure to my liking, and I like the EndeavourOS community, so I use EndeavourOS.
@ideasman42
What i mean is pacman hooks, for example one that tells you, that your update have packages which require reboot, ain’t that handy?
I mean sure i could check it manually or create my own…But it’s already there, that’s why i like it
To trigger an action automatically after the completion of a specific task.
For instance, the automatic re-generation of initrd and grub after a kernel update, using a pacman hook. Without a hook you would have to do this manually, failure to do so may lead to a non booting system, until chrooting in to correct.
There are others provided by EOS installation.
$ ll /etc/pacman.d/hooks
total 32
drwxr-xr-x 2 root root 4096 Nov 26 14:10 .
drwxr-xr-x 4 root root 4096 Nov 3 12:26 ..
-rw-r--r-- 1 root root 199 Nov 7 07:00 eos-hooks.hook
-rw-r--r-- 1 root root 634 Nov 7 07:00 eos-reboot-required.hook
-rw-r--r-- 1 root root 242 Nov 25 23:42 grub-fix-initrd-generation.hook
-rw-r--r-- 1 root root 373 Nov 25 23:42 grub-update-after-kernel.hook
-rw-r--r-- 1 root root 211 Nov 7 07:00 lsb-release.hook
-rw-r--r-- 1 root root 209 Nov 7 07:00 os-release.hook
The structure of a pacman hook is simple enough, any change to a target package will trigger the defined action.
$ cat /etc/pacman.d/hooks/grub-update-after-kernel.hook
[Trigger]
Operation = Install
Operation = Remove
Type = Package
Target = linux
Target = linux-lts
Target = linux-zen
Target = linux-hardened
Target = amd-ucode
Target = intel-ucode
[Action]
Description = Update grub after installing or removing a kernel or microcode.
When = PostTransaction
Depends = grub
Exec = /bin/sh -c "/usr/bin/grub-mkconfig -o /boot/grub/grub.cfg"
mkinitcpio
hooks are … same same but different.
this are just endeavouros hooks
eos-hooks /etc/
eos-hooks /etc/pacman.d/
eos-hooks /etc/pacman.d/hooks/
eos-hooks /etc/pacman.d/hooks/eos-hooks.hook
eos-hooks /etc/pacman.d/hooks/eos-reboot-required.hook
eos-hooks /etc/pacman.d/hooks/lsb-release.hook
eos-hooks /etc/pacman.d/hooks/os-release.hook
eos-hooks /usr/
eos-hooks /usr/bin/
eos-hooks /usr/bin/eos-hooks-runner
eos-hooks /usr/bin/eos-reboot-required
~> pkgfile grub-fix-initrd-generation.hook
endeavouros/grub-tools
Arch is not unstable , is just as new comes you have to move stuf, if you got a lot aur stuf pacman -Qm
and sure sometimes you have rebuild your stuf , stil freedom to do what you want after install…
endeavour too freedom to like what you want
Not trying to be picky here, everything you said in your post is correct. As a FYI, it is a little more than aesthetics. I believe that (maybe @joekamprad or others can verify this) Archlinux requires Arch derivatives to re-brand their distros and remove the Arch name and logos. The same as Red Hat making CentOS go through all the source code and remove anything referring to Red Hat.
Pudge
Yes, of course. It would be misleading to call it Arch, because it’s not pure Arch.
Just for completeness:
https://wiki.archlinux.org/index.php/DeveloperWiki:TrademarkPolicy
So it’s impossible to be another 100% Arch distro…Unless you don’t follow the rules
Are you sure about this? I’ve ran bare Arch for years and never had a kernel update cause a situation that didn’t reboot (which required running initrd
).
Otherwise, thanks for all the info on hooks, while I don’t think I’ll be changing these, it’s nice to know whats happening on top of plain arch.
These seem like practical additions that don’t veer into the territory of bloat or unnecessary complications that would cause me to go back to arch.
I think of the difference is being that Arch gives you what you need, and EnOS gives you what you want. What EnOS allows is for you to concentrate on how to make your system work for you - to set up YOUR workflow, and the applications that requires - WITHOUT first having to remember every detail of getting the computer to work first!
Just as customizable, just as minimal as you want, but not having to remember to fire up networkmanager, and audio and and…
As a bonus - things you might well set up for yourself, such as the notifier and reflector-simple and so on, are there already too - and there is nothing wrong with not reinventing the wheel (or populating the wheel group!) every time out…