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

Refactor discussion #62

Open
5 of 7 tasks
GTrunSec opened this issue Nov 1, 2023 · 0 comments
Open
5 of 7 tasks

Refactor discussion #62

GTrunSec opened this issue Nov 1, 2023 · 0 comments

Comments

@GTrunSec
Copy link
Collaborator

GTrunSec commented Nov 1, 2023

Julia2nix not only serves as a Nix library for building Julia projects but also provides interfaces for the DevOps and Software Development Life Cycle (SDLC) revolving around Julia projects, offering the best development experience for Julia developers. Based on the extensive work done in PR NixOS/nixpkgs#225513, here are some ideas for refactoring and simplifying julia2nix:

  1. Utilize https://github.com/codedownio/General to require the hash value for each package.
  2. Remove the dependence of nix-prefetch in julia2nix(
  3. Refactor julia2nix to establish compatibility with https://github.com/SamuraiAku/PkgToSoftwareBOM.jl.
  4. Add a building option in julia2nix to generate reports, which is provided by https://juliaecosystem.github.io/PackageAnalyzer.jl/dev/.
  5. Restructure the Nix library interface in julia2nix with a similar implementation to https://github.com/GTrunSec/omnibus/blob/main/flake.nix, aiming for a streamlined Nix library introduction(without transitive inputs).
  6. (automation): Parse Artifacts to generate information related to nixpkgs and Julia Artifacts, aiding the replacement of nixpkgs with Artifacts.
  7. Introduce multi-system support for building Julia projects.
  8. (Further) Incorporate functions in julia2nix, similar to those in https://github.com/nix-community/go-nix, enabling julia2nix.jl to parse Nix-related elements.

building optimize

Software Development Life Cycle

  • Compatibilities
  • devshell

image

APIs namespace

  • julia2nix.buildPackage
  • julia2nix.buildProject
  • julia2nix.buildApplication
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