archlinux / archinstall

Arch Linux installer - guided, templates etc.
GNU General Public License v3.0
6.08k stars 528 forks source link

Suggested basic default settings that are needed. #1307

Closed JeremiahCheatham closed 2 years ago

JeremiahCheatham commented 2 years ago

User is already in the wheel group.

Why is a specific user rule created? This causes problems when trying to set wheel access. And unneeded bug reports.

sudo sed -i 's/# %wheel ALL=(ALL:ALL) NOPASSWD/%wheel ALL=(ALL:ALL) NOPASSWD/' /etc/sudoers
sudo sh -c "rm /etc/sudoers.d/00_*"

Pacman.conf is not set for ParallelDownloads.

Why? How is this not default?

sudo sed -i 's/#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf

Pacman-contrib is not installed?

This is a basic needed package for archlinux. Paccache is the second most used command after pacman.

sudo pacman -S pacman-contrib

If filesystem is btrfs compsize should be included.

sudo pacman -S compsize

Bluetooth is not enabled.

sudo systemctl enable bluetooth
sudo systemctl start bluetooth

There is no NTFS support for windows partitions or USB drives.

The kernel NTFS module is not configured and doesn't work when it is.

sudo pacman -S ntfs-3g

Zram is not really configured.

It's not using the optimal lz4. It is also for some reason set to 1/2 ram. This is like driving a car on spacesaver spare wheels. You can safely run double ram without issue. If by chance you fill it to failure, it would have already failed at 1/2.

sudo cat << EOF > /etc/systemd/zram-generator.conf
[zram0]
compression-algorithm = lz4
zram-size = ram * 2
EOF

sudo systemctl restart systemd-zram-setup@zram0.service

Arch systems have started loud beeping for shutdown.

This may have something to do with recent switch to pipewire since that's when it started. Unload the pcspkr beep module and blacklist it.

sudo rmmod pcspkr
echo "blacklist pcspkr" | sudo tee /etc/modprobe.d/nobeep.conf

Firefox is ALMOST setup.

Firefox already uses vaapi and everything is setup and working. Firefox also works with wayland. However It needs to be told to use wayland or it will use xwayland. This should be global not user or shell specific, and detect the session type.

sudo sh -c "cat << EOF >> /etc/profile

# Enable Wayland for Firefox when needed.
if [ "$XDG_SESSION_TYPE" == "wayland" ]; then
    export MOZ_ENABLE_WAYLAND=1
fi
EOF
"

SDDM and sometimes KDE do not use mouse theme.

This bug has been around for a very long time now. Adwaita is set as the default mouse theme for some reason in this file.

sudo sed -i 's/Adwaita/breeze_cursors/' /usr/share/icons/default/index.theme

Dragon Player issues.

Dragon Player is included along with vlc. Dragon uses phonon with gstreamer or vlc backend. The phonon-qt5-gstreamer packages is installed but the player has no sound, video not accelerated and not shown correctly. This may simply be some of the gst packages missing but they link to pulse audio. Since vlc is already installed and working simply adding the phonon-qt5-vlc package gets dragon player working. I "believe" phonon-qt5-gstreamer can be removed since it seems to only be required by phonon-qt5.

sudo pacman -S phonon-qt5-vlc
Torxed commented 2 years ago

Why is a specific user rule created? This causes problems when trying to set wheel access. And unneeded bug reports.

The sole reason why we went away from modifying /etc/sudoers is that the best practice dictates that it's better to create separate entries for the things you want to enable, such as user-level permissions. Since that way pacman won't replace, collide or cause issues when modifying /etc/sudoers in an update.

Reasoning here: https://wiki.archlinux.org/title/Sudo#Configure_sudo_using_drop-in_files_in_/etc/sudoers.d

Another benefit from not enabling wheel out of the gate, is that some people might not want everyone with wheel to gain sudo access, as wheel could be useful for other things without gaining sudo privileges. Although history lessons will tell us that was what it was specifically created for in the old days. Now days it could give access such as reboot/shutdown privileges without having full sudo rights.

