-
-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request]: Make All core files modular as posible #55
Comments
one method would be utilizing gnu core modules can just be git submodules, as this would make a good example for future module maintainers additionally if the submodules were generated into the main hyde manifest you could also have sharable configurations for users, all under the hyde ecosystem eg module something like name: waybar
version: "1.0.0"
description: "Waybar configuration for Hyprland"
dependencies:
- waybar
- ttf-font-awesome
stow_target: "$HOME"
paths:
- .config/waybar |
Will definitely Re-try this approach. It's been a year since I first attempted this. In the past it just breaks hyprdots as hyprdots are using symlinks of a symlink way back then. Definitely a skill issue or the structure that time is not for stow. |
Is it capable of checking dependency versions each? |
If you want to bake this into how Hyde cli does backup restore that will be trickier. stow would make it more complicated the manifests would entirely be built custom for hyde. scripts for dep installing, installing modules, etc would all need to be made versioning would be awesome. can you pull specific versions from aur and just run pacman on them? |
there's a downgrade option. But what I want is to have the dotfiles a minimum/max version table to look up to. eg. waybar requires at least 0.3.0. So it would prompt to not continue installing as waybar might not be updated or might be in ubuntu. and also it won't be in HyDE-CLI. I don't want to break hyprdots. |
using downgrade would be less ideal if it opens a menu each time, i could imagine that for 8 hyde modules being a press enter simulator best bet is a validator hyde side on post install for lowest possible version, aur will always handle getting the latest. |
max version management seems next to impossible. could manually fetch and git checkout then makepkg -si with bash? you can prevent updates in pacman config as well. i really dont like that as an idea |
yeah, the downgrade reply is for things the user might do. I'm talking about the dotfiles min/max version validation. HyDE can do it. BTW how does stow handle dependency? if maybe 🤔 it's possible to parse it first. this way the abstraction part will only be the comments. But that's fragile Or we can have a bunch of manifest files and we can have a global configuration(hyde specific) file that list the manifest files + dependencies with min version declared. This way we don't make changes to stow no additional checks will be done with stow. I'm not yet convinced with stow though but yeah saving some time writing my own boilerplate is convenient.Maybe I'm just too confused with symlinks back then lol, now hyde structure is not relying on symlinks except for the wallpaper states (wall.set .blur .sqr ) |
oh stow does not do package management, only symlinks |
that configuration will look like dots=[ [waybar] stow-manifest= can be path to manifest [waybar.dependecy] .... |
having both git url and path resolve the manifests would be good too for pulling modules and developing them |
I see, we can stick to the old
convention we have? for hyprdots it is
basically declaring what flags do to files. |
so we would need scripts/functions for
flow? preserve/overwrite/sync could break modules. but they should have a confirmation / backup system. im not sure it will be intuitive which modules the dots come from in which files modules need scripts/commands for start boot and "wallbash" so that should be a key/value as well |
what you're describing above is almost the same as install.sh workflow but with a friendly interface. basically modules of dotfiles, I'll call it dots, will be a repo/directory. the toml file will describe it. it should be ready for the flow you mentioned above
In the user's end they'll have an interface where they can pick which dots to install. That's basically it. Important rules:
Actually I already got the parser part using python (I don't want extra deps). Should I push it publicly, even though it's a WIP. |
https://github.com/HyDE-Project/HyDE/blob/master/hyde.toml
I accidentally pushed the config file a month ago, this is the config that will hold every information of the dot files. |
Hey, How about Chezmoi as a manager for the dots and Watchman for possible automation when critical files change? I am not very experienced with chezmoi (or git), but I do use it to manage my dots for my laptop and desktop. Or I might be completely out of my element and have no clue what I am talking about. |
Feature Request
Note
"dots" in this discussion means files that are under a dependecny.
a package of configuration that is specific to a single thing
eg all waybar configs ONLY stored as a separate package, we call it dots
Description
Dotfiles are prone for breakage. So we can't version them like we version a single entity/application. It won't make sense (unless nix) Versioning a whole dotfiles repo is messy as the dependecies are not dependent on each other. (we are not a DE)
This approach at least let us version each "dots". Making them modular.
Oh dunst breaks? We fixed it upstream! Update dunst and udpate this "dots" for dunst.
Use Case
Proposed Solution
Alternatives
Be a distro, and ship your own dots lol
The text was updated successfully, but these errors were encountered: