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

Flake #60

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft

Flake #60

wants to merge 10 commits into from

Conversation

haras-unicorn
Copy link

Description

Fixes #32

This PR adds shells and packages for the cargo workspace and vscode extension. The nixos and home-manager modules for the lsp-ai package were included because the issuer requested to add this easily to their home-manager configuration.

This is a WIP.

Additional work to be done and requests for help

The build for the lsp-ai package fails because the build for openssl-sys fails and I haven't been able to fix it. Any help around this would be greatly appreciated.

The vscode extension package needs to be modified to actually call esbuild but IDK what would be the right approach for that. On the other side, I don't know if packaging it is even worthwhile because it already exists in the vscode marketplace and the vscode extensions flake most likely already picked it up so users can add it to their configuration through there.

Possible regressions

cargo2nix modified the Cargo.lock file. If this is a problem I will try and make it so it doesn't do that.

node2nix which the vscode extension flake uses requires the package-lock.json be downgraded to version 2 but if that is not acceptable i will remove that flake. The reason why that flake is added is to "nixify" the whole repository and there is surely a way to package up the vscode extension nicely so it can be added to vscode extensions home-manager configuration.

Additional info

I use direnv for easily switching between environments in my shell so I added .envrc files. I hope this is not a problem.

Some additional lines were added to .gitignore to ease development which are optional and could be removed if it is a problem. The .direnv folder is only relevant if a developer uses direnv and result is the location where nix build saves the results of builds by default so unless someone is testing the result of nix build it is not needed.

@haras-unicorn haras-unicorn marked this pull request as draft August 15, 2024 18:11
@SilasMarvin
Copy link
Owner

Thanks for this PR. I will look into it this weekend, but it looks really good!

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

Successfully merging this pull request may close these issues.

Add nix Flake
2 participants