Not to mention that it could be easy to make a mistake, and having just one sudo user rather than everyone is also a nice touch.

Why? How is this not default?

The reason for this if you look it up is that it would impact mirrors quite a bit if everyone had it on by default. So the sane default is still to have single-threaded downloads. Not to mention that it's tested and works on every client and network environment, even shady wifi connections and spotty 4G connections for instance. You're free to turn it on, and we've been dabbing with the idea of allowing an option for it. But all you'd really need to do is to run your sed thing before running archinstall and you're golden :)

This is a basic needed package for archlinux.

I could argue the opposite. I don't have it installed and I've managed fine for ~15 years now. I get that it's useful. But It's not needed as in we should shove it on everyone. Needed for me is the kernel, a terminal, and maybe text editor. base-devel could be stripped away too in all honestly.

compsize

If people want it, sure. Personally, I don't see the need for it. It's a utility to get some fun information - not something you need to manage your BTRFS partitions?

Bluetooth is not enabled.

Thank the internet gods for that. Same for networking.

There is no NTFS support for windows partitions or USB drives.

Because like 60% of the use base doesn't dual boot windows. And most (including me who use windows) don't really mix Windows with Linux stuff anyway. I get the point, that it would be useful. But if you're one of the few users that do spend time jumping between sharing media, you probably know what to install anyway. Not everyone need this is my point :)

Zram is not really configured. It's not using the optimal lz4. It is also for some reason set to 1/2 ram.

yes, we use the default values. The reason being that it works for everyone. You can use double your ram if you want to optimize the configuration. We simply supply sane defaults via upstream. And whatever upstream tells is is usually our law :) And the wiki defaults also applies.

This may have something to do with recent switch to pipewire since that's when it started. Unload the pcspkr beep module and blacklist it.

Feel free to do so. But this sound is on by default for a reason. I don't know the reason but I would guess it has to do with accessibility and that's something we cater to as well.

Firefox is ALMOST setup.

I fail to see the relevance. We don't really have a firefox application profile, so this is a package you install yourself anyway - and would have to configure to your liking.

This feels more like a bug report suitable for the mozilla foundation who should deal with their issue of running under wayland :)

SDDM and sometimes KDE do not use mouse theme.

Also feels like an upstream bug report, not something archinstall should handle.


I want to end with this: Remember that archinstall is to help you install a bare minimal installation of Arch Linux, not really configure every aspect of SDDM and weird firefox bugs.

We do some configuration because it's strictly necessary, or because literally everyone does it.

JeremiahCheatham commented 2 years ago

I'm sorry can you take a moment and read what you posted above. The first one is creating a solution for a problem that doesn't exist while your solutions is creating a problem. And it's to fix an issue where someone may want to use it in a way that was not intended and is not convention. The entire argument there makes my head spin. Maybe have a read of your own words and see if that doens't clear things up for you.

Going down the list its like you don't need anything but a kernel and maybe a text editor. With that thinking then why is kde there? Why is vfat support there? Why is archinstall there? So again read your words they are not making much sense.

You are actively giving people a guided installer for archlinux, and configuring some parts to work and not other. If you have an internal conflict with this please step back and think for a moment if this is a project you should be working on or even giving support for. It sounds like your ideology is in direct conflict here.

You have vfat support but not ntfs. This is not a windows or thing. This is a i have a USB storage drive with movies on it and it's NTFS for compatability reasons like most currect external drives. The arguement against this support is in cohent as having vaapi configured and enabled but not having firefox the most single important software on any desktop system currently.

And since you don't have some basic tools installed for 15 years doesn't mean your right. It may mean you have either been missing something, used alternative or not recommend tools or have not been taking care of your system.

This is a guided installer leaving out basic things that every user needs access too because your against having a guided installler is at odds.

