-
-
Notifications
You must be signed in to change notification settings - Fork 32
nix flake and darwin module #117
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
base: main
Are you sure you want to change the base?
Conversation
|
i have a few concerns with this. we are introducing another copy of the default config and i would rather we don't as it means we have to update two places when updating and i fear i will eventually forget to and it will get out of sync. also, i haven't ever used nix, nor do i ever really plan to so i am somewhat wary of maintaining a flake as i don't really know how it works so im just not sure what is involved. |
|
i can try to embed the default config instead, that way it just turns low maintenance |
|
that would be a lot more palatable |
|
alright, that should be it. i'm going to test this to see if there were any regressions... |
|
tested, seems to be working fine: default config goes into nix store and is used as config if no config is specified. follows the config on the git repo. only downside to this is that it's technically less documented than the explicit default but it's a tradeoff i guess... |
|
as for maintaining the flake itself, i can help in adding some github workflows that run on release to update the flake lockfile and maybe even build the releases and push them to their respective nix binary caches |
as for the binary cache, it might be likely you'll have to configure something like cachix (create an account, create a binary cache for rift, get an api key and put it in github secrets) unless we open a PR to put this on nixpkgs (which will take god knows how long). i'll leave the code for this ambiguous for now... |
this for some reason wasn't working before but now is okay??
|
@GustavoWidman im okay with no binary cache as long as we can make it pull from github releases. right now the homebrew release cycle uploads a fat/universal binary to github releases and thats where the brew formula/cask/whatever pulls from. so we could probably (idk, i assume so) pull from that for the nix flake. |
alright, yea, i can do that. i'll add a rift-bin package (that's the default) that fetches impure builds from the github releases and another that builds from scratch (like we do currently) |
|
okay, this should work but i can't really test it well, i dislike messing with github actions... |
|
@GustavoWidman is this good to go? if so i will proceed with a merge and it will probably land in 0.3.0 |
yep yep, good to go |
|
by the way, @acsandmann i'll ask that in newer releases you also update the version key in the |
57985cb to
8908869
Compare
beb6bec to
3d877da
Compare
| [package] | ||
| name = "rift-wm" | ||
| version = "0.1.0" | ||
| version = "0.2.8-beta" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the Nix convention to match GitHub release, or Git tag?
|
Once this lands as flake, could this also be upstreamed to https://github.com/nix-darwin/nix-darwin ? |
initializes a darwin module and nix package that can be used by nix-darwin users. usage is really simple, you just enable it and then either give it a path to a config, a string path (like a agenix secret path) or a freeform config, like so:
or
or
the launchd agent is interoperable with rift's CLI service management, so you CAN restart the service by simply doing
rift service restart(and any otherrift servicecommand)there's also a package (duh) and a nixpkgs overlay, which allows you to do
everything is a flake and can be added to YOUR nix flake config by adding
to your
inputskey onflake.nix