summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/artwork.scm4
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/astronomy.scm8
-rw-r--r--gnu/packages/audio.scm4
-rw-r--r--gnu/packages/bioconductor.scm79
-rw-r--r--gnu/packages/bioinformatics.scm8
-rw-r--r--gnu/packages/cran.scm51
-rw-r--r--gnu/packages/databases.scm25
-rw-r--r--gnu/packages/emacs-xyz.scm45
-rw-r--r--gnu/packages/gl.scm4
-rw-r--r--gnu/packages/gnome.scm10
-rw-r--r--gnu/packages/image.scm8
-rw-r--r--gnu/packages/linux.scm46
-rw-r--r--gnu/packages/mail.scm4
-rw-r--r--gnu/packages/patches/allegro-mesa-18.2.5-and-later.patch41
-rw-r--r--gnu/packages/statistics.scm36
-rw-r--r--gnu/packages/tbb.scm4
-rw-r--r--gnu/packages/terminals.scm4
-rw-r--r--gnu/packages/wine.scm6
-rw-r--r--gnu/services/base.scm10
-rw-r--r--gnu/services/nix.scm112
-rw-r--r--gnu/services/xorg.scm2
22 files changed, 381 insertions, 134 deletions
diff --git a/gnu/artwork.scm b/gnu/artwork.scm
index b95f5cbf8a..f404467dd7 100644
--- a/gnu/artwork.scm
+++ b/gnu/artwork.scm
@@ -29,7 +29,7 @@
 ;;; Code:
 
 (define %artwork-repository
-  (let ((commit "b975164c19c9c0f5d91e5731ec1683e7510c1326"))
+  (let ((commit "2f2fe74c1078be605a6a93c2193fd6c715cebbb0"))
     (origin
       (method git-fetch)
       (uri (git-reference
@@ -39,6 +39,6 @@
                                 "-checkout"))
       (sha256
        (base32
-        "1fad7az077q9ds3jhp00jfsr8rfw4ws042wmnai52k7jv4kbxwyf")))))
+        "0c8r0phvm3wgf914n2kw1461cwdjl2zbzqvzq9x7d9pwkgv7xmq7")))))
 
 ;;; artwork.scm ends here
diff --git a/gnu/local.mk b/gnu/local.mk
index 474f5163f9..49cb429ba9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -17,7 +17,7 @@
 # Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 # Copyright © 2017, 2018 Gábor Boskovits <boskovits@gmail.com>
 # Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
-# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+# Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
 # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
 # Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 #
@@ -526,6 +526,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/services/messaging.scm			\
   %D%/services/monitoring.scm			\
   %D%/services/networking.scm			\
+  %D%/services/nix.scm				\
   %D%/services/nfs.scm			\
   %D%/services/security-token.scm		\
   %D%/services/shepherd.scm			\
@@ -662,6 +663,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/aegisub-icu59-include-unistr.patch	\
   %D%/packages/patches/aegisub-boost68.patch                    \
   %D%/packages/patches/agg-am_c_prototype.patch			\
+  %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch	\
   %D%/packages/patches/amule-crypto-6.patch			\
   %D%/packages/patches/antiword-CVE-2014-8123.patch			\
   %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch	\
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index ab5dcd92a7..9ddb9e1d52 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -37,15 +37,15 @@
 (define-public cfitsio
   (package
     (name "cfitsio")
-    (version "3.450")
+    (version "3.47")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
              "http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/"
-             name (string-replace-substring version "." "") ".tar.gz"))
+             name "-" version ".tar.gz"))
        (sha256
-        (base32 "0bmrkw6w65zb0k3mszaaqy1f4zjm2hl7njww74nb5v38wvdi4q5z"))))
+        (base32 "1vzlxnrjckz78p2wf148v2z3krkwnykfqvlj42sz3q711vqid1a1"))))
     (build-system gnu-build-system)
     ;; XXX Building with curl currently breaks wcslib.  It doesn't use
     ;; pkg-config and hence won't link with -lcurl.
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index f3f592c58a..9defc59b93 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3701,7 +3701,7 @@ library.")
 (define-public faudio
   (package
     (name "faudio")
-    (version "19.06")
+    (version "19.06.07")
     (source
      (origin
        (method git-fetch)
@@ -3710,7 +3710,7 @@ library.")
              (commit version)))
        (file-name (string-append name "-" version "-checkout"))
        (sha256
-        (base32 "1azjf972hik1cizsblbvfp38xz7dx368pbpw3pd6z1xk9mnrhi6s"))))
+        (base32 "1w37qp279lgpyvslwz3wlb4fp0i68ncd411rqdlk5s71b1zz466n"))))
     (arguments
      '(#:tests? #f                      ; No tests.
        #:configure-flags '("-DFFMPEG=ON")))
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 5ffb7c4e3c..ff159638b3 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -3621,14 +3621,14 @@ investigation using RNA-seq data.")
 (define-public r-aucell
   (package
     (name "r-aucell")
-    (version "1.6.0")
+    (version "1.6.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AUCell" version))
        (sha256
         (base32
-         "025q1as9pifbxa7hidlz634q6d7l73zx8mqy4rjbfrk7d5615xvm"))))
+         "1vd8w6dygn1b5bwlha09mm6fbwyj07pmawpv53agcg1y7jlxs31b"))))
     (properties `((upstream-name . "AUCell")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4438,14 +4438,14 @@ interpretation.")
 (define-public r-rhisat2
   (package
     (name "r-rhisat2")
-    (version "1.0.1")
+    (version "1.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Rhisat2" version))
        (sha256
         (base32
-         "01jhj5vvfl4n2d0nl3nd1iw9nii85mgw2adnrmxb8wwlxgy240vr"))))
+         "1y3zqvk1vbcb10r1myh6f5yzjvf7bhwhpiq78bs1k6spli4bzj0q"))))
     (properties `((upstream-name . "Rhisat2")))
     (build-system r-build-system)
     (native-inputs
@@ -4606,3 +4606,74 @@ expression data to predict switches in regulatory activity between two
 conditions.  A Bayesian network is used to model the regulatory structure and
 Markov-Chain-Monte-Carlo is applied to sample the activity states.")
     (license license:gpl2+)))
+
+(define-public r-ropls
+  (package
+    (name "r-ropls")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "ropls" version))
+       (sha256
+        (base32
+         "099nv9dgmw3avkxv7cd27r16yj56svjlp5q4i389yp1n0r5zhyl2"))))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-biobase" ,r-biobase)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr))) ; for vignettes
+    (home-page "https://dx.doi.org/10.1021/acs.jproteome.5b00354")
+    (synopsis "Multivariate analysis and feature selection of omics data")
+    (description
+     "Latent variable modeling with @dfn{Principal Component Analysis} (PCA)
+and @dfn{Partial Least Squares} (PLS) are powerful methods for visualization,
+regression, classification, and feature selection of omics data where the
+number of variables exceeds the number of samples and with multicollinearity
+among variables.  @dfn{Orthogonal Partial Least Squares} (OPLS) enables to
+separately model the variation correlated (predictive) to the factor of
+interest and the uncorrelated (orthogonal) variation.  While performing
+similarly to PLS, OPLS facilitates interpretation.
+
+This package provides imlementations of PCA, PLS, and OPLS for multivariate
+analysis and feature selection of omics data.  In addition to scores, loadings
+and weights plots, the package provides metrics and graphics to determine the
+optimal number of components (e.g. with the R2 and Q2 coefficients), check the
+validity of the model by permutation testing, detect outliers, and perform
+feature selection (e.g. with Variable Importance in Projection or regression
+coefficients).")
+    (license license:cecill)))
+
+(define-public r-biosigner
+  (package
+    (name "r-biosigner")
+    (version "1.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "biosigner" version))
+       (sha256
+        (base32
+         "1643iya40v6whb7lw7y34w5sanbasvj4yhvcygbip667yhphyv5b"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biobase" ,r-biobase)
+       ("r-e1071" ,r-e1071)
+       ("r-randomforest" ,r-randomforest)
+       ("r-ropls" ,r-ropls)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)
+       ("r-rmarkdown" ,r-rmarkdown)
+       ("pandoc" ,ghc-pandoc)
+       ("pandoc-citeproc" ,ghc-pandoc-citeproc))) ; all for vignettes
+    (home-page "https://bioconductor.org/packages/biosigner/")
+    (synopsis "Signature discovery from omics data")
+    (description
+     "Feature selection is critical in omics data analysis to extract
+restricted and meaningful molecular signatures from complex and high-dimension
+data, and to build robust classifiers.  This package implements a method to
+assess the relevance of the variables for the prediction performances of the
+classifier.  The approach can be run in parallel with the PLS-DA, Random
+Forest, and SVM binary classifiers.  The signatures and the corresponding
+'restricted' models are returned, enabling future predictions on new
+datasets.")
+    (license license:cecill)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4b8e662a3a..bb15672d51 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -7373,13 +7373,13 @@ S4Vectors package itself.")
 (define-public r-iranges
   (package
     (name "r-iranges")
-    (version "2.18.0")
+    (version "2.18.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "IRanges" version))
               (sha256
                (base32
-                "0g06y6xlm2q7p7g7phfc8qj14pqpgbb0mkyjzkfgsrwjmzvpwy6m"))))
+                "1d64sh43pfc9vj2l7y7x6sb44l67wlnn3dzygp7ws0smn06mardq"))))
     (properties
      `((upstream-name . "IRanges")))
     (build-system r-build-system)
@@ -9370,14 +9370,14 @@ structure (pcaRes) to provide a common interface to the PCA results.")
 (define-public r-msnbase
   (package
     (name "r-msnbase")
-    (version "2.10.0")
+    (version "2.10.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MSnbase" version))
        (sha256
         (base32
-         "1lqdlyvs2c9g55zf8gnw142ps4jid644fhfvclnax7sjjwrqdjzv"))))
+         "0z63yqazkycq0zbbarq9ida6al35hv3g7g9g7s7bss4gh0hk7lhd"))))
     (properties `((upstream-name . "MSnbase")))
     (build-system r-build-system)
     (propagated-inputs
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 005016b984..356595ff33 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -2819,14 +2819,14 @@ color labels, layout, etc.")
 (define-public r-stringdist
   (package
     (name "r-stringdist")
-    (version "0.9.5.1")
+    (version "0.9.5.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "stringdist" version))
        (sha256
         (base32
-         "0gap1g9xwhp0zxqsznkc2carpvi80z03prr4q8m528684lznx2xa"))))
+         "0nw8c317qkfq63pr0prl0hx522ddfq4cbgixb5r4pq3fxk9z303l"))))
     (build-system r-build-system)
     (home-page "https://github.com/markvanderloo/stringdist")
     (synopsis "Approximate string matching and string distance functions")
@@ -3583,14 +3583,14 @@ Markdown documents.")
 (define-public r-seriation
   (package
     (name "r-seriation")
-    (version "1.2-5")
+    (version "1.2-7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "seriation" version))
        (sha256
         (base32
-         "0sk4wfwxxhz3nwbcsfshb93gra4c9p5pvpsz00d7f9nkkmhs97ws"))))
+         "0dbz5b5msy4fr2whhphyriqk1xc6305zpjq59rrwxyz3d7rzwpa6"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-cluster" ,r-cluster)
@@ -3833,14 +3833,14 @@ supports arbitrary vertex/edge/graph attributes.")
 (define-public r-statnet-common
   (package
     (name "r-statnet-common")
-    (version "4.2.0")
+    (version "4.3.0")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "statnet.common" version))
         (sha256
           (base32
-            "0q942g6kqmqxfss1cxb3yg8y5r1k1h5cyy99s1cfisrn6hqc6xhi"))))
+            "0ng90i0wm9wlyhjbnmnylc1bbqw396p1dr7f402dyry9x9ck6jl3"))))
     (properties
       `((upstream-name . "statnet.common")))
     (build-system r-build-system)
@@ -4033,14 +4033,14 @@ financial trading strategies.")
 (define-public r-tseries
   (package
     (name "r-tseries")
-    (version "0.10-46")
+    (version "0.10-47")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tseries" version))
        (sha256
         (base32
-         "08kjw0bfj5gfcrxpblwqxwna8a5g9gnr7ya61qb02r263pyhm50j"))))
+         "0yzvc9djp3angvxdxqi60wi726y76ablsb71q88ycvw0avgpf8r0"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-quadprog" ,r-quadprog)
@@ -5933,22 +5933,22 @@ information are missing.")
 (define-public r-sjlabelled
   (package
     (name "r-sjlabelled")
-    (version "1.0.17")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sjlabelled" version))
        (sha256
         (base32
-         "00c0c22ynpihgf2bvmcfnkvqwqvxax2zzb7wldsmg2f7z5a32aa6"))))
+         "0rnmlwpp41h04dzfjd5ncvzjzs43slaimb4v2in1axznv3haafyc"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-dplyr" ,r-dplyr)
-       ("r-haven" ,r-haven)
+     `(("r-haven" ,r-haven)
        ("r-insight" ,r-insight)
        ("r-magrittr" ,r-magrittr)
        ("r-purrr" ,r-purrr)
-       ("r-rlang" ,r-rlang)))
+       ("r-rlang" ,r-rlang)
+       ("r-tidyselect" ,r-tidyselect)))
     (home-page "https://github.com/strengejacke/sjlabelled")
     (synopsis "Labelled data utility functions")
     (description
@@ -6364,14 +6364,14 @@ containing one or more SNPs that evolved under directional selection.")
 (define-public r-proc
   (package
     (name "r-proc")
-    (version "1.14.0")
+    (version "1.15.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pROC" version))
        (sha256
         (base32
-         "0ki1pvj5iaki81crapvwqllg5avn5qlvv62axnsdkdcmv9xc3wg0"))))
+         "1dxxkwdhxfnj2znq4c5ggrr9m5klh5pmfxg17rz59vr2hfb73m24"))))
     (properties `((upstream-name . "pROC")))
     (build-system r-build-system)
     (propagated-inputs
@@ -7850,25 +7850,26 @@ detection, parallelism through BLAS and parallel user templates.")
 (define-public r-sjstats
   (package
     (name "r-sjstats")
-    (version "0.17.4")
+    (version "0.17.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sjstats" version))
        (sha256
         (base32
-         "012hp9m17xzjnsfvjjz2wdfgxm3irsrfx0zmahfnfmgdrwxd5vk5"))))
+         "1x9ybvz84vgaabmqp4z6crbv5q6kqjg6msk1spbr11zx9dbj06ca"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-broom" ,r-broom)
+     `(("r-bayestestr" ,r-bayestestr)
+       ("r-broom" ,r-broom)
        ("r-dplyr" ,r-dplyr)
        ("r-emmeans" ,r-emmeans)
        ("r-insight" ,r-insight)
        ("r-lme4" ,r-lme4)
        ("r-magrittr" ,r-magrittr)
        ("r-mass" ,r-mass)
-       ("r-matrix" ,r-matrix)
        ("r-modelr" ,r-modelr)
+       ("r-performance" ,r-performance)
        ("r-purrr" ,r-purrr)
        ("r-rlang" ,r-rlang)
        ("r-sjlabelled" ,r-sjlabelled)
@@ -7948,14 +7949,14 @@ ROPE percentage and pd).")
 (define-public r-performance
   (package
     (name "r-performance")
-    (version "0.1.0")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "performance" version))
        (sha256
         (base32
-         "19lfx25hkavzbycrh6hq4v24a0dz4s60ryq6jyihjlxgrb9g7cnw"))))
+         "1pzd6z7i1jxr2xi1shg3d0bxlbpmjl7kpmwgjnfys6syv57znd1z"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bayestestr" ,r-bayestestr)
@@ -9766,14 +9767,14 @@ the combination of non-negative and non-positive constraints.")
 (define-public r-iso
   (package
     (name "r-iso")
-    (version "0.0-17")
+    (version "0.0-18")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Iso" version))
        (sha256
         (base32
-         "0lljc99sdzdqj6d56qbsggibr6pkdwkh821bj70ianikyvmdc1y0"))))
+         "014mm5b1f7i6nwlz3kyg1biph0y542kcx5bd13p68cv5a928qzid"))))
     (properties `((upstream-name . "Iso")))
     (build-system r-build-system)
     (native-inputs `(("gfortran" ,gfortran)))
@@ -11025,14 +11026,14 @@ machine or distributed on a compute cluster.")
 (define-public r-rsvd
   (package
     (name "r-rsvd")
-    (version "1.0.0")
+    (version "1.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rsvd" version))
        (sha256
         (base32
-         "0vjhrvnkl9rmvl8sv2kac5sd10z3fgxymb676ynxzc2pmhydy3an"))))
+         "1faskhf5j2bj9f971qljsmh182g3rnyilj1wwijz530a6skxidzz"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-matrix" ,r-matrix)))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 47eaac8e69..55f7a46dc5 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -108,6 +109,7 @@
   #:use-module (guix download)
   #:use-module (guix bzr-download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system emacs)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (guix build-system perl)
@@ -928,8 +930,7 @@ organized in a hash table or B+ tree.")
                                       (assoc-ref %build-inputs "bash:include")
                                       "/include/bash"))))
 
-    (native-inputs `(("emacs" ,emacs-minimal)
-                     ("bc" ,bc)
+    (native-inputs `(("bc" ,bc)
                      ("bash:include" ,bash "include")
                      ("check" ,check)
                      ("libuuid" ,util-linux)
@@ -948,6 +949,26 @@ types are supported, as is encryption.")
     (license license:gpl3+)
     (home-page "https://www.gnu.org/software/recutils/")))
 
+(define-public emacs-recutils
+  (package
+    (inherit recutils)
+    (name "emacs-recutils")
+    (build-system emacs-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'change-directory
+           (lambda _
+             (chdir "etc")
+             #t)))))
+    (native-inputs '())
+    (inputs '())
+    (synopsis "Emacs mode for working with recutils database files")
+    (description "This package provides an Emacs major mode @code{rec-mode}
+for working with GNU Recutils text-based, human-editable databases.  It
+supports editing, navigation, and querying of recutils database files
+including field and record folding.")))
+
 (define-public rocksdb
   (package
     (name "rocksdb")
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7db46e81c5..2eb705dedd 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -8534,29 +8534,32 @@ key.  Optionally, a mouse pop-up can be added by binding
     (license license:gpl3+)))
 
 (define-public emacs-idris-mode
-  (package
-    (name "emacs-idris-mode")
-    (version "0.9.19")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "http://stable.melpa.org/packages/idris-mode-"
-             version ".tar"))
-       (sha256
-        (base32
-         "16hl2s22l3wc9drnwzw6hn7xrm49ml9lii0s6k218dgahdgsncmf"))))
-    (build-system emacs-build-system)
-    (propagated-inputs
-     `(("emacs-prop-menu" ,emacs-prop-menu)))
-    (home-page
-     "https://github.com/idris-hackers/idris-mode")
-    (synopsis "Major mode for editing Idris code")
-    (description
-     "This is an Emacs mode for editing Idris code.  It requires the latest
+  (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
+        (revision "0"))
+    (package
+      (name "emacs-idris-mode")
+      (version (git-version "0.9.19" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/idris-hackers/idris-mode.git")
+               (commit commit)))
+         (file-name (git-file-name name commit))
+         (sha256
+          (base32
+           "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-prop-menu" ,emacs-prop-menu)))
+      (home-page
+       "https://github.com/idris-hackers/idris-mode")
+      (synopsis "Major mode for editing Idris code")
+      (description
+       "This is an Emacs mode for editing Idris code.  It requires the latest
 version of Idris, and some features may rely on the latest Git version of
 Idris.")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
 
 (define-public emacs-browse-at-remote
   (package
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 3680a8979d..96e7fc7165 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -733,7 +733,7 @@ mixed vector/bitmap output.")
 (define-public virtualgl
   (package
     (name "virtualgl")
-    (version "2.6.1")
+    (version "2.6.2")
     (source
      (origin
        (method git-fetch)
@@ -742,7 +742,7 @@ mixed vector/bitmap output.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "04fdwm6mz76lw4iwd5m7yxjfhpa0rpxd357bv5smk5lclnlbz1bv"))))
+        (base32 "0yyc553xsb5n0rx7jp9p4wdbd7md07b3qrkf3ssyjavqqg908qg9"))))
     (arguments
      `(#:tests? #f                      ; no tests are available
        #:configure-flags (list
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c77baad1f2..875d28caee 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2115,7 +2115,7 @@ Hints specification (EWMH).")
 (define-public gnumeric
   (package
     (name "gnumeric")
-    (version "1.12.44")
+    (version "1.12.45")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/gnumeric/"
@@ -2123,7 +2123,7 @@ Hints specification (EWMH).")
                                   "gnumeric-" version ".tar.xz"))
               (sha256
                (base32
-                "0147962c6ybdsj57rz95nla0rls7g545wc2n7pz59zmzyd5pksk0"))))
+                "0c8dl1kvnj3g32qy3s92qpqpqfy0in59cx005gjvvzsflahav61h"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(;; The gnumeric developers don't worry much about failing tests.
@@ -5467,7 +5467,7 @@ to virtual private networks (VPNs) via OpenVPN.")
 (define-public mobile-broadband-provider-info
   (package
     (name "mobile-broadband-provider-info")
-    (version "20170310")
+    (version "20190116")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -5476,10 +5476,10 @@ to virtual private networks (VPNs) via OpenVPN.")
                     "mobile-broadband-provider-info-" version ".tar.xz"))
               (sha256
                (base32
-                "0fxm11x8k9hxjg8l5inaldfmmjnwkay3ibjv899jra03bv4h6kql"))))
+                "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f)) ; No tests
+     `(#:tests? #f))                    ; no tests
     (home-page "https://wiki.gnome.org/Projects/NetworkManager")
     (synopsis "Database of broadband connection configuration")
     (description "Database of broadband connection configuration.")
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index e3956394cc..f9709e2b19 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1600,7 +1600,7 @@ identical visual appearance.")
 (define-public grim
   (package
    (name "grim")
-   (version "1.1")
+   (version "1.2.0")
    (source
     (origin
      (method git-fetch)
@@ -1609,7 +1609,7 @@ identical visual appearance.")
            (commit (string-append "v" version))))
      (file-name (git-file-name name version))
      (sha256
-      (base32 "1bcvkggqszcwy6hg8g4mch3yr25ic0baafbd90af5s5mrhrjxxxz"))))
+      (base32 "0brljl4zfbn5mh9hkfrfkvd27c5y9vdkgap9r1hrfy9r1x20sskn"))))
    (build-system meson-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)))
    (inputs `(("cairo" ,cairo)
@@ -1626,7 +1626,7 @@ identical visual appearance.")
 (define-public slurp
   (package
    (name "slurp")
-   (version "1.0.1")
+   (version "1.2.0")
    (source
     (origin
      (method git-fetch)
@@ -1635,7 +1635,7 @@ identical visual appearance.")
            (commit (string-append "v" version))))
      (file-name (git-file-name name version))
      (sha256
-      (base32 "072lkwhpvr753wfqzmd994bnhbrgfavxcgqcyml7abab28sdhs1y"))))
+      (base32 "0580m6kaiilgsrcj608r837r37sl6a25y7w21p7d6ij20fs3gvg1"))))
    (build-system meson-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)))
    (inputs `(("cairo" ,cairo)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 5401b1ad97..b6887349fa 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -430,8 +430,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
 It has been modified to remove all non-free binary blobs.")
     (license license:gpl2)))
 
-(define %linux-libre-version "5.1.7")
-(define %linux-libre-hash "0hr4sbapdpgdkb6xg1f7bpc31242yiqdvy5sfpymsrzfslr8vwy1")
+(define %linux-libre-version "5.1.8")
+(define %linux-libre-hash "1vkirlz9vsvym8fdbvj308n3hj8f9j8n9m267x0dhlgbmig570j2")
 
 (define %linux-libre-5.1-patches
   (list %boot-logo-patch
@@ -448,8 +448,8 @@ It has been modified to remove all non-free binary blobs.")
   (make-linux-libre-headers %linux-libre-version
                             %linux-libre-hash))
 
-(define %linux-libre-4.19-version "4.19.48")
-(define %linux-libre-4.19-hash "04jwwzc9wbhx33i4bhm3vbs52vxlb8kjdmfjpfild94xbk8m2wy4")
+(define %linux-libre-4.19-version "4.19.49")
+(define %linux-libre-4.19-hash "0dxmm8190h0g5indj3sqfipkji10y3icr8xnf7bbz7086nkkrcvz")
 
 (define %linux-libre-4.19-patches
   (list %boot-logo-patch
@@ -466,22 +466,8 @@ It has been modified to remove all non-free binary blobs.")
   (make-linux-libre-headers %linux-libre-4.19-version
                             %linux-libre-4.19-hash))
 
-(define %linux-libre-4.15-version "4.15.18")
-(define %linux-libre-4.15-hash "0f0s4drx888ydlwjcm9qcxqian4850yiv2vamyw9bbjf83frwxyw")
-
-(define-public linux-libre-4.15
-  (make-linux-libre %linux-libre-4.15-version
-                    %linux-libre-4.15-hash
-                    '("x86_64-linux" "i686-linux" "armhf-linux")
-                    #:configuration-file kernel-config))
-
-(define-public linux-libre-headers-4.15
-  (make-linux-libre-headers %linux-libre-4.15-version
-                            %linux-libre-4.15-hash))
-
-
-(define %linux-libre-4.14-version "4.14.123")
-(define %linux-libre-4.14-hash "185kf576rwhsaq7jqrnmg8r5fh2nh4k8lifxaxwi3amshnwbj2qg")
+(define %linux-libre-4.14-version "4.14.124")
+(define %linux-libre-4.14-hash "0z9iaz1rcm9472rjvcihmq65ygyks07j6kbiqm989r9rb4dw6ghg")
 
 (define-public linux-libre-4.14
   (make-linux-libre %linux-libre-4.14-version
@@ -4405,15 +4391,16 @@ developers.")
 (define-public radeontop
   (package
     (name "radeontop")
-    (version "1.1")
-    (home-page "https://github.com/clbr/radeontop/")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append home-page "archive/v" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1fv06j5c99imvzkac3j40lgjhr5b2i77fnyffhlvj92bli1fm1c6"))))
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/clbr/radeontop.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1b1m30r2nfwqkajqw6m01xmfhlq83z1qylyijxg7962mp9x2k0gw"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
@@ -4437,6 +4424,7 @@ developers.")
        ("libpciaccess" ,libpciaccess)
        ("libxcb" ,libxcb)
        ("ncurses" ,ncurses)))
+    (home-page "https://github.com/clbr/radeontop/")
     (synopsis "Usage monitor for AMD Radeon graphics")
     (description "RadeonTop monitors resource consumption on supported AMD
 Radeon Graphics Processing Units (GPUs), either in real time as bar graphs on
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 35a2c3048d..7f9dc8e13f 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -581,7 +581,7 @@ and corrections.  It is based on a Bayesian filter.")
 (define-public offlineimap
   (package
     (name "offlineimap")
-    (version "7.2.3")
+    (version "7.2.4")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -590,7 +590,7 @@ and corrections.  It is based on a Bayesian filter.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "18sdnhjldn8zs03bgqy1qa3ikmlfvyxcvwp3nbnv1a74biccqbpa"))))
+                "0h5q5nk2p2vx86w6rrbs7v70h81dpqqr68x6l3klzl3m0yj9agb1"))))
     (build-system python-build-system)
     (native-inputs
      `(("asciidoc" ,asciidoc)))