JeremiahCheatham commented 2 years ago

Maybe someone who isn't Torxed could answer.

Why are all the packages for intel, amd, nvidia in place with config options and vaapi setup for firefox and chromium but then at the very end not firefox becuase you are not supporting firefox just supporting everything almost firefox needs for no reason?

Why has sudoers been monkeyed with specifically configured that is not fixing any problem i can find or was stated above but is causing problems for people using it. Why is this chosen to be configured and this way?

Why is ntfs missing. I know there is shade for the 40% stated above who use windows. and 100% who use external hardrives that come with NTFS already or need that system. But why add all the other supported systems and not that one. Is the hatred that deep for windows. I mean honestly i do hate windows too, but to the point of breaking support for anyone is wants or needs to dual boot 40% is a very large number and all those external drives? Is that just hatred or arrogance?

Why is parallels not default? Is there a single instance where this 1 doesn't work and 2 isn't the best option? He said something about 4g above. I'm sorry that is not how networks work. There is no down side for parallel on 5g, 4g, even 15 years ago on 3g. I used to do parallel downloads on dialup much longer than 15 years ago. The only thing said that even could exist in reality was the load on servers. There is not an increase load on servers. The downloads are all the same size exactly. However it shortens the download time while increasing bandwidth (if available on both ends) for a shorter period of time. This can only be an issue if these servers were in such a bad state already. Client side not having it is just bad policy for all.

Again cool if some one doesn't need or use basic tools needed for the built in package manager but since pacman is still the default in archlinux can the most basic tools be included. Even if for 15 years some haven't needed or known how to use them. I'm really not sure the argument against this. It's a very tiny but important package.

Same exact argument for the filesystem you configure to install. give the basic tools with it. Does this really need to be explained.

I didn't understand the argument for why bluetooth was chosen to not be enabled. I myself spend way way to much time thinking it was a missing package or pipewire something you hadn't added not even thinking it hadn't been bothered to be enabled. So all these other services were enabled including wifi which above was suggested not. But bluetooth. Why guid people for a working desktop have the packages in place then don't enable them and have everyone wondering whats missing. what is the reason for configuring the rest and not bluetooth. Bluetooth is not some obscure fad right? It's as common as wifi and usb.

Archlinux starting to beep doesn't sound like this is the way it is supposed to be. Since it was never before they way it was. and there are so many bug reports about this. It sound almost, just, kind of, exactly like a bug. Like they have made a change and it had an unintended affect somewhere else. I gave an easy solution to the bug.

zram is not configured. it's not configured to work on most systems, it's just not configured. Again is there a system where my configuration wouldn't work? Also the wiki unless it has been updated didn't give an working explanation on how to configure it. This may have been changed though. I actually created my own implementation since this packages was so badly implemented. But i have since configured it and shared it. Don't mistake not configured with default configure. What is the rationality for this it's?

I can't stress how bad how toxic to have someone who is working on a guided installer that don't basic things configured but miss-configures other things. With the attitude that you only need a kernel and maybe text editor. It's going to cause them to be against fixing things that are broken among other things.

Torxed commented 2 years ago

I'm on vacation but I took the time to answer out of courtesy and to try and be respectful of your time. I feel your tone is less understanding and more judging and I would appreciate if we could have a civil discussion about your proposed suggestions and allow for counter arguments. If you're open for it that is.

In regards to:

You are actively giving people a guided installer for archlinux, and configuring some parts to work and not other.

I want to reiterate, that we configure some parts and not others because some are crucial to getting things up and running. Let's take BTRFS compression for instance, we configure that during formatting and before pacstrap because it's required to get the files compressed. But you could also equally configure that post-installation but you would lose half the benefit. So we choose to do so.

In contrast, configuring zram can be done post-installation without any real side effects. As it's not tied to what is performed during usage/installation.

