diff --git a/nix/default.nix b/nix/default.nix deleted file mode 100644 index a1941c4e..00000000 --- a/nix/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ system ? builtins.currentSystem -, nixpkgs ? import ./nixpkgs.nix { inherit system; } -}: -let - mkEnv = nixpkgs.callPackage ./mkEnv.nix { }; -in -rec { - inherit - nixpkgs - ; - - protoc-gen-grpc-java = nixpkgs.callPackage ./pkgs/protoc-gen-grpc-java { }; - - env = mkEnv { - env = { - # Configure nix to use nixpgks - NIX_PATH = "nixpkgs=${toString nixpkgs.path}"; - # Set the env for gradle - JAVA_HOME = "@env-root@/lib/openjdk"; - }; - - paths = [ - # Development tools - nixpkgs.gitAndTools.git-absorb - nixpkgs.jq - nixpkgs.niv - nixpkgs.websocat - nixpkgs.yq - - # Protobuf stuff - nixpkgs.protobuf3_9 - protoc-gen-grpc-java - - # Code formatting - nixpkgs.treefmt - nixpkgs.nixpkgs-fmt - nixpkgs.shfmt - - nixpkgs.jdk - nixpkgs.coreutils - nixpkgs.gnugrep - nixpkgs.which - ]; - }; -} diff --git a/nix/lib/force_cached.nix b/nix/lib/force_cached.nix deleted file mode 100644 index 0e416d51..00000000 --- a/nix/lib/force_cached.nix +++ /dev/null @@ -1,38 +0,0 @@ -# Source https://github.com/Mic92/nix-build-uncached/blob/master/scripts/force_cached.nix -coreutils: attrs: -with builtins; -let - # Copied from - isDerivation = x: isAttrs x && x ? type && x.type == "derivation"; - - # Return true if `nix-build` would traverse that attribute set to look for - # more derivations to build. - hasRecurseIntoAttrs = x: isAttrs x && (x.recurseForDerivations or false); - - # Wraps derivations that disallow substitutes so that they can be cached. - toCachedDrv = drv: - if !(drv.allowSubstitutes or true) then - derivation - { - name = "${drv.name}-to-cached"; - system = drv.system; - builder = "/bin/sh"; - args = [ "-c" "${coreutils}/bin/ln -s ${drv} $out; exit 0" ]; - } - else - drv; - - op = _: val: - if isDerivation val then - toCachedDrv val - else if hasRecurseIntoAttrs val then - forceCached val - else - val - ; - - # Traverses a tree of derivation and wrap all of those that disallow - # substitutes. - forceCached = attrs: mapAttrs op attrs; -in -forceCached attrs diff --git a/nix/mkEnv.nix b/nix/mkEnv.nix deleted file mode 100644 index 12364a51..00000000 --- a/nix/mkEnv.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, writeText, buildEnv }: - -{ name ? "dev-env" -, # Environment variables to set - env ? { } -, # Packages to add to the path - paths ? [ ] -}: -let - envToBash = name: value: - "export ${name}=${lib.escapeShellArg (toString value)}" - ; - - exports = lib.concatStringsSep "\n" - (map (name: envToBash name env.${name}) (lib.attrNames env)); - - env-root = writeText "env-root" '' - export PATH=@env-root@/bin:$PATH - - ${exports} - ''; -in -buildEnv { - inherit name; - paths = paths; - postBuild = '' - sed "s|@env-root@|$out|g" ${env-root} > $out/.profile - ''; -} diff --git a/nix/nixpkgs.nix b/nix/nixpkgs.nix deleted file mode 100644 index 6c0edfe8..00000000 --- a/nix/nixpkgs.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ system ? builtins.currentSystem }: -let - sources = import ./sources.nix; -in -import sources.nixpkgs { - inherit system; - config = { }; - overlays = [ ]; -} diff --git a/nix/pkgs/protoc-gen-grpc-java/default.nix b/nix/pkgs/protoc-gen-grpc-java/default.nix deleted file mode 100644 index e0651159..00000000 --- a/nix/pkgs/protoc-gen-grpc-java/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, runCommand, fetchurl, autoPatchelfHook, lib }: - -stdenv.mkDerivation rec { - pname = "protoc-gen-grpc-java"; - version = "1.38.0"; - - src = fetchurl { - url = "https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/${version}/protoc-gen-grpc-java-${version}-linux-x86_64.exe"; - sha256 = "sha256:1gy5lkxj6d4vrgalwnjp15biybcnrmp695si9878y7high39ymr3"; - }; - - nativeBuildInputs = [ autoPatchelfHook ]; - - unpackPhase = '' - cp $src ./bin - chmod +x ./bin - ''; - - installPhase = '' - mkdir -p $out/bin - mv ./bin $out/bin/$pname - ''; -} diff --git a/nix/release.nix b/nix/release.nix deleted file mode 100644 index 863f0c9c..00000000 --- a/nix/release.nix +++ /dev/null @@ -1,16 +0,0 @@ -# Use this file with nix-build-uncached on CI -{ system ? builtins.currentSystem }: -let - nixpkgs = import ./nixpkgs.nix { inherit system; }; - - # This is used to wrap all of our outputs, so they all end-up in the cache. - # - # There are two attributes ` allowSubstitutes = false;` and - # `preferLocalBuild = true;` that influence how derivations gets pulled and - # pushed. - forceCached = import ./lib/force_cached.nix nixpkgs.coreutils; - - # All the packages that we care about - ourPackages = import ./. { inherit nixpkgs system; }; -in -forceCached ourPackages diff --git a/nix/sources.json b/nix/sources.json deleted file mode 100644 index c1ec96f7..00000000 --- a/nix/sources.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "nixpkgs": { - "branch": "nixos-unstable", - "description": "Nix Packages collection", - "homepage": "", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e4ef597edfd8a0ba5f12362932fc9b1dd01a0aef", - "sha256": "1w6y7ma2crcsfph60z8j1k3af0v2m110cbjrb62z287mn4skhqjs", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/e4ef597edfd8a0ba5f12362932fc9b1dd01a0aef.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - } -} diff --git a/nix/sources.nix b/nix/sources.nix deleted file mode 100644 index 1fc17a6c..00000000 --- a/nix/sources.nix +++ /dev/null @@ -1,160 +0,0 @@ -# This file has been generated by Niv. -let - # - # The fetchers. fetch_ fetches specs of type . - # - - fetch_file = pkgs: name: spec: - let - name' = sanitizeName name + "-src"; - in - if spec.builtin or true then - builtins_fetchurl { inherit (spec) url sha256; name = name'; } - else - pkgs.fetchurl { inherit (spec) url sha256; name = name'; }; - - fetch_tarball = pkgs: name: spec: - let - name' = sanitizeName name + "-src"; - in - if spec.builtin or true then - builtins_fetchTarball { name = name'; inherit (spec) url sha256; } - else - pkgs.fetchzip { name = name'; inherit (spec) url sha256; }; - - fetch_git = name: spec: - let - ref = - if spec ? ref then spec.ref else - if spec ? branch then "refs/heads/${spec.branch}" else - if spec ? tag then "refs/tags/${spec.tag}" else - abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!"; - in - builtins.fetchGit { url = spec.repo; inherit (spec) rev; inherit ref; }; - - fetch_local = spec: spec.path; - - fetch_builtin-tarball = name: throw - ''[${name}] The niv type "builtin-tarball" is deprecated. You should instead use `builtin = true`. - $ niv modify ${name} -a type=tarball -a builtin=true''; - - fetch_builtin-url = name: throw - ''[${name}] The niv type "builtin-url" will soon be deprecated. You should instead use `builtin = true`. - $ niv modify ${name} -a type=file -a builtin=true''; - - # - # Various helpers - # - - # https://github.com/NixOS/nixpkgs/pull/83241/files#diff-c6f540a4f3bfa4b0e8b6bafd4cd54e8bR695 - sanitizeName = name: - ( - concatMapStrings (s: if builtins.isList s then "-" else s) - ( - builtins.split "[^[:alnum:]+._?=-]+" - ((x: builtins.elemAt (builtins.match "\\.*(.*)" x) 0) name) - ) - ); - - # The actual fetching function. - fetch = pkgs: name: spec: - - if ! builtins.hasAttr "type" spec then - abort "ERROR: niv spec ${name} does not have a 'type' attribute" - else if spec.type == "file" then fetch_file pkgs name spec - else if spec.type == "tarball" then fetch_tarball pkgs name spec - else if spec.type == "git" then fetch_git name spec - else if spec.type == "local" then fetch_local spec - else if spec.type == "builtin-tarball" then fetch_builtin-tarball name - else if spec.type == "builtin-url" then fetch_builtin-url name - else - abort "ERROR: niv spec ${name} has unknown type ${builtins.toJSON spec.type}"; - - # If the environment variable NIV_OVERRIDE_${name} is set, then use - # the path directly as opposed to the fetched source. - replace = name: drv: - let - saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name; - ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}"; - in - if ersatz == "" then drv else - # this turns the string into an actual Nix path (for both absolute and - # relative paths) - if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}"; - - # Ports of functions for older nix versions - - # a Nix version of mapAttrs if the built-in doesn't exist - mapAttrs = builtins.mapAttrs or ( - f: set: with builtins; - listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set)) - ); - - # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295 - range = first: last: if first > last then [ ] else builtins.genList (n: first + n) (last - first + 1); - - # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257 - stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1)); - - # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269 - stringAsChars = f: s: concatStrings (map f (stringToCharacters s)); - concatMapStrings = f: list: concatStrings (map f list); - concatStrings = builtins.concatStringsSep ""; - - # https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331 - optionalAttrs = cond: as: if cond then as else { }; - - # fetchTarball version that is compatible between all the versions of Nix - builtins_fetchTarball = { url, name ? null, sha256 }@attrs: - let - inherit (builtins) lessThan nixVersion fetchTarball; - in - if lessThan nixVersion "1.12" then - fetchTarball ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) - else - fetchTarball attrs; - - # fetchurl version that is compatible between all the versions of Nix - builtins_fetchurl = { url, name ? null, sha256 }@attrs: - let - inherit (builtins) lessThan nixVersion fetchurl; - in - if lessThan nixVersion "1.12" then - fetchurl ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) - else - fetchurl attrs; - - # Create the final "sources" from the config - mkSources = config: - mapAttrs - ( - name: spec: - if builtins.hasAttr "outPath" spec - then - abort - "The values in sources.json should not have an 'outPath' attribute" - else - spec // { outPath = replace name (fetch config.pkgs name spec); } - ) - config.sources; - - # The "config" used by the fetchers - mkConfig = - { sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null - , sources ? if isNull sourcesFile then { } else builtins.fromJSON (builtins.readFile sourcesFile) - , system ? builtins.currentSystem - , pkgs ? abort '' - Some source is being used outside of nixpkgs. For example using import. - - Edit the sources.json and add `"builtin": true` to that source. - '' - }: rec { - # The sources, i.e. the attribute set of spec name to spec - inherit sources; - - # The "pkgs" (evaluated nixpkgs) to use for e.g. non-builtin fetchers - inherit pkgs; - }; - -in -mkSources (mkConfig { }) // { __functor = _: settings: mkSources (mkConfig settings); }