diff --git a/gnu/packages/patches/allegro-mesa-18.2.5-and-later.patch b/gnu/packages/patches/allegro-mesa-18.2.5-and-later.patch
new file mode 100644
index 0000000000..fa273a5dfa
--- /dev/null
+++ b/gnu/packages/patches/allegro-mesa-18.2.5-and-later.patch
@@ -0,0 +1,41 @@
+Fixes compilation with Mesa >= 18.2.5.
+
+Taken from upstream:
+
+https://github.com/liballeg/allegro5/commit/a40d30e21802ecf5c9382cf34af9b01bd3781e47
+
+diff --git a/include/allegro5/allegro_opengl.h b/include/allegro5/allegro_opengl.h
+index 0f86a6768..652dd024e 100644
+--- a/include/allegro5/allegro_opengl.h
++++ b/include/allegro5/allegro_opengl.h
+@@ -103,10 +103,14 @@
+
+ /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
+ #define __glext_h_
++#define __gl_glext_h_
+ #define __glxext_h_
++#define __glx_glxext_h_
+ #include <GL/gl.h>
+ #undef  __glext_h_
++#undef  __gl_glext_h_
+ #undef  __glxext_h_
++#undef  __glx_glxext_h_
+
+ #endif /* ALLEGRO_MACOSX */
+
+diff --git a/include/allegro5/opengl/GLext/glx_ext_defs.h b/include/allegro5/opengl/GLext/glx_ext_defs.h
+index 49c502091..fba8aea5d 100644
+--- a/include/allegro5/opengl/GLext/glx_ext_defs.h
++++ b/include/allegro5/opengl/GLext/glx_ext_defs.h
+@@ -1,7 +1,9 @@
+ /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
+ #define __glxext_h_
++#define __glx_glxext_h_
+ #include <GL/glx.h>
+ #undef __glxext_h_
++#undef __glx_glxext_h_
+
+ #ifndef GLX_VERSION_1_3
+ #define _ALLEGRO_GLX_VERSION_1_3
+--
+2.20.0
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index e845fc0bb0..156a329627 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1404,13 +1404,13 @@ data derived from /etc/mime.types in UNIX-type systems.")
 (define-public r-markdown
   (package
     (name "r-markdown")
-    (version "0.9")
+    (version "1.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "markdown" version))
               (sha256
                (base32
-                "08xzs4bcf12jxp0276m6xqvq8kcgg5qp6fxrvsz6r9x73jjccs1h"))))
+                "19nrz0ba1yd5kicd65crkkz2r3kialm2hm6zdkp495l2s5r80b8p"))))
     (build-system r-build-system)
     ;; Skip check phase because the tests require the r-knitr package to be
     ;; installed. This prevents installation failures. Knitr normally
