Delete .guix-packages (custom Emacs, custom TeX), move system to ~/.config/guix

master
Pierre Neidhardt 2019-06-06 11:42:49 +02:00
parent e1bb67d25f
commit c581d1bedd
7 changed files with 34 additions and 218 deletions

View File

@ -1,13 +1,16 @@
(define-module (ambrevar system default)
#:use-module (gnu)
#:use-module (gnu system nss)
#:use-module (gnu system mapped-devices)
#:use-module (nonfree packages linux)
#:use-module (gnu packages linux) ; For ntfs-3g
#:use-module (gnu packages mtools) ; For exfat
#:use-module (gnu packages emacs-xyz) ; For EXWM
#:use-module (gnu packages lisp) ; For stumpwm
#:use-module (gnu packages wm) ; For awesomewm
#:use-module (gnu services xorg)
#:use-module (gnu services networking) ; For tor
#:use-module (gnu services docker)
#:use-module (gnu packages xorg))
(use-service-modules desktop)
@ -25,6 +28,14 @@
"ACTION==\"add\", SUBSYSTEM==\"backlight\", "
"RUN+=\"/run/current-system/profile/bin/chmod g+w /sys/class/backlight/%k/brightness\"")))
(define %cdemu-vhba-udev-rule
;; For the "uaccess" tag to be applied properly, the rule must be executed
;; before the uaccess rule
;; (/run/current-system/profile/lib/udev/rules.d/70-uaccess.rules).
(udev-rule
"69-cdemu-vhba.rules"
(string-append "KERNEL==\"vhba_ctl\", SUBSYSTEM==\"misc\", TAG+=\"uaccess\"")))
;; Mount Nitrokey
;; TODO: Check if plugdev works instead of users. If not, report to Nitrokey.
;; https://www.nitrokey.com/sites/default/files/41-nitrokey.rules
@ -68,25 +79,28 @@ EndSection")
(define %mimimi/services
(modify-services
%desktop-services
;; (guix-service-type config =>
;; (guix-configuration
;; (inherit config)
;; ;; Don't clean build deps.
;; ;; See (info "(guix) Invoking guix-daemon").
;; ;; WARNING: This tends to yield an ever-growing store.
;; (extra-options '("--gc-keep-outputs"))
;; ;; Specify substitutes manually. Defaults
;; ;; should be good enough in most cases.
;; (substitute-urls
;; (list
;; "https://berlin.guixsd.org"
;; "https://mirror.hydra.gnu.org"
;; "https://hydra.gnu.org"))))
(guix-service-type config =>
(guix-configuration
(inherit config)
;; Don't clean build deps.
;; See (info "(guix) Invoking guix-daemon").
;; WARNING: This tends to yield an ever-growing store.
;; (extra-options '("--gc-keep-outputs"))
;; Specify substitutes manually. Defaults
;; should be good enough in most cases.
(substitute-urls
(list
"https://qualif.ci.guix.gnu.org"
;; "https://berlin.guixsd.org"
;; "https://mirror.hydra.gnu.org"
;; "https://hydra.gnu.org"
))))
(udev-service-type config =>
(udev-configuration
(inherit config)
(rules (append (udev-configuration-rules config)
(list ;; %nitrokey-udev-rule
%cdemu-vhba-udev-rule
%backlight-udev-rule)))))
(slim-service-type config =>
(slim-configuration
@ -120,15 +134,16 @@ StrictNodes 1")
;; (kernel-arguments '("modprobe.blacklist=pcspkr"))
;; (kernel-arguments '("modprobe.blacklist=nouveau"))
;; (kernel-arguments '("pcie_port_pm=off"))
(firmware (append (list linux-firmware-iwlwifi)
(firmware (append (list linux-firmware-iwlwifi
vhba-module)
%base-firmware))
;; TODO: Remove all virtio modules.
(initrd-modules (delete "virtio-rng" %base-initrd-modules))
;; Assume the target root file system is labelled "guixsd",
;; Assume the target root file system is labelled "guix",
;; and the EFI System Partition is specified by its UUID.
(file-systems (cons* (file-system
(device (file-system-label "guixsd"))
(device (file-system-label "guix"))
(mount-point "/")
(type "ext4"))
;; (file-system
@ -168,6 +183,7 @@ StrictNodes 1")
exfat-utils
fuse-exfat
stumpwm
awesome
emacs-exwm
%base-packages))
@ -195,6 +211,7 @@ StrictNodes 1")
(service tor-service-type
(tor-configuration
(config-file (plain-file "tor.conf" %mimimi/tor-config))))
(service docker-service-type)
%mimimi/services))
;; Allow resolution of '.local' host names with mDNS.

View File

@ -1,73 +0,0 @@
(define-module (ambrevar emacs)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix build-system emacs)
#:use-module (gnu packages xorg)
#:use-module (gnu packages emacs)
#:use-module (guix download)
#:use-module (guix git-download))
(define-public ambrevar-emacs
(package
(inherit emacs)
(name "ambrevar-emacs")
(inputs
`(("libxaw" ,libxaw)
,@(package-inputs emacs)))
(arguments
`(#:configure-flags
(list ;; "--with-x-toolkit=athena"
;; "--with-xaw3d" ; Optional for Athena.
;; "--with-x-toolkit=lucid"
"--with-x-toolkit=no"
;; "--with-xwidgets" ; Requires GTK3.
)
,@(package-arguments emacs)))
(synopsis "Emacs with Athena GUI")))
(define-public clhs
(package
(name "clhs")
(version "0.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://beta.quicklisp.org/archive/clhs/2015-04-07/clhs-"
version
".tgz"))
(sha256
(base32
"1cn5bfrcawrbc8s1wb07lpr6xv8758l1n5pgkyhamagmi1r0x128"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'replace-loader
(lambda* (#:key inputs outputs #:allow-other-keys)
(delete-file "clhs-use-local.el")
(with-output-to-file "clhs.el"
(lambda ()
(display
(string-append
"(defun clhs-setup ()
(setq common-lisp-hyperspec-root
\"file://"
(string-append (assoc-ref outputs "out")
"/HyperSpec-7-0/HyperSpec/")
"\"))\n"
"(provide 'clhs)"))))))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(copy-recursively "HyperSpec-7-0"
(string-append (assoc-ref outputs "out")
;; "/share/emacs/site-lisp/guix.d/clhs-"
;; ,version
"/HyperSpec-7-0")))))))
(home-page "http://quickdocs.org/clhs/")
(synopsis "Offline Common Lisp HyperSpec")
(description
"Offline Common Lisp HyperSpec.
Setup with:
(require 'clhs)
(clhs-setup)")
(license license:unlicense)))

View File

@ -1,128 +0,0 @@
(define-module (ambrevar tex)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages tex)
#:use-module (guix build-system texlive)
#:use-module (guix build-system trivial)
#:use-module (guix svn-download)
#:use-module (ice-9 ftw)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:hide (zip)))
;; TODO: Marvosym fonts build but they can't be used properly.
;; http://www.tug.org/svn/texlive/tags/texlive-2017.1/Master/texmf-dist/source/fonts/marvosym/
;; https://github.com/mojca/marvosym
;; Check out texlive-fonts-ec, we need to patch some PATHS.
(define-public texlive-fonts-marvosym
(package
(name "texlive-fonts-marvosym")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/tex/latex/marvosym"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0qhrccc340ipmq93jh8dmpai81dk46wi34impd6lrzx72fi17s7g"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils)
(ice-9 match))
#:builder
(begin
(use-modules (guix build utils)
(ice-9 match))
(let ((root (string-append (assoc-ref %outputs "out")
"/share/texmf-dist/"))
(pkgs '(("source" . "tex/latex/marvosym")
("marvosym-truetype" . "fonts/truetype/public/marvosym")
("marvosym-afm" . "fonts/afm/public/marvosym")
("marvosym-tfm" . "fonts/tfm/public/marvosym")
("marvosym-type1" . "fonts/type1/public/marvosym")
;; ("marvosym-enc" . "fonts/enc/dvips/marvosym")
("marvosym-map" . "fonts/map/dvips/marvosym"))))
(for-each (match-lambda
((pkg . dir)
(let ((target (string-append root dir)))
(mkdir-p target)
(copy-recursively (assoc-ref %build-inputs pkg)
target))))
pkgs)
#t))))
(native-inputs
`(("marvosym-tfm"
,(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/fonts/tfm/public/marvosym"))
(revision %texlive-revision)))
(file-name (string-append name "-tfm-" version "-checkout"))
(sha256
(base32
"1912j5p59baij47cr793jsjsp465077g990iif6vm6bgg7ha8b2v"))))
("marvosym-afm"
,(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/fonts/afm/public/marvosym"))
(revision %texlive-revision)))
(file-name (string-append name "-afm-" version "-checkout"))
(sha256
(base32
"09jb393ivgnk4brx8jgll5dpfx2hqb2h94i94lqv30snbnhw93k8"))))
("marvosym-type1"
,(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/fonts/type1/public/marvosym"))
(revision %texlive-revision)))
(file-name (string-append name "-type1-" version "-checkout"))
(sha256
(base32
"19kri8lf2z6j3b74iczppj01j28m3v2qbwq9507nxswfjxxlmb22"))))
("marvosym-truetype"
,(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/fonts/truetype/public/marvosym"))
(revision %texlive-revision)))
(file-name (string-append name "-truetype-" version "-checkout"))
(sha256
(base32
"1x4yrpwwjfvhfvcby9w4dv0kdsgz0ic0c0i5zg1h692grvc0rzar"))))
("marvosym-map"
,(origin
(method svn-fetch)
(uri (svn-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist/"
"/fonts/map/dvips/marvosym"))
(revision %texlive-revision)))
(file-name (string-append name "-map-" version "-checkout"))
(sha256
(base32
"1ybwqpwmr79ma9sf0c7apyadhldzsxbwbqgnracaiy810mjzychf"))))))
(home-page "https://www.ctan.org/pkg/threeparttable")
(synopsis "Martin Vogel's Symbols (marvosym) font")
(description
"Martin Vogels Symbol font (marvosym) contains the Euro currency symbol as
;; defined by the European commission, along with symbols for structural
;; engineering; symbols for steel cross-sections; astronomy signs (sun, moon,
;; planets); the 12 signs of the zodiac; scissor symbols; CE sign and others.
;; The package contains both the original TrueType font and the derived Type 1
;; font, together with support files for TeX (LaTeX).")
;; TODO: Fix license.
(license license:gpl3+)))