-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflake.nix
More file actions
67 lines (65 loc) · 1.99 KB
/
Copy pathflake.nix
File metadata and controls
67 lines (65 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
description = "NixOS configuration with two or more channels";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
versions = (builtins.fromJSON (builtins.readFile ./versions.json));
magic = { pkg, name, ver, archive, sha256, ... }: pkg.overrideDerivation (old: with nixpkgs.lib.strings; {
name = toLower name + "-" + ver;
version = ver;
src = builtins.fetchurl {
url = archive;
inherit sha256;
};
});
resolveBuilds = { versionInfo }: with versionInfo; with nixpkgs.legacyPackages.x86_64-linux.jetbrains; {
datagrip = with DG; (magic ({
pkg = datagrip;
name = "datagrip";
} // DG));
phpstorm = with PS; (magic ({
pkg = phpstorm;
name = "phpstorm";
} // PS));
idea-community = with IIC; (magic ({
pkg = idea-community;
name = "idea-community";
} // IIC));
idea-ultimate = with IIU; (magic ({
pkg = idea-ultimate;
name = "idea-ultimate";
} // IIU));
goland = with GO; (magic ({
pkg = goland;
name = "goland";
} // GO));
clion = with CL; (magic ({
pkg = clion.overrideDerivation (old: {
autoPatchelfIgnoreMissingDeps = true;
postFixup = builtins.replaceStrings [ clion.name ] [ "clion-${ver}" ] old.postFixup;
});
name = "clion";
} // CL));
rider = with RD; (magic ({
pkg = rider;
name = "rider";
} // RD));
pycharm-professional = with PCP; (magic ({
pkg = pycharm-professional;
name = "pycharm-professional";
} // PCP));
webstorm = with WS; (magic ({
pkg = webstorm;
name = "webstorm";
} // WS));
};
in
{
packages.x86_64-linux = resolveBuilds {
versionInfo = versions.eap;
};
};
}