@@ -1670,14 +1670,14 @@ like tidy evaluation.")
 (define-public r-tibble
   (package
     (name "r-tibble")
-    (version "2.1.2")
+    (version "2.1.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tibble" version))
        (sha256
         (base32
-         "1sb5j6k8hp7yf7grjjhn45hhc163fcndiw9zw976zc74f1856kpj"))))
+         "06jfayiip8j8ibdhw3fvxn4n8aqbqhwanrszpzlsf92xdfgfm34s"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-cli" ,r-cli)
@@ -1731,14 +1731,14 @@ database.")
 (define-public r-dbplyr
   (package
     (name "r-dbplyr")
-    (version "1.4.0")
+    (version "1.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "dbplyr" version))
        (sha256
         (base32
-         "0f4gfkzl07gfwihyc747kdnzxahaw2g28wli4jmikrvczldvjqjx"))))
+         "15fs66qq2p20gi3y2jlcsw27ach8rwkkkgr1mz2qbiyddbsjks6g"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-assertthat" ,r-assertthat)
@@ -2882,13 +2882,13 @@ ldap, and also supports cookies, redirects, authentication, etc.")
 (define-public r-xml
   (package
     (name "r-xml")
-    (version "3.98-1.19")
+    (version "3.98-1.20")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "XML" version))
               (sha256
                (base32
-                "1axyfa56q45x7z4zd56aasdn9hz9niv2vv5qm1zp9i94vyic9cc1"))))
+                "0n28m8iz1wfgixr7fjswl238c5w9kggsrw0c8hdzp859dqvqdbs6"))))
     (properties
      `((upstream-name . "XML")))
     (build-system r-build-system)
@@ -3365,14 +3365,14 @@ Stochastic Neighbor Embedding using a Barnes-Hut implementation.")
 (define-public r-e1071
   (package
     (name "r-e1071")
-    (version "1.7-1")
+    (version "1.7-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "e1071" version))
        (sha256
         (base32
-         "1zlxz3da216q6v6r4ff60il121xwz7g7m639vzdwglhw3jjh8psw"))))
+         "0lipj692rjjw8rrhqh2k9i5dh8y2sjrw9q53rwm32irhx2f2j73j"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-class" ,r-class)))
@@ -4772,14 +4772,14 @@ and resampling-based inference.")
 (define-public r-prabclus
   (package
     (name "r-prabclus")
-    (version "2.2-7.1")
+    (version "2.3-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "prabclus" version))
        (sha256
         (base32
-         "0x998nidd7abq5nqynyr8q79z056qbli23mvad6f09fjn2xz6nrc"))))
+         "1h5k13w8mmmdy74l145zh64f339wy78z1nlg8xr3zg23gmv98cpg"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-mass" ,r-mass)
@@ -4968,14 +4968,14 @@ of the points.")
 (define-public r-fpc
   (package
     (name "r-fpc")
-    (version "2.2-1")
+    (version "2.2-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "fpc" version))
        (sha256
         (base32
-         "183awn9fbigsy3rwmg5l39zpfg2zpbb94hkx7k99v2dir8dpdy85"))))
+         "1lzqxi2jzc753j4356b949isx2nccd32mw2ch665q78nxccp145n"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-class" ,r-class)
@@ -5139,14 +5139,14 @@ using modular prediction and response module classes.")
 (define-public r-quantreg
   (package
     (name "r-quantreg")
-    (version "5.38")
+    (version "5.40")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "quantreg" version))
        (sha256
         (base32
-         "1vvvnk291f0dccg04l3nsnk585gq75sk0b2vdbrqv3lczvv18nw1"))))
+         "1srni6lkgvy44ljxndz2j9ca702z2wy81f6z6mbbi6h06ni11qw6"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
@@ -5377,14 +5377,14 @@ are computed via non-Monte Carlo methods.")
 (define-public r-numderiv
   (package
     (name "r-numderiv")
-    (version "2016.8-1")
+    (version "2016.8-1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "numDeriv" version))
        (sha256
         (base32
-         "07ni52rwiap4wilfz94w5mrqaxr59axxmgn57857ip4p6qkiss0v"))))
+         "0idk02pqkziik932bd8k72d1q775g1is3m4bc861pcxfz6gx3i6q"))))
     (properties `((upstream-name . "numDeriv")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/numDeriv")
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index b8f324274a..5e427ffe63 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -28,7 +28,7 @@
 (define-public tbb
   (package
     (name "tbb")
-    (version "2019_U6")
+    (version "2019_U8")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -37,7 +37,7 @@
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1zbf06l659vq6s5wp3ln96ycwcd42caffan5vilqvqyxqvjljyic"))
+                "0z0kh1a5g28gckcxlv3x7qqskh5fsl8knf2ypbbvk7z9ln9k3wfq"))
               (modules '((guix build utils)))
               (snippet
                '(begin
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 0ef9b0079d..f742e86a6b 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -924,7 +924,7 @@ tmux.")
 (define-public kitty
   (package
     (name "kitty")
-    (version "0.14.1")
+    (version "0.14.2")
     (home-page "https://sw.kovidgoyal.net/kitty/")
     (source
      (origin
@@ -935,7 +935,7 @@ tmux.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0nm8l8ki0csdapf5mj3vg605ki5hjsx7h7i3m01x1a4vjzjmk8bv"))
+         "15iv3k7iryf10n8n67d37x24pzcarq97a3dr42lbld00k1lx19az"))
        (modules '((guix build utils)))
        (snippet
         '(begin
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index eb8ac81930..63916d1cc3 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -310,7 +310,7 @@ integrate Windows applications into your desktop.")
 (define-public wine-staging-patchset-data
   (package
     (name "wine-staging-patchset-data")
-    (version "4.9")
+    (version "4.10")
     (source
      (origin
        (method git-fetch)
@@ -320,7 +320,7 @@ integrate Windows applications into your desktop.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "17v66rsxvm3grglidxxzllw4msfrgwg35hmzanvrf8x8jfzjlvv2"))))
+         "0kl5718c4xk8d1va1jb5jaa2n0vw3l0hi6bpc7siaww1fp64hy98"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("bash" ,bash)
@@ -366,7 +366,7 @@ integrate Windows applications into your desktop.")
               (file-name (string-append name "-" version ".tar.xz"))
               (sha256
                (base32
-                "16vrzhhk0x862mfhninx5515s76j2kbjgmz7gzdigjzkzwi8x14i"))))
+                "041d3km85iqbshspy9av1fxjwq18xldrb18j04xl2fmpv1hq3pas"))))
     (inputs `(("autoconf" ,autoconf) ; for autoreconf
               ("faudio" ,faudio)
               ("ffmpeg" ,ffmpeg)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index c88a6ddec6..3c1827fb70 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -28,6 +28,7 @@
   #:use-module (guix store)
   #:use-module (guix deprecation)
   #:use-module (gnu services)
+  #:use-module (gnu services admin)
   #:use-module (gnu services shepherd)
   #:use-module (gnu system pam)
   #:use-module (gnu system shadow)                ; 'user-account', etc.
@@ -1824,7 +1825,8 @@ raise a deprecation warning if the 'compression-level' field was used."
                      #:environment-variables
                      (list (string-append "GUIX_LOCPATH="
                                           #$glibc-utf8-locales "/lib/locale")
-                           "LC_ALL=en_US.utf8")))
+                           "LC_ALL=en_US.utf8")
+                     #:log-file "/var/log/guix-publish.log"))
            (stop #~(make-kill-destructor))))))
 
 (define %guix-publish-accounts
@@ -1837,6 +1839,10 @@ raise a deprecation warning if the 'compression-level' field was used."
          (home-directory "/var/empty")
          (shell (file-append shadow "/sbin/nologin")))))
 
+(define %guix-publish-log-rotations
+  (list (log-rotation
+         (files (list "/var/log/guix-publish.log")))))
+
 (define (guix-publish-activation config)
   (let ((cache (guix-publish-configuration-cache config)))
     (if cache
@@ -1858,6 +1864,8 @@ raise a deprecation warning if the 'compression-level' field was used."
                                           guix-publish-shepherd-service)
                        (service-extension account-service-type
                                           (const %guix-publish-accounts))
+                       (service-extension rottlog-service-type
+                                          (const %guix-publish-log-rotations))
                        (service-extension activation-service-type
                                           guix-publish-activation)))
                 (default-value (guix-publish-configuration))
diff --git a/gnu/services/nix.scm b/gnu/services/nix.scm
new file mode 100644
index 0000000000..72ecb7d089
--- /dev/null
+++ b/gnu/services/nix.scm
@@ -0,0 +1,112 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services nix)
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages package-management)
+  #:use-module (gnu services base)
+  #:use-module (gnu services configuration)
+  #:use-module (gnu services shepherd)
+  #:use-module (gnu services web)
+  #:use-module (gnu services)
+  #:use-module (gnu system shadow)
+  #:use-module (guix gexp)
+  #:use-module (guix packages)
+  #:use-module (guix records)
+  #:use-module (guix store)
+  #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-26)
+  #:export (nix-service-type))
+
+;;; Commentary:
+;;;
+;;; This module provides a service definition for the Nix daemon.
+;;;
+;;; Code:
+
+
+;;;
+;;; Accounts
+;;;
+
+;; Copied from gnu/services/base.scm
+(define* (nix-build-accounts count #:key
+                             (group "nixbld")
+                             (shadow shadow))
+  "Return a list of COUNT user accounts for Nix build users with the given
+GID."
+  (unfold (cut > <> count)
+          (lambda (n)
+            (user-account
+             (name (format #f "nixbld~2,'0d" n))
+             (system? #t)
+             (group group)
+             (supplementary-groups (list group "kvm"))
+             (comment (format #f "Nix Build User ~2d" n))
+             (home-directory "/var/empty")
+             (shell (file-append shadow "/sbin/nologin"))))
+          1+
+          1))
+(define (nix-accounts _)
+  "Return the user accounts and user groups."
+  (cons (user-group
+         (name "nixbld")
+         (system? #t)
+
+         ;; Use a fixed GID so that we can create the store with the right
+         ;; owner.
+         (id 40000))
+        (nix-build-accounts 10 #:group "nixbld")))
+
+(define (nix-activation _)
+  "Return the activation gexp."
+  (with-imported-modules '((guix build utils))
+    #~(begin
+        (use-modules (guix build utils))
+        (for-each (cut mkdir-p <>) '("/nix/store" "/nix/var/log"
+                                     "/nix/var/nix/gcroots/per-user"
+                                     "/nix/var/nix/profiles/per-user"))
+        (chown "/nix/store"
+               (passwd:uid (getpw "root")) (group:gid (getpw "nixbld01")))
+        (chmod "/nix/store" #o775)
+        (for-each (cut chmod <> #o777) '("/nix/var/nix/profiles"
+                                         "/nix/var/nix/profiles/per-user")))))
+
+(define (nix-shepherd-service _)
+  "Return a <shepherd-service> for Nix."
+  (list
+   (shepherd-service
+    (provision '(nix-daemon))
+    (documentation "Run nix-daemon.")
+    (requirement '())
+    (start #~(make-forkexec-constructor
+              (list (string-append #$nix "/bin/nix-daemon"))))
+    (respawn? #f)
+    (stop #~(make-kill-destructor)))))
+
+(define nix-service-type
+  (service-type
+   (name 'nix)
+   (extensions
+    (list (service-extension shepherd-root-service-type nix-shepherd-service)
+          (service-extension account-service-type nix-accounts)
+          (service-extension activation-service-type nix-activation)))
+   (default-value '())
+   (description "Run the Nix daemon.")))
+
+;;; nix.scm ends here
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 0a38b4013c..06d72b5f60 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -465,7 +465,7 @@ desktop session from the system or user profile will be used."
 (define %default-slim-theme-name
   ;; This must be the name of the sub-directory in %DEFAULT-SLIM-THEME that
   ;; contains the actual theme files.
-  "0.x")
+  "1.x")
 
 (define-record-type* <slim-configuration>
   slim-configuration make-slim-configuration