diff options
Diffstat (limited to 'krebs')
-rw-r--r-- | krebs/4lib/maybe.nix | 10 | ||||
-rw-r--r-- | krebs/5pkgs/default.nix | 20 | ||||
-rw-r--r-- | krebs/5pkgs/haskell-overrides/blessings.nix | 14 | ||||
-rw-r--r-- | krebs/5pkgs/haskell-overrides/email-header.nix | 25 | ||||
-rw-r--r-- | krebs/5pkgs/haskell-overrides/megaparsec.nix | 20 | ||||
-rw-r--r-- | krebs/5pkgs/haskell-overrides/scanner.nix | 12 | ||||
-rw-r--r-- | krebs/5pkgs/much/default.nix | 58 | ||||
-rw-r--r-- | krebs/5pkgs/realwallpaper/default.nix | 28 |
8 files changed, 138 insertions, 49 deletions
diff --git a/krebs/4lib/maybe.nix b/krebs/4lib/maybe.nix new file mode 100644 index 000000000..5189c99a1 --- /dev/null +++ b/krebs/4lib/maybe.nix @@ -0,0 +1,10 @@ +{ ... }: + +rec { + Just = x: { type = "maybe"; value = x; }; + Nothing = { type = "maybe"; }; + isMaybe = x: builtins.typeOf x == "set" && x.type or false == "maybe"; + isJust = x: isMaybe x && builtins.hasAttr "value" x; + fromJust = x: assert isJust x; x.value; + catMaybes = xs: map fromJust (builtins.filter isJust xs); +} diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix index a8a1b5853..84fb8725b 100644 --- a/krebs/5pkgs/default.nix +++ b/krebs/5pkgs/default.nix @@ -1,6 +1,6 @@ -{ lib, pkgs, ... }: +{ pkgs, ... }: -with import ../4lib { inherit lib; }; +with import ../4lib { inherit (pkgs) lib; }; let subdirs = mapAttrs (_: flip pkgs.callPackage {}) (subdirsOf ./.); @@ -9,6 +9,20 @@ in subdirs // rec { + haskellPackages = pkgs.haskellPackages.override { + overrides = self: super: + mapAttrs (name: path: self.callPackage path {}) + (mapAttrs' + (name: type: + if hasSuffix ".nix" name + then { + name = removeSuffix ".nix" name; + value = ./haskell-overrides + "/${name}"; + } + else null) + (builtins.readDir ./haskell-overrides)); + }; + push = pkgs'.callPackage ./push { inherit (subdirs) get jq; }; @@ -30,7 +44,7 @@ subdirs // rec { execveBin = name: cfg: execve name (cfg // { destination = "/bin/${name}"; }); writeC = name: { destination ? "" }: src: pkgs.runCommand name {} '' - PATH=${lib.makeSearchPath "bin" (with pkgs; [ + PATH=${makeSearchPath "bin" (with pkgs; [ binutils coreutils gcc diff --git a/krebs/5pkgs/haskell-overrides/blessings.nix b/krebs/5pkgs/haskell-overrides/blessings.nix new file mode 100644 index 000000000..311458211 --- /dev/null +++ b/krebs/5pkgs/haskell-overrides/blessings.nix @@ -0,0 +1,14 @@ +{ mkDerivation, base, fetchgit, stdenv }: +mkDerivation { + pname = "blessings"; + version = "1.0.0"; + src = fetchgit { + url = http://cgit.cd.retiolum/blessings; + rev = "25a510dcb38ea9158e9969d56eb66cb1b860ab5f"; + sha256 = "b962153e80e51519b52220199d8350b54154833e4bc25a792ecc58898fef3fb2"; + }; + libraryHaskellDepends = [ base ]; + doHaddock = false; + # WTFPL is the true license, which is unknown to cabal. + license = stdenv.lib.licenses.wtfpl; +} diff --git a/krebs/5pkgs/haskell-overrides/email-header.nix b/krebs/5pkgs/haskell-overrides/email-header.nix new file mode 100644 index 000000000..8c62f2f70 --- /dev/null +++ b/krebs/5pkgs/haskell-overrides/email-header.nix @@ -0,0 +1,25 @@ +{ mkDerivation, attoparsec, base, base64-bytestring, bytestring +, case-insensitive, containers, exceptions, fetchgit, QuickCheck +, stdenv, tasty, tasty-quickcheck, text, text-icu, time +}: +mkDerivation { + pname = "email-header"; + version = "0.3.0"; + src = fetchgit { + url = "https://github.com/4z3/email-header"; + sha256 = "f33fba567a39b1f2448869b269c26c40d8007599c23ab83bde5b4dfd9fd76ebc"; + rev = "7b179bd31192ead8afe7a0b6e34bcad4039deaa8"; + }; + buildDepends = [ + attoparsec base base64-bytestring bytestring case-insensitive + containers exceptions text text-icu time + ]; + testDepends = [ + base bytestring case-insensitive containers QuickCheck tasty + tasty-quickcheck text time + ]; + jailbreak = true; + homepage = "http://github.com/knrafto/email-header"; + description = "Parsing and rendering of email and MIME headers"; + license = stdenv.lib.licenses.bsd3; +} diff --git a/krebs/5pkgs/haskell-overrides/megaparsec.nix b/krebs/5pkgs/haskell-overrides/megaparsec.nix new file mode 100644 index 000000000..5ade6006e --- /dev/null +++ b/krebs/5pkgs/haskell-overrides/megaparsec.nix @@ -0,0 +1,20 @@ +{ mkDerivation, base, bytestring, fetchzip, HUnit, mtl, QuickCheck +, stdenv, test-framework, test-framework-hunit +, test-framework-quickcheck2, text, transformers +}: +mkDerivation { + pname = "megaparsec"; + version = "4.1.0"; + src = fetchzip { + url = "https://hackage.haskell.org/package/megaparsec-4.1.0/megaparsec-4.1.0.tar.gz"; + sha256 = "1a1ka53a3r91lwnlvzaa8nyk1dxvfd1ij1i5x5vp83q2r9z9dcmi"; + }; + libraryHaskellDepends = [ base bytestring mtl text transformers ]; + testHaskellDepends = [ + base HUnit mtl QuickCheck test-framework test-framework-hunit + test-framework-quickcheck2 transformers + ]; + homepage = "https://github.com/mrkkrp/megaparsec"; + description = "Monadic parser combinators"; + license = stdenv.lib.licenses.bsd3; +} diff --git a/krebs/5pkgs/haskell-overrides/scanner.nix b/krebs/5pkgs/haskell-overrides/scanner.nix new file mode 100644 index 000000000..ebc5cd620 --- /dev/null +++ b/krebs/5pkgs/haskell-overrides/scanner.nix @@ -0,0 +1,12 @@ +{ mkDerivation, base, fetchgit, stdenv }: +mkDerivation { + pname = "scanner"; + version = "1.0.0"; + src = fetchgit { + url = http://cgit.cd.retiolum/scanner; + rev = "7f091a3bc152ad3974a1873b460fa1759bf8dcad"; + sha256 = "7d123c227777932039d26fc832b8d32a90f04c0bd6b7e8bcff0a6f49a54e0054"; + }; + libraryHaskellDepends = [ base ]; + license = stdenv.lib.licenses.wtfpl; +} diff --git a/krebs/5pkgs/much/default.nix b/krebs/5pkgs/much/default.nix index 82586b422..ba5ab2327 100644 --- a/krebs/5pkgs/much/default.nix +++ b/krebs/5pkgs/much/default.nix @@ -1,63 +1,29 @@ { pkgs, ... }: -let - hspkgs = pkgs.haskellngPackages.override { - overrides = self: super: { - email-header = self.callPackage ( -{ mkDerivation, attoparsec, base, base64-bytestring, bytestring -, case-insensitive, containers, exceptions, fetchgit, QuickCheck -, stdenv, tasty, tasty-quickcheck, text, text-icu, time -}: -mkDerivation { - pname = "email-header"; - version = "0.3.0"; - src = fetchgit { - url = "https://github.com/4z3/email-header"; - sha256 = "f33fba567a39b1f2448869b269c26c40d8007599c23ab83bde5b4dfd9fd76ebc"; - rev = "7b179bd31192ead8afe7a0b6e34bcad4039deaa8"; - }; - buildDepends = [ - attoparsec base base64-bytestring bytestring case-insensitive - containers exceptions text text-icu time - ]; - testDepends = [ - base bytestring case-insensitive containers QuickCheck tasty - tasty-quickcheck text time - ]; - jailbreak = true; - homepage = "http://github.com/knrafto/email-header"; - description = "Parsing and rendering of email and MIME headers"; - license = stdenv.lib.licenses.bsd3; -} -) {}; - }; - }; -in - -hspkgs.callPackage ( +pkgs.haskellngPackages.callPackage ( { mkDerivation, aeson, attoparsec, base, base64-bytestring -, blaze-builder, bytestring, case-insensitive, containers, deepseq +, blaze-builder, blessings, bytestring, case-insensitive, containers, deepseq , directory, docopt, email-header, fetchgit, filepath , friendly-time, hyphenation, linebreak, old-locale, process -, random, rosezipper, safe, split, stdenv, terminal-size, text +, random, rosezipper, safe, scanner, split, stdenv, terminal-size, text , time, transformers, transformers-compat, unix, vector }: mkDerivation { pname = "much"; - version = "0.0.0.0"; + version = "1.0.0"; src = fetchgit { - url = "http://cgit.nomic/much"; - sha256 = "f0bcc34456cb876d3439694d1e16db414a540e13f476fa3ff1ad70d1d3caccb2"; - rev = "bfd854e05207a073eaa983c49f27c37555ccfce5"; + url = "http://cgit.cd.retiolum/much"; + rev = "045dc986b4de225a927175f81c8ccfdab450202c"; + sha256 = "cec175e3dc32ef93029ee5285f6c4042ce11d637945bc8cec02cb6699d06cc13"; }; isLibrary = false; isExecutable = true; buildDepends = [ - aeson attoparsec base base64-bytestring blaze-builder bytestring - case-insensitive containers deepseq directory docopt email-header - filepath friendly-time hyphenation linebreak old-locale process - random rosezipper safe split terminal-size text time transformers - transformers-compat unix vector + aeson attoparsec base base64-bytestring blaze-builder blessings bytestring + case-insensitive containers deepseq directory docopt email-header filepath + friendly-time hyphenation linebreak old-locale process random rosezipper + safe scanner split terminal-size text time transformers transformers-compat + unix vector ]; license = stdenv.lib.licenses.mit; } diff --git a/krebs/5pkgs/realwallpaper/default.nix b/krebs/5pkgs/realwallpaper/default.nix new file mode 100644 index 000000000..4fea977ec --- /dev/null +++ b/krebs/5pkgs/realwallpaper/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchgit, xplanet, imagemagick, curl, file }: + +stdenv.mkDerivation { + name = "realwallpaper"; + + src = fetchgit { + url = https://github.com/Lassulus/realwallpaper; + rev = "c2778c3c235fc32edc8115d533a0d0853ab101c5"; + sha256 = "0yhbjz19zk8sj5dsvccm6skkqq2vardn1yi70qmd5li7qvp17mvs"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + buildInputs = [ + xplanet + imagemagick + curl + file + ]; + + installPhase = '' + mkdir -p $out + cp realwallpaper.sh $out/realwallpaper.sh + ''; +} |