warbo-utilities: 1025461bb9992959f13c79bc408b1f55b9104f6f
1: From: Chris Warburton
2: Date: Fri, 08 Jun 2018 12:48:54 +0100
3: State: resolved
4: Subject: Beef up trackGit
5: Message-Id: <fef5a7d04933a4fc-0-artemis@nixos>
6: resolution: fixed
7:
8: trackGit adds a repo to chriswarbo.net/git and ~/Programming/repos. We
9: should have it do a little more.
10:
11: At the very least we should generate and backup an IPNS key. We already
12: have the repo name too!
13:
14: Other things we *might* want:
15:
16: - A default.nix file: if not found, ask if we want one; if found, skip.
17: - A release.nix file: if not found, ask if we want one; if found, skip.
18: - A pkgs.nix file: if not found, ask if we want one; if found, skip.
19: - If we want a pkgs.nix, we should ask whether we want nix-config.
20: - If we want a pkgs.nix, we should ask which nixpkgs revision to pin.
21: - ASV benchmarks: if not found, ask if we want some; if found, skip.
22:
23: The default.nix, release.nix and pkgs.nix files should be copied from
24: templates, e.g. stored in ~/.templates.
25:
26: A decent default.nix template would be:
27:
28: {
29: packageOnly ? true,
30: pkgs ? import ./pkgs.nix,
31: /* OTHER DEPENDENCIES GO HERE*/
32: }:
33: with builtins;
34: with pkgs;
35: with { defs = rec {
36: package = abort "Replace this with your main package derivation";
37: }; };
38: if packageOnly
39: then defs.package
40: else defs
41:
42: A release.nix template might be:
43:
44: {
45: stable = import ./. { packageOnly = false; };
46: unstable = import ./. { packageOnly = false;
47: pkgs = import <nixpkgs> {}; };
48: }
49:
50: If we ask for ASV benchmarks, we should make a benchmarks/ dir, a
51: skeleton benchmarks/default.nix which takes root and dir, imports
52: pkgs.nix from dir and wraps python with an empty paths and vars.
53:
54: We should also populate a skeletal asv.conf.json with reasonable
55: defaults:
56:
57: - asv-nix plugin, environment, etc.
58: - Project name should be repo name
59: - Repo can be chriswarbo.net/git/....git
60: - Builders and matrix should be included for 'dir'
61: - Installer should import benchmarks/ dir
62:
63: In the future we may add a declarative Hydra jobset, with a job to build
64: the release.nix and a job which imports that built release.nix
Generated by git2html.