And this is the essence of archinstall. We try to avoid configuring things that can be configured post-installation. Anything else is offered through profiles and are 100% optional and offers one additional layer on top of what I just described, but won't configure everything fully either.. but a bit more.

So you have archinstall at its core, bare minimum stuff. Then you have profiles, which gives you a bit more configuration out of the gate but still not a full "windows" experience. Anything after that is up to you to configure as you choose, or you can hopefully use archinstall library and API to hook in to the plugin system or script your own .dotfile to do the final changes that is unique to you.

I hope that makes your head spin a bit less as you put it. I'll read more of your post in a bit, but I wanted to clarify some perhaps misconceptions of what archinstall is meant to do for you.

Finally:

If you have an internal conflict with this please step back and think for a moment if this is a project you should be working on or even giving support for. It sounds like your ideology is in direct conflict here.

Please refrain from using language like this and think about what you just wrote to someone. If you knew anything about me or my involvement in this tool, you would know I've been more than flexible in terms of personal beliefs as you put it. So if you want me to read anything you say with an open mind, please return the favor and do the same and use language that doesn't directly tell me to bugger off and abandon something that I've worked really hard on (worked hard on as it listened to every single suggestion that came in, responded to every single one of them, tweaked the code to work towards the suggestions and never had a shred of "dictatorship" in my way of conducting code and features here.. with the one exception of forcing tabs on people, because I work remotely and I don't have access to fancy IDE's that can handle four spaces as one "character). Anyway, that comment really rubbed me the wrong way there and I do not allow or tolerate that tone unless it's genuinely valid - which I think you failed to demonstrate by quickly judging me without even leaving two comments to get to know me.. and you have to because what you just did is personal not factual. I appreciate feedback, constructive criticisms but I think we're all allowed to counter your arguments and whatever conclusion we come to - that is fine. But allow for arguments please.

I'm going back on my vacation now and will read whatever else you put there in a few days. Because as I said, I do read every comment and feedback and I implement anything that has basis and users needs behind it - not personal preferences. Wiki guidelines help. And if you feel that approach is not to your liking, I'd be happy to take it up with the Arch Linux mediators and we can resolve this elsewhere and keep this thread related to the suggestions.

Edit: Also anyone is free to respond, but I happen to be one of the most active maintainers and spend a lot of time communicating in different topics and took the time to respond. And separating tickets on unique topics help as the thread will have to respond to multiple things in one go.. Forcefully making the conversation harder to follow - as you also eluded to.

JeremiahCheatham commented 2 years ago

I'm sorry did you just use my exact same language while trying to tell me not to? is that hypocritical?

 If you have an internal conflict with this please step back and think for a moment if this is a project you should be working on or even giving support for. It sounds like your ideology is in direct conflict here.
Please refrain from using language like this and think about what you just wrote to someone.

I'm still picturing someone at a computer the message "kernel panic! no installed OS" sharpening a very fine tip on a pencil after writing "The only thing i need is a kernel and terminal" before it breaks then ", and maybe a text editor". Sitting next to a cage of carrier pigeons. Muttering about how arpnet is just a fad.

Sorry to joke but really this is basically what you said above. And please please feel free to not respond to this. I find it toxic and unhelpful to anyone. My suggestions above are very very basic sane defaults anyone running Desktop GNU/Linux will need. And they may help others who had to track down they same issues i had. I think it's helpful when i have to track something down and come across similar or the same questions over and over with answers like RTFM or i haven't needed it for 15 years. Or All i need is a kernel terminal and maybe text editor. Or We don't configure things, well we don't configure most things, well we configure that one thing only the way that will cause everyone to pull there hair out over. Firefox what is the irrelevant piece of software it's not important? Or asking me to not use language asking you to think about what you just wrote while asking me to think about what i just wrote. This is all toxic unhelpful behavior. This is why i asked for someone else to respond. Or no one if that is the only option.

JeremiahCheatham commented 2 years ago

I have no idea what his involvement is this project. I think archinstall is an excellent idea to make installation easier and also keeps me from wondering if I'm installing all the needed packages. But this attitude is that one thing that stops people from asking for help. Why Archlinux has a negative perception because arrogant people. My son uses this system as well as i do. Not only are they completely unhelpful but I wouldn't want someone speaking to him like this. And if i saw him treating someone else this way i would asking him as i said above to take a step back and think are you in conflict with this. Not how many years they used a system. The most bonkers idea that linux doesn't or shouldn't support specifically ntfs? His laptop dual boots because sometimes he will need windows but very close to 100% it's not needed. Mine also dual boots because of rocksmith for him, my partner and me. And there is the large volume drives that come preformed with NTFS and if you attempt to reformat them they are not recognized in "Android TV" of all things. The attitude of trying to give an excuse for why this isn't there. And make it seem like an edge case. There is no excuse. I have to assume 1 this was a bug and this person is just a bad egg here. Or 2 his attitude is the cause of this problem. There is no, absolutely no excuse for this type of toxic behavior.

ArchLinuxLover commented 2 years ago

I leave a comment on this: This installer should install little as possible --that way you ( who makes the install ) should not have to remove anything not wanted / needed.

svartkanin commented 2 years ago

It's a bit sad to see that this issue report is more a list of demands rather than an actual discussion. This project has been driven by the community over a long time and has most likely been proven to provide an installer for people to get their Arch system up and running without having to read the documentation.

As a very general reminder, not to sound hostile or anything, but this is an OPTIONAL tool to be used to install someone's system. This tool is not a requirement to setup your system which I think is the essence of keeping these conversations as conversations rather than demands. If someone is not really happy with how the tool chooses it's defaults, what it supports and how the system is setup with it, then there are plenty of options to achieve that. As a first, one can run a post-installation script that will modify the system further to anyone's liking and perform tasks beyond archinstall to serve their needs.

Having that said, I can see that the discussion drifted further into actually attacking people behind the project which is very sad for an open source project. I think if someone feels so strongly about the issues the tool comes with, then there's always the option of not using it and just following the wiki to setup running system or simply fork the project and perform the desired modifications to fit someone's needs better.

But for the sanity of the maintainers, the focus of this tool is the maintainability and providing support for the majority of users and use cases rather than building something that handles an exotic set of edge cases that 0.1% will use.

dylanmtaylor commented 2 years ago

The reason you're getting a negative reaction is the tone of your post and the approach you are taking to ask a community of volunteers to make changes to their project. Even if some of the stuff you mentioned has merit, the way you are communicating is a major turn-off. It sounds like a long list of demands instead of a well-written case to make a change, and you're not addressing a single thing (there should be one issue per GitHub thread).

If you feel like certain packages like pacman-contrib are essential, make the case to the pacman maintainers and get it added as a dependency. Not everyone wants bloat. Not everyone wants BlueTooth enabled out of the box -- this is a user configuration item, and it might drain battery, etc. We don't enable parallel downloads because it's not the default from pacman, again, this is an issue to raise with the developer of that. We don't configure things to deviate from upstream. Our job as the installer is to INSTALL a system, not configure things in a way that enables flags not set by an upstream project.

@Torxed - can we close this? We can address each issue separately in a civil manner, but it's not really productive to engage with this issue in this manner. Many of these things shouldn't even be installer bugs, they should be filed against individual upstream projects.

Torxed commented 2 years ago

@Torxed - can we close this? We can address each issue separately in a civil manner, but it's not really productive to engage with this issue in this manner. Many of these things shouldn't even be installer bugs, they should be filed against individual upstream projects.

Yepp, after talking with the staff this is the conclusion we came to as well.

grazzolini commented 2 years ago

I know I'm late to the party and the issue is closed, but I want to stress that archinstall should never get in the way of the user setting the system the way they want to. That is one of the core principles of Arch and archinstall will stay true to those, wherever possible.