Skip to content
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

[Important feature] Implement single command install with nix / home-manager. Add nix flake #1702

Open
izelnakri opened this issue Feb 26, 2024 · 0 comments

Comments

@izelnakri
Copy link

izelnakri commented Feb 26, 2024

Hi there,

I see nix as a foundational declarative base for all my system level software. Today some of these good to have software is hosted on npm and can be installed like volta install esyes. However I've already moved most of my system to be reproducible with nix, using Home Manager. I can download/configure all my software using nix with a single command: home-manager switch and rollback if I need to.

Since nix is a programming language, it provides a way to declare functions or overlays that can act as dependency/configuration declarations. It would be GREAT(almost necessary) to expose some Volta nix functions hosted on this repository as a nix flake file(flake.nix) so such dependencies can be declared in any home-configuration.nix . In nix today, one can declare packages in different channels by utilizing overlays, so volta refers to the default channel, and unstable channel can be declared so unstable.volta refers to the unstable channel of nixpkgs while other dependencies can be bind to the default channel.

We need something like this for volta dependencies in nix/home-manager..

Example of nix/home-manager configuration: https://github.com/izelnakri/home-manager/blob/main/users/izelnakri/default.nix#L35

There are tools like this that exist for cargo, npm, however would be great(almost necessary) to map the necessary volta commands to nix as well I think as a flake.nix file.

I'll have a look/solution when I have time, meanwhile I appreciate if you could have a look as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant