diff options
Diffstat (limited to 'user-profiles')
-rw-r--r-- | user-profiles/feeds/module.nix | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/user-profiles/feeds/module.nix b/user-profiles/feeds/module.nix index 992bfe37..1face90e 100644 --- a/user-profiles/feeds/module.nix +++ b/user-profiles/feeds/module.nix | |||
@@ -7,30 +7,55 @@ let | |||
7 | 7 | ||
8 | configPath = "${config.xdg.configHome}/feeds/notmuchrc"; | 8 | configPath = "${config.xdg.configHome}/feeds/notmuchrc"; |
9 | databasePath = "${config.xdg.dataHome}/feeds"; | 9 | databasePath = "${config.xdg.dataHome}/feeds"; |
10 | 10 | ||
11 | imm = flakeInputs.imm.defaultPackage.${system}.overrideAttrs (oldAttrs: { | 11 | imm = |
12 | buildInputs = | 12 | let |
13 | let | 13 | hlib = pkgs.haskell.lib; |
14 | oldDepends = filter (attr: if attr ? name then builtins.match "(uri-bytestring|atom-conduit)(-.*)?" attr.name == null else true) (oldAttrs.buildInputs or []); | 14 | haskellPackages = pkgs.haskellPackages.override { |
15 | newDepends = [ | 15 | overrides = finalHaskell: prevHaskell: { |
16 | (pkgs.haskellPackages.callCabal2nix "uri-bytestring" (pkgs.fetchFromGitHub { | 16 | uri-bytestring = finalHaskell.callCabal2nix "uri-bytestring" (pkgs.fetchFromGitHub { |
17 | owner = "gkleen"; | 17 | owner = "gkleen"; |
18 | repo = "uri-bytestring"; | 18 | repo = "uri-bytestring"; |
19 | rev = "5f7f32c8274bc4d1b81d99582f5148fe3e8b637e"; | 19 | rev = "5f7f32c8274bc4d1b81d99582f5148fe3e8b637e"; |
20 | sha256 = "XLanwyCDIlMuOkpE5LbTNOBfL+1kZX+URfj9Bhs1Nsc="; | 20 | sha256 = "XLanwyCDIlMuOkpE5LbTNOBfL+1kZX+URfj9Bhs1Nsc="; |
21 | fetchSubmodules = true; | 21 | fetchSubmodules = true; |
22 | }) {}) | 22 | }) {}; |
23 | (pkgs.haskellPackages.callCabal2nix "atom-conduit" (pkgs.fetchFromGitHub { | 23 | atom-conduit = finalHaskell.callCabal2nix "atom-conduit" (pkgs.fetchFromGitHub { |
24 | owner = "gkleen"; | 24 | owner = "gkleen"; |
25 | repo = "atom-conduit"; | 25 | repo = "atom-conduit"; |
26 | rev = "af33d1162d84f1fca00fe92a2e47f0a1a5275b4b"; | 26 | rev = "022f0182a02373f87c06a0a09817c8c41efe2425"; |
27 | sha256 = "FbfA4cvF0Z9Q4ethJmXWAQmWdFZNds7XRIMWFXc+ByA="; | 27 | sha256 = "8yEyh3ymqkoM/YP+eBqPq1I5ofzj0Qn7ojL7IWx1DPo="; |
28 | fetchSubmodules = true; | ||
29 | }) {}; | ||
30 | rss-conduit = finalHaskell.callCabal2nix "rss-condit" (pkgs.fetchFromGitHub { | ||
31 | owner = "gkleen"; | ||
32 | repo = "rss-conduit"; | ||
33 | rev = "dbb0960a8d3dc519f1607aa0223b3a25a49282ef"; | ||
34 | sha256 = "Md1XApZWkdv4JvNoaVnjz0S85LbEC6w9U3PUcwXfu94="; | ||
35 | fetchSubmodules = true; | ||
36 | }) {}; | ||
37 | beam-core = hlib.doJailbreak (finalHaskell.callCabal2nix "beam-core" "${beamSrc}/beam-core" {}); | ||
38 | beam-migrate = hlib.doJailbreak (finalHaskell.callCabal2nix "beam-migrate" "${beamSrc}/beam-migrate" {}); | ||
39 | beam-sqlite = hlib.doJailbreak (finalHaskell.callCabal2nix "beam-sqlite" "${beamSrc}/beam-sqlite" {}); | ||
40 | |||
41 | imm = finalHaskell.callCabal2nix "imm" (pkgs.fetchFromGitHub { | ||
42 | owner = "k0ral"; | ||
43 | repo = "imm"; | ||
44 | rev = "5033879667264cb44cee65671a66f6aa43f249e7"; | ||
45 | sha256 = "PG22caLQmAGhLZP49HsazuNd8IFKKaTuhXIQBD8v4Fs="; | ||
28 | fetchSubmodules = true; | 46 | fetchSubmodules = true; |
29 | }) {}) | 47 | }) {}; |
30 | ]; | 48 | }; |
31 | in oldDepends ++ newDepends; | 49 | }; |
32 | }); | 50 | beamSrc = pkgs.fetchFromGitHub { |
33 | immWrapped = pkgs.runCommand "${imm.name}-wrapped-${config.home.username}" | 51 | owner = "haskell-beam"; |
52 | repo = "beam"; | ||
53 | rev = "efd464b079755a781c2bb7a2fc030d6c141bbb8a"; | ||
54 | sha256 = "8nTuBP/vD0L/qMo4h3XNrGZvpIwXuMVdj40j5gvHU6w="; | ||
55 | fetchSubmodules = true; | ||
56 | }; | ||
57 | in haskellPackages.imm; | ||
58 | immWrapped = pkgs.runCommand "${imm.name}-wrapped-${config.home.username}" | ||
34 | { nativeBuildInputs = with pkgs; [ makeWrapper imm ]; | 59 | { nativeBuildInputs = with pkgs; [ makeWrapper imm ]; |
35 | } '' | 60 | } '' |
36 | mkdir -p $out/bin | 61 | mkdir -p $out/bin |