-
Notifications
You must be signed in to change notification settings - Fork 157
Anarchy's project goals #947
Comments
@Segdon Do you have any suggestions? |
Some questions first |
Although I understand Kostas point on not burdening the installer to much with our own customized material, i think i would be a good idea to add a feature to import some dotfile configuration from (possibly a separate) git. or in the form of a post-install-script |
Yup, Docker and/or OSI (standardized) container images. This would make it much easier for users to compile it by themselves and wouldn't require any dependencies installed on the host system (the one you'd be compiling on).
Yeah, I'd say so, so it would take a while, but we can update the scripts one by one. Also POSIX-compliant scripts don't use arrays, which we can solve by adding packages directly to the file instead of adding them to an array and then adding the to the packages file at the end.
They're a way to test separate parts of a product/software. E.g. each unit test runs a script and checks if it executed correctly, which should minimise bugs that users find. |
Maybe there should also be a kind of prioritization in the objectives. I would upvote I would downvote |
I actually thought about this. If we could find a dotfiles format that would work, we could completely remove the customised desktops from the installer and make them optional through the use of dotfiles. So +1 for this idea. |
Sure, that sounds fair. |
One not really code-related goal is that after the refactoring is complete and the code is fairly stable, we should work on promoting Anarchy a bit, because getting new contributors could really help the project. |
I like the way manjaro did this: https://github.com/manjaro/desktop-settings |
Sound great; stuff for a new issue ;-) |
What is your opinion regarding removing customised desktops, so we don't have to maintain them and possibly either completely removing other desktops or preferably allowing DEs as they are now, just not the customised ones. Customisations could maybe still be set up with dotfiles, but someone would have to implement and maintain this. This change would also move us closer towards our KISS goal. |
I think this is the best way forward. I don't really now how close this way adheres to the KISS goal, but it is a way to make a project appealing to both experts and medium-skilled people, without the maintenance of customized desktops. |
I like Luke Smith, but I don't think the larbs approach would be good for Anarchy and it would add unnecessary complexity. Also by allowing just any dotfiles format (e.g. stow, plain git repo, yadm and such) we would again be increasing the complexity and would have to add support for all those formats. And even if we somehow manage to do that, users will want more formats. Currently I think the most KISS-oriented and easiest to implement option would be to just not add a custom dotfiles option and expect the user to add their own dotfiles after the installation. This way everyone can choose whichever format they prefer and there is no additional maintenance cost for us. The other option would be to focus on one of the implementations (e.g. only officially supporting bare git repos) and allow that. Since this is not a priority I won't focus on it now, but in the long run we should discuss how this should work. Realistically I believe the one option approach is the most we can do, because supporting multiple options is way to much of a burden. |
I think this is self-evident. In a way, the choice for a KISS option closes this whole debate, because it means there is only one thing anarchy should do well, and that is installing. I'm not arguing for doing this all by ourselfs (or by yourself more correctly), just to provide an standardized way for others to hook on to, if this doesn't sound to far-fetched
Off course this isn't a priority. I think the most important thing now is to ditch all the customization (and maybe DE and WM altogether) for now till you rebuild is ready. Once that base is ready and well tested, we (read = you) can add to our heart's content...
what is your view of that one option then? the bare git? |
There is no standardized way for deploying dotfiles.
This is what an API is, and I don't want to limit people's configurations by forcing them to use something like this even more than I don't want to implement an API - that would stray far more into the non-KISS direction than just allowing one of the deployment options.
I agree.
Bare git sounds like the most likely candidate to me, since git is usually already installed and doesn't require any dependencies. This would also simply the installation since all that would need to be done would be to clone the repo. Stow would be another option, since it's just one dependency, but the problem is we'd have to parse all the directories to install the files. Just cloning the repo wouldn't help much in this case. I have no idea how we could go about implementing other options. Regarding the standardized way though: We could make it so that users can choose any deployment option they want and if we find something like a The file would just be a standard bash script, which the users would customise (they'd list the commands they want run, like symlinking or stowing). What is your opinion on this? Is this the hook you were talking about? |
for sure, but we can choose one, that then being the standard for installing on top of the anarchy installation
If i understand it correctly, this would be a script that adjust the user configuration, during install, with the deployment-option (stow, yadm, bare git, ...) of their choice? Aren't we back at a higher complexity-level, that way? |
Yup, it would just execute the script. If there is no script found Anarchy would clone the repo so there is no extra work for existing bare repos. This way every user can configure their dotfiles the way they like and as long as the script works fine without any extra parameters, then the deployment should work perfectly. This would possibly also open up the option of users submitting their dotfiles and we could list the urls somewhere on the wiki. This could also possibly replace the existing customised desktops, since using the script extra software currently installed when selecting a precustomised DE could also be installed, making everything even more modular. |
then I would advocate also an install-this-list-of-software.sh file
I think that this is somewhat what I had in mind Glad we agree |
The list of software should be a part of the |
That's settled then! |
As stated elsewhere; it could be a good idea to formulate some goals and guidelines for the future of the project.
Code
Project
[0] Which means manually compiling yay during the installation and updating keys and package lists
The text was updated successfully, but these errors were encountered: