Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • Verifpal Verifpal
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • VerifpalVerifpal
  • VerifpalVerifpal
  • Merge requests
  • !7

Add nix derivation

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Ghost User requested to merge add-nix-derivations into master Apr 23, 2020
  • Overview 4
  • Commits 6
  • Pipelines 3
  • Changes 5

Hi,

So I left some comments and things in there, I'm not super proficient at nix or anything and I was hoping you would maybe iterate with me on how you'd prefer things to be set up.

Currently there is a default.nix, which can build and install verifpal, and a nix/ directory which contains dependencies as well as a shell.nix which you can enter (do nix-shell in the nix/ directory) to get all the tools needed for updating the dependencies.

I just realized that I should probably use niv throughout or not at all (it's very convenient but also not the canonical way of doing things so opinions vary).

Just for some idea what the tradeoffs are: niv is kind of high maintenance since it pins everything which means you need to manually update the "pins" but that also means the build is completely reproducible very reliable. Currently I am not pinning nixpkgs and I am subscribing to both the stable channel and the unstable channel of nixpkgs because you need go 1.13 to build verifpal and stable is still on 1.12.9.

If you'd like to remove niv then that would basically mean we'd remove the nix folder, put deps.nix in the main directory and you'd just have to have the vgo2nix tool installed locally for updating deps.nix.

If you'd like to go all in on niv then that would mean I would import nixpkgs from the niv sources instead of from the channels.

Do you have any preferences or comments?

(you should be able to do a git clone and then nix-build to build or nix-env -if . to install it into your environment)

Edited Apr 23, 2020 by Ghost User
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: add-nix-derivations