Closed ghost closed 2 years ago
I'd appreciate if you could make a PR with all you've got :) Being honest I'm new to github and don't know much about formatting README files and such, a PR on something like adding a short dependency list would be of great help because then I'd just follow the same structure and add whatever else could be left (like the fonts needed). As for making configuration easier, I think that could be done by using environment variables and making all scripts call those variables instead of hard coding stuff, but I think it would be better to come up with a full dependency list before that.
I've made some progress towards generalizing the paths. Its also got me commenting out your OSU stuff :grimacing: so sorry about that :joy:
If I was better at git I'd know how to cherrypick that out of my PR, but I'll spin what I have so far up.
I also wrote a script that symlinks files from where you clone the repo to where they should be.
You've made a lot of code deletions so this list is outdated, but here was what I had for the deps before that:
Sorry, forgot to comment on this until now. This list looks good so far but I see you added some programs referenced by my picom and bspwm config filea, the thing is, a lot of them are references on rules just to work if the app is opened but not necessary for the rice to work (like sm64ex for example). Also some deps are not needed anymore. The list without those things would end up something like this:
.bscripts/lock.sh
).config/bspwm/autostart
).config/bspwm/autostart
)Also, just to add to the list, needed fonts should be:
What do you think? Now I just have to make an effort to get rid of all the unnecessary rules in both bspwmrc and picom.conf to avoid confusion
Also, just looked into your fork's deps.md (should've done it earlier) Will remove some more icon stuff from dunstrc since it isn't used at all Will comment an updated deps list in a bit now that I checked your fork
Here's where I'm at with deps
pkgs.acpi
#pkgs.amixer might be alsamixer
pkgs.brave
pkgs.bspwm
pkgs.colorpicker
pkgs.dbus
pkgs.dbus.daemon
#pkgs.discover-overlay
pkgs.discord
pkgs.eww
pkgs.flameshot
#pkgs.gdbus possible dbus-glib possible already in dbus
pkgs.hsetroot
pkgs.kitty
#pkgs.mantablockscreen gonna have to github install
pkgs.picom
pkgs.playerctl
pkgs.polybar
pkgs.polkit_gnome
pkgs.pulseaudio
pkgs.pulseaudio-ctl
pkgs.python3Full
pkgs.pywal #
pkgs.rofi
pkgs.scrot
pkgs.spicetify-cli
pkgs.spotify
pkgs.sxhkd
pkgs.sysstat # for mpstat
pkgs.xclip
pkgs.xdg-desktop-portal-gnome
pkgs.xdotool
pkgs.xfce.thunar
pkgs.xorg.setxkbmap
pkgs.xprintidle
pkgs.xorg.xwininfo
pkgs.wmctrl
pkgs.wpgtk
Noticed brightlight missing. I use it in ~/.bscripts/brightness.sh
since xbacklight (the standard) doesn't work on my machine. It'd probably work better for you to just edit the script to use xbacklight instead, but I'm gonna keep using the package linked above
Managed to put out a oneliner for installing most dependencies for anyone running arch, should be complete assuming some stuff as core utils (like some Xorg packages). Fonts are listed too now. Will still leave this open if we end up finding some other program is missing. Now I'm gonna focus on making a setup script like the one you wrote (might just use that and change a couple things)
Feel free to. The only reason I haven't offered it your way is because I went a different direction with directory structure.
I opted to move all ricing things not in the .config
directory into the .gourmet-rice
directory after installation. This includes .bscripts
and Documents/Sounds
and Pictures
The directory format post install is
.config/
| - bspwm/
| - dunst/
| - eww/
| - picom.conf
| - wpg/
.gourmet-rice/
| - bscripts/
| - assets/
| - img/
| - important/
| - wallpaper/
| - sounds/
similarly I renamed directories with the repo. Anything prefaced with a .
has had it removed in the repo while maintaining it post install.
Additionally I made notes within directories that are linked to the repo to call out that the changes are being made not exactly where a person my think.
I'll gladly help move any of those changes into your branch if you'd like, otherwise absolutely feel free to steal my code.
Is probably pretty damn close to what you're looking for in an install script. It doesn't care where a person clones the repo to and once you've done it everything is symbolically linked, so a git pull in the repo would update any files that change automagically (unless unlinked files are added)
Oh you might want to throw a software license on this repo.
GPL3 is my favorite MIT is really common and well liked There's a bunch of other ones too, but it would allow you to exercise your right to own this code in a manner that covers your ass from a legal perspective and keeps the code open source if other people (like me) fork your code.
I'd like to keep the directory structure the way it is in this branch at least since that's how I have it on my machine where I use those directories for some other things that are not related to the rice itself. But I'm totally stealing the linking script lol, will just make the necessary changes. As for the license, I'll look into it since I don't know anything about licensing things, thanks for the advice. Once I have the install script I'm gonna try installing the rice in a fresh arch install and see how it goes, I worry that some dependencies might still be missing.
You called out pavucontrol isn't necessary, however your yay
install script calls it out. Do I need it?
That's an oversight, pavucontrol shouldn't be necessary for anything rice related, will take it out of the yay script
Little update: removed fonts from dependencies and added them to the repo itself, thought it was a good idea to install them via the install script instead of leaving that to the user
Made huge advancements today, managed to install the rice on a fresh arch installation in like 20 minutes with the install script (including installing dependencies). But in doing so I noticed some problems with certain scripts that I will clean up. More importantly, there still seems to be a font missing for a certain part of the rice, will look into that.
Might finish the whole thing tomorrow :)
Identified a dependency jq
used to parse bspwm's state in .config/eww/mybar/scripts/layout
Just spent the whole morning testing and it works fine now :D
Some further improvements to scripts and configs are still needed, but the install script and the dependency list is done.
Also identified a dep that you might be missing sox
used to play some sound effects.
Closing this as the main topic of the issue seems to be resolved already, feel free to open any other issues if you find some other problem
I'm attempting to recreate this in NixOs. The deterministic nature of Nix would mean that it could then be distributed to anyone inclined, however the biggest hurdle is overcoming the full dependency list.
The Reddit Post suggests the following dependencies:
However additional dependencies exist. I have identified the following:
If there is interest I can push up what I've got to a repo, but I'd at @ikz87's opinion on the matter beforehand.
If there was an effort to make this a Nixos template we would benefit from steps to make application selections like browser, music player, file manager, etc. exist at a higher level that could propagate to all scripts interested in acting on them. We'd also benefit from shortcuts being extracted in a similar way to ease configuration.
But I'm gonna be honest, this rice is so sick that its probably worth it. :joy: