From c581d1bedd62536986018fbf1d9025ba53836d96 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 6 Jun 2019 11:42:49 +0200 Subject: [PATCH] Delete .guix-packages (custom Emacs, custom TeX), move system to ~/.config/guix --- .../guix}/system/default.scm | 51 ++++--- .../guix}/system/desktop-bababa.scm | 0 .../guix}/system/laptop-mimimi.scm | 0 .../guix/system}/linux-laptop.conf | 0 .../guix}/system/usb-install-media.scm | 0 .guix-packages/ambrevar/emacs.scm | 73 ---------- .guix-packages/ambrevar/tex.scm | 128 ------------------ 7 files changed, 34 insertions(+), 218 deletions(-) rename {.guix-packages/ambrevar => .config/guix}/system/default.scm (82%) rename {.guix-packages/ambrevar => .config/guix}/system/desktop-bababa.scm (100%) rename {.guix-packages/ambrevar => .config/guix}/system/laptop-mimimi.scm (100%) rename {.guix-packages/ambrevar => .config/guix/system}/linux-laptop.conf (100%) rename {.guix-packages/ambrevar => .config/guix}/system/usb-install-media.scm (100%) delete mode 100644 .guix-packages/ambrevar/emacs.scm delete mode 100644 .guix-packages/ambrevar/tex.scm diff --git a/.guix-packages/ambrevar/system/default.scm b/.config/guix/system/default.scm similarity index 82% rename from .guix-packages/ambrevar/system/default.scm rename to .config/guix/system/default.scm index 803cd470..5013cf6d 100644 --- a/.guix-packages/ambrevar/system/default.scm +++ b/.config/guix/system/default.scm @@ -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. diff --git a/.guix-packages/ambrevar/system/desktop-bababa.scm b/.config/guix/system/desktop-bababa.scm similarity index 100% rename from .guix-packages/ambrevar/system/desktop-bababa.scm rename to .config/guix/system/desktop-bababa.scm diff --git a/.guix-packages/ambrevar/system/laptop-mimimi.scm b/.config/guix/system/laptop-mimimi.scm similarity index 100% rename from .guix-packages/ambrevar/system/laptop-mimimi.scm rename to .config/guix/system/laptop-mimimi.scm diff --git a/.guix-packages/ambrevar/linux-laptop.conf b/.config/guix/system/linux-laptop.conf similarity index 100% rename from .guix-packages/ambrevar/linux-laptop.conf rename to .config/guix/system/linux-laptop.conf diff --git a/.guix-packages/ambrevar/system/usb-install-media.scm b/.config/guix/system/usb-install-media.scm similarity index 100% rename from .guix-packages/ambrevar/system/usb-install-media.scm rename to .config/guix/system/usb-install-media.scm diff --git a/.guix-packages/ambrevar/emacs.scm b/.guix-packages/ambrevar/emacs.scm deleted file mode 100644 index 754b0868..00000000 --- a/.guix-packages/ambrevar/emacs.scm +++ /dev/null @@ -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))) diff --git a/.guix-packages/ambrevar/tex.scm b/.guix-packages/ambrevar/tex.scm deleted file mode 100644 index e21625ca..00000000 --- a/.guix-packages/ambrevar/tex.scm +++ /dev/null @@ -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 Vogel’s 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+)))