diff --git a/configuration.nix b/configuration.nix index e03c8a2fb983ec5edf81108eb7e52f024f1009db..d0857a79de0e9f3219172ba46cc7e81ebe35d5a8 100644 --- a/configuration.nix +++ b/configuration.nix @@ -16,5 +16,7 @@ final: prev: { text-icu = prev.callPackage ./pkgs/text-icu.nix { icu-i18n = pkgs.icu; }; + X11-xft = addPkgconfigDepends prev.X11-xft [ pkgs.expat pkgs.xorg.libXau pkgs.xorg.libXdmcp ]; + zlib = prev.callPackage ./pkgs/zlib.nix { inherit (pkgs) zlib; }; } diff --git a/horizon.dhall b/horizon.dhall index b1e5065561a85359a58844ed9b869ee5872e7325..a145fe76e90ffe02fe8fd94e4346e729cb7c599d 100644 --- a/horizon.dhall +++ b/horizon.dhall @@ -58,6 +58,8 @@ in H.HorizonExport.MakePackageSet , H.callHackage "QuickCheck" "2.14.2" , H.callHackage "SHA" "1.6.4.4" , H.callHackage "StateVar" "1.2.2" + , H.callHackage "X11-xft" "0.3.4" + , H.callHackage "X11" "1.10.3" , H.callHackage "abstract-deque" "0.3" , H.callHackage "abstract-par" "0.3.3" , H.callHackage "adjunctions" "4.4.2" @@ -66,6 +68,8 @@ in H.HorizonExport.MakePackageSet , H.callHackage "aeson-yaml" "1.1.0.1" , H.callHackage "alex" "3.2.7.1" , H.callHackage "algebraic-graphs" "0.7" + , H.callHackage "alsa-core" "0.5.0.1" + , H.callHackage "alsa-mixer" "0.3.0" , H.callHackage "ansi-terminal" "0.11.3" , H.callHackage "ansi-wl-pprint" "0.6.9" , H.callHackage "appar" "0.1.8" @@ -723,6 +727,7 @@ in H.HorizonExport.MakePackageSet , H.callHackage "servant-swagger-ui-core" "0.3.5" , H.callHackage "servant-static-th" "1.0.0.0" , H.callHackage "setenv" "0.1.1.3" + , H.callHackage "setlocale" "1.0.0.10" , H.callHackage "shakespeare" "2.0.30" , H.callHackage "shake" "0.19.6" , H.callHackage "shelly" "1.10.0" @@ -937,6 +942,8 @@ in H.HorizonExport.MakePackageSet , H.callHackage "xml-conduit" "1.9.1.1" , H.callHackage "xml-types" "0.3.8" , H.callHackage "xml" "1.3.14" + , H.callHackage "xmonad-contrib" "0.17.1" + , H.callHackage "xmonad" "0.17.1" , H.callHackage "yaml" "0.11.8.0" , H.callHackage "zip-archive" "0.4.2.2" , H.callHackage "zlib" "0.6.3.0" diff --git a/initial-packages.nix b/initial-packages.nix index 7f39a81d489c44c53fa7b716513ca8d627d2e2e2..9238edd0c30d16b2cb0ac6cb14a2cdf2133ccd7e 100644 --- a/initial-packages.nix +++ b/initial-packages.nix @@ -49,6 +49,10 @@ self: with pkgs.haskell.lib; { StateVar = self.callPackage (./pkgs/StateVar.nix) { }; + X11 = self.callPackage (./pkgs/X11.nix) { }; + + X11-xft = self.callPackage (./pkgs/X11-xft.nix) { }; + abstract-deque = self.callPackage (./pkgs/abstract-deque.nix) { }; abstract-par = self.callPackage (./pkgs/abstract-par.nix) { }; @@ -65,6 +69,10 @@ self: with pkgs.haskell.lib; { algebraic-graphs = self.callPackage (./pkgs/algebraic-graphs.nix) { }; + alsa-core = self.callPackage (./pkgs/alsa-core.nix) { }; + + alsa-mixer = self.callPackage (./pkgs/alsa-mixer.nix) { }; + ansi-terminal = self.callPackage (./pkgs/ansi-terminal.nix) { }; ansi-wl-pprint = self.callPackage (./pkgs/ansi-wl-pprint.nix) { }; @@ -1147,6 +1155,8 @@ self: with pkgs.haskell.lib; { setenv = self.callPackage (./pkgs/setenv.nix) { }; + setlocale = self.callPackage (./pkgs/setlocale.nix) { }; + shake = self.callPackage (./pkgs/shake.nix) { }; shakespeare = self.callPackage (./pkgs/shakespeare.nix) { }; @@ -1519,6 +1529,10 @@ self: with pkgs.haskell.lib; { xml-types = self.callPackage (./pkgs/xml-types.nix) { }; + xmonad = self.callPackage (./pkgs/xmonad.nix) { }; + + xmonad-contrib = self.callPackage (./pkgs/xmonad-contrib.nix) { }; + yaml = self.callPackage (./pkgs/yaml.nix) { }; zip-archive = self.callPackage (./pkgs/zip-archive.nix) { }; diff --git a/pkgs/X11-xft.nix b/pkgs/X11-xft.nix new file mode 100644 index 0000000000000000000000000000000000000000..584196b3314853f40526545485ab0da3bcdd7cde --- /dev/null +++ b/pkgs/X11-xft.nix @@ -0,0 +1,21 @@ +{ mkDerivation, X11, base, lib, libXft, utf8-string }: +mkDerivation { + pname = "X11-xft"; + version = "0.3.4"; + sha256 = "6200d2deabe9638bad4d1fed4399e3147254c2776a0fae71bf38ca423242a916"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ base utf8-string X11 ]; + libraryPkgconfigDepends = [ libXft ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + description = "Bindings to the Xft and some Xrender parts"; + license = lib.licenses.bsd3; + broken = false; +} diff --git a/pkgs/X11.nix b/pkgs/X11.nix new file mode 100644 index 0000000000000000000000000000000000000000..a188124bef2130a8a299f34c53d2c0da8bd63da4 --- /dev/null +++ b/pkgs/X11.nix @@ -0,0 +1,39 @@ +{ mkDerivation +, base +, data-default-class +, lib +, libX11 +, libXScrnSaver +, libXext +, libXinerama +, libXrandr +, libXrender +}: +mkDerivation { + pname = "X11"; + version = "1.10.3"; + sha256 = "d84ad1b8f5cdb65a0de17f84d765ebbb7aeeab9608c3740804da28100616d242"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ base data-default-class ]; + librarySystemDepends = [ + libX11 + libXext + libXinerama + libXrandr + libXrender + libXScrnSaver + ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "https://github.com/xmonad/X11"; + description = "A binding to the X11 graphics library"; + license = lib.licenses.bsd3; + broken = false; +} diff --git a/pkgs/alsa-core.nix b/pkgs/alsa-core.nix new file mode 100644 index 0000000000000000000000000000000000000000..97a61666f52107b03ee0d85777fe8e23ce62b315 --- /dev/null +++ b/pkgs/alsa-core.nix @@ -0,0 +1,22 @@ +{ mkDerivation, alsa-lib, base, extensible-exceptions, lib }: +mkDerivation { + pname = "alsa-core"; + version = "0.5.0.1"; + sha256 = "eb50495ef05ecc7c06a0147da7f0d3efde832a44d23caaf5172dc114882270ab"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ base extensible-exceptions ]; + libraryPkgconfigDepends = [ alsa-lib ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "http://www.haskell.org/haskellwiki/ALSA"; + description = "Binding to the ALSA Library API (Exceptions)"; + license = lib.licenses.bsd3; + broken = false; +} diff --git a/pkgs/alsa-mixer.nix b/pkgs/alsa-mixer.nix new file mode 100644 index 0000000000000000000000000000000000000000..955d3fce5e497d973d1046cf07450e4fc1928efb --- /dev/null +++ b/pkgs/alsa-mixer.nix @@ -0,0 +1,23 @@ +{ mkDerivation, alsa-core, alsa-lib, base, c2hs, lib, unix }: +mkDerivation { + pname = "alsa-mixer"; + version = "0.3.0"; + sha256 = "cb6a197de99c6b4339a7f552e1c6b71eaefa11bb96102d5ba4519a23c615de02"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ alsa-core base unix ]; + librarySystemDepends = [ alsa-lib ]; + libraryToolDepends = [ c2hs ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "https://github.com/ttuegel/alsa-mixer"; + description = "Bindings to the ALSA simple mixer API"; + license = lib.licenses.bsd3; + broken = false; +} diff --git a/pkgs/setlocale.nix b/pkgs/setlocale.nix new file mode 100644 index 0000000000000000000000000000000000000000..2b5851a50881fbaa5ccf24415cac42a2906128a3 --- /dev/null +++ b/pkgs/setlocale.nix @@ -0,0 +1,23 @@ +{ mkDerivation, base, lib }: +mkDerivation { + pname = "setlocale"; + version = "1.0.0.10"; + sha256 = "3972ff10c22318f5451215dc886c1535fea5ab7dfefe5ce461b1603865423ba7"; + revision = "2"; + editedCabalFile = "1k4idj2xl9dg5nfz128xazrrydz9mgm3bbjrc0cyby8n3c0ij9x1"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ base ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "https://gitlab.com/Kritzefitz/haskell-setlocale/"; + description = "Haskell bindings to setlocale"; + license = lib.licenses.bsd3; + broken = false; +} diff --git a/pkgs/xmonad-contrib.nix b/pkgs/xmonad-contrib.nix new file mode 100644 index 0000000000000000000000000000000000000000..c3acbe193a912379929e24c51248524367e67e45 --- /dev/null +++ b/pkgs/xmonad-contrib.nix @@ -0,0 +1,75 @@ +{ mkDerivation +, QuickCheck +, X11 +, X11-xft +, base +, bytestring +, containers +, deepseq +, directory +, filepath +, hspec +, lib +, mtl +, process +, random +, time +, unix +, utf8-string +, xmonad +}: +mkDerivation { + pname = "xmonad-contrib"; + version = "0.17.1"; + sha256 = "ab378337f48f8f359f6ff6425b1d7cfefccf336e527c3a7606d070e567479253"; + revision = "1"; + editedCabalFile = "0dc9nbn0kaw98rgpi1rq8np601zjhdr1y0ydg6yb82wwaqawql6z"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ + base + bytestring + containers + deepseq + directory + filepath + mtl + process + random + time + unix + utf8-string + X11 + X11-xft + xmonad + ]; + testHaskellDepends = [ + base + bytestring + containers + deepseq + directory + hspec + mtl + process + QuickCheck + random + time + unix + utf8-string + X11 + xmonad + ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "https://xmonad.org/"; + description = "Community-maintained extensions for xmonad"; + license = lib.licenses.bsd3; + broken = false; +} diff --git a/pkgs/xmonad.nix b/pkgs/xmonad.nix new file mode 100644 index 0000000000000000000000000000000000000000..9edee4b02bb4a39682e0f1bc926f216fc5a53a4c --- /dev/null +++ b/pkgs/xmonad.nix @@ -0,0 +1,64 @@ +{ mkDerivation +, QuickCheck +, X11 +, base +, containers +, data-default-class +, directory +, filepath +, lib +, mtl +, process +, quickcheck-classes +, setlocale +, time +, transformers +, unix +}: +mkDerivation { + pname = "xmonad"; + version = "0.17.1"; + sha256 = "884a32837e41410bab622b26a4b5dc38bd88f1b78a6efd5c552f1456b1e7f8aa"; + revision = "2"; + editedCabalFile = "1rgwrnyb7kijzl2mqm8ks2nydh37q5vkbg4400rg9n6x13w2r9b3"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ + base + containers + data-default-class + directory + filepath + mtl + process + setlocale + time + transformers + unix + X11 + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + base + containers + QuickCheck + quickcheck-classes + X11 + ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + postInstall = '' + install -D man/xmonad.1 ''${!outputDoc}/share/man/man1/xmonad.1 + install -D man/xmonad.hs ''${!outputDoc}/share/doc/$name/sample-xmonad.hs + ''; + homepage = "http://xmonad.org"; + description = "A tiling window manager"; + license = lib.licenses.bsd3; + broken = false; +}