Is it possible add 'Guix package manager without "make install"' to guix doc?
Christopher Allan Webber's blog: Guix package manager without "make install" http://dustycloud.org/blog/guix-package-manager-without-make-install/ seem very useful, is it possible add to guix doc? Thanks! --
Add ssd and sawfish-page
For Sawfish user, the below two packages are very useful, suggest add to guix. 1. https://github.com/SawfishWM/ssd 2. https://github.com/SawfishWM/sawfish-pager Thanks --
emacs toolbar with no icon.
After install emacs with "guix package -i emacs", emacs toolbar show no icon, after I install "gnome-icon-theme" and "gnome-themes-standard", the icons showed. Does it dependencies miss? --
How can I add a package outside the guix source dir?
I want to add a package which will used by myself, for example: I don't want to put it to guix source dir, How can I solve the problem? #+BEGIN_COMMENT (define-public emacs-snapshot (package (inherit emacs) (name "emacs-snapshot") (version "20150522.9e41e0b") (source (origin (method git-fetch) (uri (git-reference (url "/home/feng/project/emacs") (commit "9e41e0bc6a6fdb7a01841db62d8de42d67be534a"))) (sha256 (base32 "1p50nrmwnx1d6an7daz8fxkj6ylxml7g23b996ba837nlfz3l8ay" (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ,@(package-native-inputs emacs))) (arguments (substitute-keyword-arguments `(;; Build fails if we allow parallel build. #:parallel-build? #f ;; Tests aren't passing for now. #:tests? #f ,@(package-arguments emacs)) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'autogen (lambda _ (zero? (system* "sh" "autogen.sh")) #+END_COMMENT --
Should these files ignored?
#+BEGIN_COMMENT doc/guix.info-1 doc/guix.info-2 po/guix/cs.po po/guix/da.po po/guix/de.po po/guix/eo.po po/guix/fr.po po/guix/hu.po po/guix/pt_BR.po po/guix/sr.po po/guix/vi.po po/packages/de.po po/packages/eo.po po/packages/fr.po po/packages/hu.po po/packages/pt_BR.po po/packages/sr.po po/packages/vi.po #+END_COMMENT --
About "collision encountered"
I build a emacs-snapshot package, it seem conflict with emacs package, how to deal with the situation? ``` warning: collision encountered: /gnu/store/apmjmf4zsrhzvxvjwlwwq57a299vp6j7-emacs-snapshot-20150522.9e41e0b/bin/ebrowse /gnu/store/7h641zcjppzqxszz9a9ahp64wlv8rhsn-emacs-24.5/bin/ebrowse warning: arbitrarily choosing /gnu/store/apmjmf4zsrhzvxvjwlwwq57a299vp6j7-emacs-snapshot-20150522.9e41e0b/bin/ebrowse warning: collision encountered: /gnu/store/apmjmf4zsrhzvxvjwlwwq57a299vp6j7-emacs-snapshot-20150522.9e41e0b/bin/.emacsclient-wrap-01 /gnu/store/7h641zcjppzqxszz9a9ahp64wlv8rhsn-emacs-24.5/bin/.emacsclient-wrap-01 warning: arbitrarily choosing /gnu/store/apmjmf4zsrhzvxvjwlwwq57a299vp6j7-emacs-snapshot-20150522.9e41e0b/bin/.emacsclient-wrap-01 warning: collision encountered: /gnu/store/apmjmf4zsrhzvxvjwlwwq57a299vp6j7-emacs-snapshot-20150522.9e41e0b/bin/emacsclient /gnu/store/7h641zcjppzqxszz9a9ahp64wlv8rhsn-emacs-24.5/bin/emacsclient warning: arbitrarily choosing /gnu/store/apmjmf4zsrhzvxvjwlwwq57a299vp6j7-emacs-snapshot-20150522.9e41e0b/bin/emacsclient ``` --
Re: How can I add a package outside the guix source dir?
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes: > Feng Shu writes: > >> I want to add a package which will used by myself, for example: >> >> I don't want to put it to guix source dir, How can I solve the problem? > > You can set the environment variable GUIX_PACKAGE_PATH to > e.g. ~/.guix-packages then put that package definition into > ~/.guix-packages/emacs.scm and it should work. I set GUIX_PACKAGE_PATH like below: #+BEGIN_SRC shell export GUIX_PACKAGE_PATH="/home/feng/project/eh-guix-package/" export PYTHONPATH="$HOME/.guix-profile/lib/python3.4/site-packages" export GUILE_LOAD_PATH="$GUILE_LOAD_PATH:$HOME/.guix-profile/share/guile/site/2.0/" export GUILE_LOAD_COMPILED_PATH="$GUILE_LOAD_PATH:$HOME/.guix-profile/share/guile/site/2.0/" #+END_SRC then add file "/home/feng/project/eh-guix-package/" #+BEGIN_SRC lisp (define-module (gnu packages emacs-snapshot) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (gnu packages) #:use-module (gnu packages emacs)) (define-public emacs-snapshot (package (inherit emacs) (name "emacs-snapshot") (version "20150522.9e41e0b") (source (origin (method git-fetch) (uri (git-reference (url "/home/feng/project/emacs") (commit "9e41e0bc6a6fdb7a01841db62d8de42d67be534a"))) (sha256 (base32 "1p50nrmwnx1d6an7daz8fxkj6ylxml7g23b996ba837nlfz3l8ay" (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ,@(package-native-inputs emacs))) (arguments (substitute-keyword-arguments `(;; Build fails if we allow parallel build. #:parallel-build? #f ;; Tests aren't passing for now. #:tests? #f ,@(package-arguments emacs)) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'autogen (lambda _ (zero? (system* "sh" "autogen.sh")) #+END_SRC but when I run command, it told me that emacs-snapshot module can't be found. #+BEGIN_COMMENT guix build -i emacs-snapshot #+END_COMMENT > > See (info "(guix) Package Modules"), > i.e. https://gnu.org/s/guix/manual/html_node/Package-Modules.html > > Taylan --
Re: About "collision encountered"
Ricardo Wurmus writes: > Feng Shu writes: > >> I build a emacs-snapshot package, it seem conflict with emacs package, >> how to deal with the situation? > > You can choose to install the conflicting package into a separate > profile by passing "-p /path/to/my-other-profile" to "guix package". It > will create a new profile in "/path/to/my-other-profile" and you can run > your emacs-snapshot binaries like so: > > /path/to/my-other-profile/bin/emacs I suggest add a feature, which can detect the underline conflicts. when conflicts found, ask user type "yes" or "no". --
Is sha256 optional?
Is the below code optional? #+BEGIN_COMMENT (sha256 (base32 "XXX")) #+END_COMMENT --
Re: Add ssd and sawfish-page
Andreas Enge writes: > Hello, > > On Fri, May 22, 2015 at 08:45:30AM +0800, Feng Shu wrote: >> For Sawfish user, the below two packages are very useful, suggest add to >> guix. >> 1. https://github.com/SawfishWM/ssd> 2. >> https://github.com/SawfishWM/sawfish-pager > > as Guix is a collaborative project, you are very welcome to try to add them > yourself! You can copy-paste and modify an existing package, the manual > provides some help, and I have given a talk on how to package: >https://www.gnu.org/software/guix/guix-ghm-andreas-20130823.pdfIt is a bit > outdated, but might still be helpful. You can also ask for > help on the mailing list and the irc channel. I have read the sawfish.scm, its code is very complicate and beyond my ability. > > Now I would suggest to start with something simple, and am not sure if your > examples fall into that category... > > Andreas --
About webkitgtk head file path.
I want to build emacs xwidget branch, which require webkitgtk-2.4. the problem is: webkitgtk-2.4 package put head files to: /gnu/store/dl8z49pzl3l7wbh2q0hp7dxdxm40vjjj-webkitgtk-2.4.8/include/webkitgtk-1.0/webkit while xwidget.c include webkit head file like below. can't find the head files and build fail. how to deal with this problem. #+BEGIN_COMMENT #include #include #include #include #include #include #include #+END_COMMENT --
Re: [PATCH] Add guile-emacs!
Christopher Allan Webber writes: > Okay, how about a version of guile-emacs that works and incorporates > feedback from this thread? Yeah? Anyone? > > Whoo guile-emacs! :) > I suggest add "emacs-snapshot" or "emacs-master-branch" package, then, define guile-emacs like this. #+BEGIN_SRC (define-public guile-emacs (package (inherit emacs-master-branch) ...)) #+END_SRC This can make package other emacs branch easier, for example: xwidget branch.
Suggest add FAQ documents about integrating with other linux distribution.
I use guix to build my own version of emacs-snapshot and sawfish, and find some integrate-issue, and suggest add a FAQ to deal with, for example: 1. How to use fonts which is outside guix? 2. How to use fonts config which is outside guix? 3. How to use gtk or qt theme similar with outside guix? 4. --
emacs-snapshot and emacs-xwidget example
I have hacked emacs-snapshot and emacs-xwidget package define. for very very slowly newwork speed, I can't build them as official guix package. people interesting them can copy and *edit* #+BEGIN_SRC lisp (define-public emacs-snapshot (package (inherit emacs) (name "emacs-snapshot") (version "20150522.9e41e0b") (source (origin (method git-fetch) (uri (git-reference (url "/home/feng/project/emacs") (commit "9e41e0bc6a6fdb7a01841db62d8de42d67be534a"))) (sha256 (base32 "1p50nrmwnx1d6an7daz8fxkj6ylxml7g23b996ba837nlfz3l8ay" (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ,@(package-native-inputs emacs))) (arguments (substitute-keyword-arguments `(;; Build fails if we allow parallel build. #:parallel-build? #f ;; Tests aren't passing for now. #:tests? #f ,@(package-arguments emacs)) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'autogen (lambda _ (zero? (system* "sh" "autogen.sh")) (define-public webkitgtk3.0 ;; Latest release of the stable 2.4 series. (package (inherit webkitgtk) (name "webkitgtk3.0") (version "2.4.8") (source (origin (method url-fetch) (uri (string-append "http://www.webkitgtk.org/releases/"; "webkitgtk" "-" version ".tar.xz")) (sha256 (base32 "08xxqsxpa63nzgbsz63vrdxdxgpysyiy7jdcjb57k1hprdcibwb8")) (patches (list (search-patch "webkitgtk-2.4.8-gmutexlocker.patch") (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests #:phases (modify-phases %standard-phases (add-after 'unpack 'set-gcc (lambda _ (setenv "CC" "gcc") #t))) #:configure-flags '("--enable-webkit2=no" "--with-gtk=3.0"))) (inputs `(("flex" ,flex) ("which" ,which) ,@(package-inputs webkitgtk) (define-public emacs-xwidget (package (inherit emacs-snapshot) (name "emacs-xwidget") (version "20150522.e6f6513") (source (origin (method git-fetch) (uri (git-reference (url "/home/feng/project/emacs") (commit "e6f6513fc9a1beae5a48de93fb23372eada7dd85"))) (sha256 (base32 "0ayzvw4ixvys79b8x4xlazp72f5x2wj4zdqfazb8klkn5mv7cqlj" (inputs `(("libXcomposite" ,libxcomposite) ("libsoup" ,libsoup) ("webkitgtk3.0" ,webkitgtk3.0) ,@(package-inputs emacs-snapshot))) (arguments (append '(#:configure-flags (let ((webkitgit-dir (assoc-ref %build-inputs "webkitgtk3.0")) (libsoup-dir (assoc-ref %build-inputs "libsoup"))) (list "--with-xwidgets" "--with-x-toolkit=gtk3" (string-append "CPPFLAGS=" "-I" webkitgit-dir "/include/webkitgtk-3.0 " "-I" libsoup-dir "/include/libsoup-2.4 ") (string-append "LDFLAGS=" "-L" webkitgit-dir "/lib -lwebkitgtk-3.0 " "-L" libsoup-dir "/lib -lsoup-2.4 " "-Wl,-rpath=" webkitgit-dir "/lib " "-Wl,-rpath=" libsoup-dir "/lib ") (string-append "LIBS=" "-L" webkitgit-dir "/lib -lwebkitgtk-3.0 " "-L" libsoup-dir "/lib -lsoup-2.4 " (package-arguments emacs-snapshot) #+END_SRC --
About webkitgtk and gtk
Webkit package is like this: 1. webkitgtk-2.8.1 --> webkit2 + gtk3.0 2. webkitgtk-2.4.8 --> webkit + gtk2 In debian, it is like this: 1. webkit2gtk --> webkit2 + gtk3.0 2. webkitgtk-3.0 --> webkit + gtk3.0 3. webkitgtk-1.0 --> webkit + gtk2.0 I think is is more reasonable. --
[patch] Add webkitgtk-2.4/gtk+-3.0.patch
>From f755ed7e31446c86ed52fc1acfda2f90690688a2 Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Mon, 25 May 2015 19:36:28 +0800 Subject: [PATCH] gnu: Add webkitgtk-2.4/gtk+-3.0 --- gnu/packages/webkit.scm | 8 1 file changed, 8 insertions(+) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index b091c88..ccc2c12 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -140,3 +140,11 @@ HTML/CSS applications to full-fledged web browsers.") `(("flex" ,flex) ("which" ,which) ,@(package-inputs webkitgtk) + +(define-public webkitgtk-2.4/gtk+-3.0 + ;; Build webkit1 with gtk3 + (package (inherit webkitgtk-2.4) + (name "webkitgtk") + (arguments '(#:configure-flags +'("--enable-webkit2=no" + "--with-gtk=3.0") -- 2.1.4 --
Re: About webkitgtk and gtk
宋文武 writes: >> #+BEGIN_COMMENT >> guix build: error: failed to evaluate expression `(@ (emacs-snapshot) >> webkitgtk-2.4/gtk+-3)': (wrong-type-arg "module-variable" "Wrong type >> argument in position ~A (expecting ~A): ~S" (1 "module" #f) (#f)) >> >> #+END_COMMENT > I have no idea about this (CC to the list). Sorry, my type error But, I think "webkitgtk-2.4/gtk+-3" is not a convenience name. --
Re: [patch] Add webkitgtk-2.4/gtk+-3.0.patch
宋文武 writes: > Hi, I update it to webkitgtk-2.4.9, apply and modify your patch, end with: > > * webkitgtk > Unmodified, for upstream 'stable' release. > GTK3 port with only WebKit2 API. > > * webkitgtk-2.4 > Last version with WebKit1 API support (also with WebKit2), GTK3 port. > > * webkitgtk/gtk+-2 > Last GTK2 port, only support WebKit1 API. > Good job, but after i build emacs-xwidget with webkitgtk-2.4, it can't open "https://..."; ssl url, I don't know the reason, is it the webkitgtk's problem? How to test it? --
Suggest improve emacs setting in 'The Perfect Setup'
Hello: In 'The Perfect Setup', we suggest user to use the below emacs config: ``` ;; Assuming the Guix checkout is in ~/src/guix. (with-eval-after-load 'geiser-guile (add-to-list 'geiser-guile-load-path "~/src/guix")) ``` This config need user to deal with %load-path of guix, which seem to be a hard job for new guile user for many dirs of guix and other guix channels, why not suggest new user to use the below config: ``` (setq geiser-guile-binary (list "guix" "repl")) ``` or: ``` (setq geiser-guile-binary (list "guix" "repl" "-L" "/path/to/user-own-config-dir")) ``` when user just want to develop his own guix config, just run: ``` emacs ``` guix and other channels installed by 'guix pull' will be used properly. when user want to develop in guix.git, he just run emacs like the below: ``` ./pre-inst-env emacs ``` The below is my guix emacs config, seem to work: (require 'geiser) (require 'geiser-guile) (require 'guix) (require 'magit) ;; ** My own guix config. (defvar eh-geeguix-dir (expand-file-name "~/geeguix")) ;; ** Let geiser-guile use 'guix repl' (setq geiser-guile-binary (list "guix" "repl" "-L" eh-geeguix-dir)) ;; ** guix-devel-mode (add-hook 'scheme-mode-hook #'guix-devel-mode) ;; ** Get guix dir installed by 'guix pull'. (defun eh-guix-dir () (file-name-as-directory (cl-find-if (lambda (dir) (file-exists-p (expand-file-name "guix.scm" dir))) (directory-files (expand-file-name "~/.cache/guix/checkouts/") t ;; ** copyright-update (when (eh-guix-dir) (let* ((dir (eh-guix-dir)) (file (expand-file-name "etc/copyright.el" dir))) (when (file-exists-p file) (load-file file) ;; (add-hook 'after-save-hook 'copyright-update) (setq copyright-names-regexp (format "%s <%s>" user-full-name user-mail-address) ;; ** tempel (when (eh-guix-dir) (let* ((dir (eh-guix-dir)) (path (expand-file-name "etc/snippets/tempel/*" dir))) (add-to-list 'tempel-path path))) --
Re: Suggest improve emacs setting in 'The Perfect Setup'
Joshua Branson writes: > Feng Shu writes: > >> Hello: >> >> In 'The Perfect Setup', we suggest user to use the below emacs config: >> >> ``` >> ;; Assuming the Guix checkout is in ~/src/guix. >> (with-eval-after-load 'geiser-guile >> (add-to-list 'geiser-guile-load-path "~/src/guix")) >> ``` >> >> This config need user to deal with %load-path of guix, which seem to be >> a hard job for new guile user for many dirs of guix and other guix channels, >> why not suggest new user to use the below config: >> > > How about you go ahead and make a patch on guix-patc...@gnu.org, that > way this issue is not forgotten? Maybe we can add an example emacs config for develop guix in etc directory. > >> >> ``` >> (setq geiser-guile-binary (list "guix" "repl")) >> ``` >> >> >> or: >> >> ``` >> (setq geiser-guile-binary (list "guix" "repl" "-L" >> "/path/to/user-own-config-dir")) >> ``` >> >> when user just want to develop his own guix config, just run: >> >> ``` >> emacs >> ``` >> >> guix and other channels installed by 'guix pull' will be used properly. >> >> when user want to develop in guix.git, he just run emacs like the below: >> >> ``` >> ./pre-inst-env emacs >> ``` >> >> The below is my guix emacs config, seem to work: >> >> >> >> (require 'geiser) >> (require 'geiser-guile) >> (require 'guix) >> (require 'magit) >> >> ;; ** My own guix config. >> (defvar eh-geeguix-dir (expand-file-name "~/geeguix")) >> >> ;; ** Let geiser-guile use 'guix repl' >> (setq geiser-guile-binary (list "guix" "repl" "-L" eh-geeguix-dir)) >> >> ;; ** guix-devel-mode >> (add-hook 'scheme-mode-hook #'guix-devel-mode) >> >> ;; ** Get guix dir installed by 'guix pull'. >> (defun eh-guix-dir () >> (file-name-as-directory >>(cl-find-if >> (lambda (dir) >> (file-exists-p (expand-file-name "guix.scm" dir))) >> (directory-files >> (expand-file-name "~/.cache/guix/checkouts/") >> t >> >> ;; ** copyright-update >> (when (eh-guix-dir) >> (let* ((dir (eh-guix-dir)) >> (file (expand-file-name "etc/copyright.el" dir))) >> (when (file-exists-p file) >> (load-file file) >> ;; (add-hook 'after-save-hook 'copyright-update) >> (setq copyright-names-regexp >> (format "%s <%s>" user-full-name user-mail-address) >> >> ;; ** tempel >> (when (eh-guix-dir) >> (let* ((dir (eh-guix-dir)) >> (path (expand-file-name "etc/snippets/tempel/*" dir))) >> (add-to-list 'tempel-path path))) > > I would also add: > > (add-hook! 'scheme-mode-hook #'display-fill-column-indicator-mode) > > This creates a vertical line that reminds you that your code should fit > inside 80 columns. > > Possible also mention how to set up page break lines: > > https://github.com/purcell/page-break-lines --
Re: Suggest improve emacs setting in 'The Perfect Setup'
jbra...@dismail.de writes: > That's a good idea! I think there is/was a guix developer trying to write an > emacs configuration specifically to hack on guix... The below is my current guix emacs config, I do not know whether it is suitable for an example, maybe someone can try it :-) If suitable, I will try to send a patch. eh-guix.el Description: application/emacs-lisp
Re: Suggest improve emacs setting in 'The Perfect Setup'
jbra...@dismail.de writes: > January 1, 2023 4:06 PM, "Feng Shu" wrote: > >> jbra...@dismail.de writes: >> >>> That's a good idea! I think there is/was a guix developer trying to write an >>> emacs configuration specifically to hack on guix... >> >> The below is my current guix emacs config, I do not know whether it is >> suitable for an example, maybe someone can try it :-) >> >> If suitable, I will try to send a patch. > > I would go ahead and send a patch to guix-patches. It might be a good idea > to > review someone else' patch. Guix is in need of patch reviewers. :) Good news. > > I should probably take my own advice and review someone else's patch too. :) > > Joshua --
Re: Suggest improve emacs setting in 'The Perfect Setup'
Simon Tournier writes: > Hi, > > Thanks for sharing. Interesting to see other config. > > > On Fri, 30 Dec 2022 at 08:54, Feng Shu wrote: > >> ;; ** Let geiser-guile use 'guix repl' >> (setq geiser-guile-binary (list "guix" "repl" "-L" eh-geeguix-dir)) > > Be careful, this can bite you. :-) Guile is run with --no-auto-compile > so the debugger is probably not working as expected. See [1,2]. > > 1: https://yhetil.org/guix/86o7ss1u49.fsf@gmail.com2: > https://yhetil.org/guix/87lenve3t2@gnu.org > > >> ;; ** Get guix dir installed by 'guix pull'. >> (defun eh-guix-dir () >> (file-name-as-directory >>(cl-find-if >> (lambda (dir) >> (file-exists-p (expand-file-name "guix.scm" dir))) >> (directory-files >> (expand-file-name "~/.cache/guix/checkouts/") >> t > > Well, I do not know what you do with this but if you manually write in > this directory, then “guix pull” could be then broken. I just read tempel templates and copyright.el from this directory. maybe I should read them from another dir, but I do not know where, in "~/.config/guix/current/share" seem can not find them. > > > Cheers, > simon --
#:configure-flags flags #~'() or #:configure-flags flags #~()
Hello: I grep guix.git, and find two form, I would like to know which one is right: #:configure-flags flags #~'() or #:configure-flags flags #~() -*- mode: grep; default-directory: "~/guix/guix/" -*- Grep started at Thu Jan 19 13:26:17 find -H . -type d \( -path \*/SCCS -o -path \*/RCS -o -path \*/CVS -o -path \*/MCVS -o -path \*/.src -o -path \*/.svn -o -path \*/.git -o -path \*/.hg -o -path \*/.bzr -o -path \*/_MTN -o -path \*/_darcs -o -path \*/\{arch\} \) -prune -o \! -type d \( -name .\#\* -o -name \*.o -o -name \*\~ -o -name \*.bin -o -name \*.lbin -o -name \*.so -o -name \*.a -o -name \*.ln -o -name \*.blg -o -name \*.bbl -o -name \*.elc -o -name \*.lof -o -name \*.glo -o -name \*.idx -o -name \*.lot -o -name \*.fmt -o -name \*.tfm -o -name \*.class -o -name \*.fas -o -name \*.lib -o -name \*.mem -o -name \*.x86f -o -name \*.sparcf -o -name \*.dfsl -o -name \*.pfsl -o -name \*.d64fsl -o -name \*.p64fsl -o -name \*.lx64fsl -o -name \*.lx32fsl -o -name \*.dx64fsl -o -name \*.dx32fsl -o -name \*.fx64fsl -o -name \*.fx32fsl -o -name \*.sx64fsl -o -name \*.sx32fsl -o -name \*.wx64fsl -o -name \*.wx32fsl -o -name \*.fasl -o -name \*.ufsl -o -name \*.fsl -o -name \*.dxl -o -name \*.lo -o -name \*.la -o -name \*.gmo -o -name \*.mo -o -name \*.toc -o -name \*.aux -o -name \*.cp -o -name \*.fn -o -name \*.ky -o -name \*.pg -o -name \*.tp -o -name \*.vr -o -name \*.cps -o -name \*.fns -o -name \*.kys -o -name \*.pgs -o -name \*.tps -o -name \*.vrs -o -name \*.pyc -o -name \*.pyo \) -prune -o \( -path ./\^\\.idea\$ -o -path ./\^\\.vscode\$ -o -path ./\^\\.ensime_cache\$ -o -path ./\^\\.eunit\$ -o -path ./\^\\.git\$ -o -path ./\^\\.hg\$ -o -path ./\^\\.fslckout\$ -o -path ./\^_FOSSIL_\$ -o -path ./\^\\.bzr\$ -o -path ./\^_darcs\$ -o -path ./\^\\.pijul\$ -o -path ./\^\\.tox\$ -o -path ./\^\\.svn\$ -o -path ./\^\\.stack-work\$ -o -path ./\^\\.ccls-cache\$ -o -path ./\^\\.cache\$ -o -path ./\^\\.clangd\$ -o -path ./TAGS \) -prune -o -type f \( -name \* -o -name .\* \) -exec grep --color=auto -i -nH --null -e \#\:configure-flags\ flags\ \#\~ \{\} + ./gnu/packages/emacs.scm:424: ((#:configure-flags flags #~'()) ./gnu/packages/emacs.scm:445: ((#:configure-flags flags #~'()) ./gnu/packages/emacs.scm:464: ((#:configure-flags flags #~'()) ./gnu/packages/emacs.scm:489: ((#:configure-flags flags #~'()) ./gnu/packages/emacs.scm:508: ((#:configure-flags flags #~'()) ./gnu/packages/gstreamer.scm:1080: ((#:configure-flags flags #~'()) ./gnu/packages/maths.scm:2708: ((#:configure-flags flags #~'()) ./gnu/packages/python.scm:685:((#:configure-flags flags #~()) ./gnu/packages/serialization.scm:200: ((#:configure-flags flags #~'()) ./gnu/packages/tor.scm:141: ((#:configure-flags flags #~'()) ./gnu/packages/wxwidgets.scm:177: ((#:configure-flags flags #~'()) ./gnu/packages/wxwidgets.scm:228: ((#:configure-flags flags #~'()) ./gnu/packages/freedesktop.scm:208: ((#:configure-flags flags #~'()) Grep exited abnormally with code 1 at Thu Jan 19 13:26:18
Re: #:configure-flags flags #~'() or #:configure-flags flags #~()
Tobias Geerinckx-Rice writes: > Hi! > > It's not about 'right' (why would grepping Guix return wrong code...? > Impossible! :-). It's a matter partly of preference and partly of using the > best tool for the job. > > Omitted from your second example is a call to list, and the #~ that both have > in common is just syntactic sugar for (gexp ...). :-), I just want to know, in below code: we should code #~'() or #~() after flags. (substitute-keyword-arguments (package-arguments ...) ((#:configure-flags flags #~'()) ^ ...))
master seem to build fail
make[2]: 进入目录“/home/feng/project/guix” Compiling Scheme modules... LOAD guix/http-client.scm LOAD guix/scripts/pack.scm LOAD guix/scripts/system.scm LOAD gnu/bootloader/grub.scm LOAD gnu/bootloader/u-boot.scm LOAD gnu/packages/algebra.scm LOAD gnu/packages/audio.scm LOAD gnu/packages/bootloaders.scm LOAD gnu/packages/check.scm LOAD gnu/packages/code.scm LOAD gnu/packages/compression.scm LOAD gnu/packages/cpp.scm LOAD gnu/packages/emacs.scm LOAD gnu/packages/firmware.scm LOAD gnu/packages/games.scm LOAD gnu/packages/gnome.scm LOAD gnu/packages/gnuzilla.scm LOAD gnu/packages/image.scm LOAD gnu/packages/image-viewers.scm LOAD gnu/packages/java.scm LOAD gnu/packages/calendar.scm LOAD gnu/packages/linux.scm LOAD gnu/packages/messaging.scm LOAD gnu/packages/music.scm LOAD gnu/packages/networking.scm LOAD gnu/packages/python.scm LOAD gnu/packages/qt.scm LOAD gnu/packages/rust.scm LOAD gnu/packages/samba.scm LOAD gnu/packages/search.scm LOAD gnu/packages/tls.scm LOAD gnu/packages/video.scm LOAD gnu/packages/wine.scm LOAD gnu/services/base.scm LOAD gnu/system.scm LOAD gnu/system/file-systems.scm LOAD gnu/system/install.scm LOAD gnu/system/vm.scm LOAD gnu/build/file-systems.scm LOAD gnu/build/linux-boot.scm LOAD gnu/tests.scm LOAD gnu/tests/install.scm Backtrace: In ice-9/boot-9.scm: 222:29 19 (map1 (((gnu bootloader extlinux)) ((gnu tests)) ((…)) …)) 222:29 18 (map1 (((gnu tests)) ((gnu tests base)) ((gnu #)) (#) …)) 222:17 17 (map1 (((gnu tests base)) ((gnu system)) ((gnu # #)) # …)) 2788:17 16 (resolve-interface (gnu tests base) #:select _ #:hide _ …) 2714:10 15 (_ (gnu tests base) _ _ #:ensure _) 2982:16 14 (try-module-autoload _ _) 2312:4 13 (save-module-excursion #) 3002:22 12 (_) In unknown file: 11 (primitive-load-path "gnu/tests/base" #) In gnu/tests/base.scm: 390:6 10 (_) 63:20 9 (run-basic-test #< kernel: # …) In ice-9/eval.scm: 155:9 8 (_ #(#(#) #< …)) 159:9 7 (_ #(#(#) #< …)) 293:34 6 (_ #(#(#(#(#(#(#(#(#(#) …) …) …) …) …) …) …) …)) 196:35 5 (_ #(#(#(#(#) # #) #) #)) 196:35 4 (_ #(#(#(#) #<) …)) In gnu/system/linux-initrd.scm: 335:4 3 (base-initrd (#< device: "TAGjoptajej2…> …) …) 233:10 2 (file-system-packages (#< device: "TAG…> …) …) In unknown file: 1 (find # …) 0 (string-prefix? "ext" (read-only) # # …) ERROR: In procedure string-prefix?: In procedure string-prefix?: Wrong type argument in position 2 (expecting string): (read-only) Some deprecated features have been used. Set the environment variable GUILE_WARN_DEPRECATED to "detailed" and rerun the program to get more information. Set it to "no" to suppress this message. make[2]: *** [Makefile:5408:make-go] 错误 1 make[2]: 离开目录“/home/feng/project/guix” make[1]: *** [Makefile:4536:all-recursive] 错误 1 make[1]: 离开目录“/home/feng/project/guix” make: *** [Makefile:3122:all] 错误 2 feng@tumashu:~/project/guix $ --
gst-plugins-base-1.14.1 build failure
make[1]: Leaving directory '/tmp/guix-build-gst-plugins-base-1.14.1.drv-0/gst-plugins-base-1.14.1/tests' make: *** [Makefile:748: check-recursive] Error 1 Test suite failed, dumping logs. --- ./tests/check/test-suite.log GStreamer Base Plug-ins 1.14.1: tests/check/test-suite.log # TOTAL: 80 # PASS: 79 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: elements/opus === Running suite(s): opus 33%: Checks: 6, Failures: 0, Errors: 4 gstcheck.c:596:E:general:test_opus_encode_nothing:0: (after this point) Received signal 11 (Segmentation fault) gstcheck.c:596:E:general:test_opus_encode_samples:0: (after this point) Received signal 11 (Segmentation fault) gstcheck.c:596:E:general:test_opus_encode_properties:0: (after this point) Received signal 11 (Segmentation fault) elements/opus.c:429:E:general:test_opus_decode_plc_timestamps_with_fec:0: (after this point) Received signal 11 (Segmentation fault) Check suite opus ran in 0.025s (tests failed: 4) FAIL elements/opus (exit status: 4) Backtrace: 4 (primitive-load "/gnu/store/q3v63skrwjvchkcdx4aji14sqsz…") In ice-9/eval.scm: 191:35 3 (_ _) In srfi/srfi-1.scm: 640:9 2 (for-each # …) In /gnu/store/cgnrsi20mwcm1s3z9ab8qw125m73l4qd-module-import/guix/build/gnu-build-system.scm: 799:31 1 (_ _) 369:6 0 (check #:target _ #:make-flags _ #:tests? _ # _ # _ # _) /gnu/store/cgnrsi20mwcm1s3z9ab8qw125m73l4qd-module-import/guix/build/gnu-build-system.scm:369:6: In procedure check: Throw to key `srfi-34' with args `(#)'. builder for `/gnu/store/9rfn1v1ssxds3kg1l9j1hap92vlvhmkr-gst-plugins-base-1.14.1.drv' failed with exit code 1 cannot build derivation `/gnu/store/vmzvylb1x37zk4a2zxgmwkymxwnrbcd1-qtmultimedia-5.11.0.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/20rx92rwfb7xnh4i2prm5m1f59gscx84-python-pyqt-5.10.1.drv': 1 dependencies couldn't be built guix package: error: build failed: build of `/gnu/store/20rx92rwfb7xnh4i2prm5m1f59gscx84-python-pyqt-5.10.1.drv' failed --
gnu: add leafpad
>From 54c338b9bfe96cead2663506b55493d156e816dc Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Sat, 8 Apr 2017 12:13:41 +0800 Subject: [PATCH] gnu: add leafpad * gnu/packages/leafpad.scm (gnu): Add leafpad.scm file --- gnu/packages/leafpad.scm | 56 1 file changed, 56 insertions(+) create mode 100644 gnu/packages/leafpad.scm diff --git a/gnu/packages/leafpad.scm b/gnu/packages/leafpad.scm new file mode 100644 index 0..b9e14fe16 --- /dev/null +++ b/gnu/packages/leafpad.scm @@ -0,0 +1,56 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Feng Shu +;;; +;;; 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 packages leafpad) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils)) + +(define-public leafpad + (package +(name "leafpad") +(version "0.8.18.1") +(source (origin + (method url-fetch) + (uri (string-append "http://http.debian.net/debian/pool/main/l/"; + name "/" name "_" version ".orig.tar.gz")) + (sha256 + (base32 +"0b0az2wvqgvam7w0ns1j8xp2llslm1rx6h7zcsy06a7j0yp257cm" +(build-system gnu-build-system) +(native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) +(inputs + `(("gtk+" ,gtk+-2))) +(home-page "https://wiki.gnome.org/Apps/Gedit";) +(synopsis "GTK+ based simple text editor ") +(description "Leafpad is a simple GTK+ text editor that emphasizes simplicity. +As development focuses on keeping weight down to a minimum, only the most essential +features are implemented in the editor. Leafpad is simple to use, is easily compiled, +requires few libraries, and starts up quickly. ") +(license license:gpl2+))) -- 2.12.2 --
gnu: add you-get
>From fe6252c6fe9474078033bd3bffbd76b62f8449a8 Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Fri, 7 Apr 2017 21:18:55 +0800 Subject: [PATCH] gnu: add you-get * gnu/packages/video.scm (you-get): New variable. --- gnu/packages/video.scm | 22 ++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 4f005f594..1d1f4d10f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1023,6 +1023,28 @@ YouTube.com and a few more sites.") (home-page "https://yt-dl.org";) (license license:public-domain))) +(define-public you-get + (package +(name "you-get") +(version "0.4.652") +(source (origin + (method url-fetch) + (uri (string-append +"https://github.com/soimort/you-get/releases/download/v"; +version "/you-get-" version ".tar.gz")) + (sha256 + (base32 +"0brkz98lycx8mmxjwmn7jlhqfdbvl0hy070n7skwr1k75kh99q30" +(build-system python-build-system) +(arguments '(#:tests? #f)) +(synopsis "Download videos, audios or images from the websites") +(description + "you-get is a tiny command-line utility, which can download media +contents (videos, audios, images) from the Web, in case there is no other +handy way to do it.") +(home-page "https://you-get.org/";) +(license license:expat))) + (define-public libbluray (package (name "libbluray") -- 2.12.2 --
about gimp-console.1
find-files: /gnu/store/p10lw87jcqa9q3fnf5pfd9d8gcn2dy4l-gimp-2.8.18/share/man/man1/gimp-console.1: No such file or directory --
Some suggestion about "Contributing" documents.
"Contributing" document is hard to be understood i think. In my opinion, "Contributing" part of document should split two sub parts: 1. I am a guix core developer 2. I Just want to add a new apps's "define-public" --
A Suggestion about guix-devel-mode
Maybe we should add three addition keybinding: 1. Force rebuild the package defined by the current variable definition. 2. Install/upgrade the package defined by the current variable definition. 3 Remove package defined by the current variable definition. #+BEGIN_COMMENT 4.9 Development By default, when you open a Scheme file, guix-devel-mode will be activated (if you don’t want it, set guix-devel-activate-mode to nil). This minor mode provides the following key bindings: C-c . k Copy the name of the current Guile module into kill ring (guix-devel-copy-module-as-kill). C-c . u Use the current Guile module. Often after opening a Scheme file, you want to use a module it defines, so you switch to the Geiser REPL and write ,use (some module) there. You may just use this command instead (guix-devel-use-module). C-c . b Build a package defined by the current variable definition. The building process is run in the current Geiser REPL. If you modified the current package definition, don’t forget to reevaluate it before calling this command—for example, with C-M-x (see To eval or not to eval in Geiser User Manual) (guix-devel-build-package-definition). C-c . s Build a source derivation of the package defined by the current variable definition. This command has the same meaning as guix build -S shell command (see Invoking guix build) (guix-devel-build-package-source). C-c . l Lint (check) a package defined by the current variable definition (see Invoking guix lint) (guix-devel-lint-package). #+END_COMMENT --
A simple workflow for adding apps guix
The below is the workflow I used current, any other simpler workflow exists? comments are welcome! * I want to add emacs-exwm to emacs.scm * Fetch newest code #+BEGIN_EXAMPLE cd ~/project/guix/ # my guix repo dir git pull --rebase #+END_EXAMPLE * Install newest guix #+BEGIN_EXAMPLE guix pull #+END_EXAMPLE * Set GUIX_PACKAGE_PATH #+BEGIN_EXAMPLE export GUIX_PACKAGE_PATH=${HOME}/guix # I put it to ~/.bashrc :-) mkdir ~/guix #+END_EXAMPLE * Privatize emacs.scm file #+BEGIN_EXAMPLE cd ~/guix mkdir -p gnu/packages cd gnu/packages ln -s ~/project/guix/gnu/packages/emacs.scm # guix repo's emacs.scm file #+END_EXAMPLE * Hack -> test -> hack -> test edit ~/project/guix/gnu/packages/emacs.scm ... Build: guix build emacs-exwm Rebuild: guix build emacs-exwm --check Install: guix package -i emacs-exwm --
Re: Suggest A debian-style menu system for guix
ng0 writes: > tumashu transcribed 1.0K bytes: >> Debian menu system >> (https://www.debian.org/doc/packaging-manuals/menu.html/ch3.html) is a very >> useful tool, >> is it possible develop a similar tool for guix? > > Could you explain what this exactly does? > > The manual page only documents the insides, not the description. The below comment is from debian menu introduction. if a package have a debian menu file, all window-manager's menu in debian will show this package menu. #+BEGIN_COMMENT Before the advent of update-menus, when the sysadmin installed a package onto a Debian system, they would need to edit various window manager config files to make the new program show up on, for example, fvwm's menus. The menus could easily become out of sync with what programs were actually available, with some menu items that didn't work, and other programs that lacked a menu entry. update-menus and Debian's menu package aim to solve this problem. update-menus automatically generates menus of installed programs for window managers and other menu programs. It should be run whenever a menu file or menu-method file is changed. update-menus will be ran automatically when Debian packages that contain menu files are installed or removed from the system. Users themselves can add/delete menu items, and should then run update-menus as that user, thus creating window-manager startup files that are used in preference to the systemwide files. #+END_COMMENT --
Re: Suggest A debian-style menu system for guix
ng0 writes: > Feng Shu transcribed 1.5K bytes: >> ng0 writes: >> >> > tumashu transcribed 1.0K bytes: >> >> Debian menu system >> >> (https://www.debian.org/doc/packaging-manuals/menu.html/ch3.html) is a >> >> very useful tool, >> >> is it possible develop a similar tool for guix? >> > >> > Could you explain what this exactly does? >> > >> > The manual page only documents the insides, not the description. >> >> The below comment is from debian menu introduction. if a package have a >> debian menu file, all window-manager's menu in debian will show this >> package menu. >> >> #+BEGIN_COMMENT >> Before the advent of update-menus, when the sysadmin installed a >> package onto a Debian system, they would need to edit various window >> manager config files to make the new program show up on, for >> example, fvwm's menus. The menus could easily become out of sync >> with what programs were actually available, with some menu items >> that didn't work, and other programs that lacked a menu >> entry. update-menus and Debian's menu package aim to solve this >> problem. >> >> update-menus automatically generates menus of installed programs for >> window managers and other menu programs. It should be run whenever a >> menu file or menu-method file is changed. update-menus will be ran >> automatically when Debian packages that contain menu files are >> installed or removed from the system. Users themselves can >> add/delete menu items, and should then run update-menus as that >> user, thus creating window-manager startup files that are used in >> preference to the systemwide files. >> #+END_COMMENT >> >> -- >> >> > Thanks. > > So what's the difference to existing menu-generators specific to many > or only a subset of window-managers, such as obconf? > > Option 1: we could do this in scheme somehow, associated to Guix. > Option 2: we make this a choice (opt-in, run it on your own), not > an opt-out as coming up with a way where user menus are touched > is from my perspective a no-go. > I would not want some automatic generator to touch my menus which > are slightly different from just generated ones. All I want to say is that: we *must* add menu info in "package define" if users of this package *real need* a menu instead of waiting upstream to write a .desktop. --
compiling guix is too slow?
Now I have found that 'guix pull' is too slow, I need 3 hours to compile guix, is it possible to speed it ? --
emacs-exwm-x update error
feng@tumashu:~/project/guix $ ./pre-inst-env guix package -u emacs-exwm-x ;;; note: source file /home/feng/project/guix/gnu/packages/emacs.scm ;;; newer than compiled /home/feng/project/guix/gnu/packages/emacs.go ;;; note: source file /home/feng/project/guix/gnu/packages/emacs.scm ;;; newer than compiled /run/current-system/profile/lib/guile/2.2/site-ccache/gnu/packages/emacs.go guix package: warning: Consider running 'guix pull' followed by 'guix package -u' to get up-to-date packages and security updates. substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following package will be upgraded: emacs-exwm-x 1.0-2.2099138 → 1.6 /gnu/store/b05317amv8xp7kg297rjfqma8f9pp91d-emacs-exwm-x-1.6 guix package: error: profile contains conflicting entries for emacs-exwm:out guix package: error: first entry: emacs-exwm@0.14:out /gnu/store/6v3xzl7xpbgkg9fy6rhfbbizps61yysd-emacs-exwm-0.14 guix package: error:... propagated from emacs-exwm-x@1.6 guix package: error: second entry: emacs-exwm@0.13:out /gnu/store/j39k3hiyxskr78k2pbybvgq1nwczdgvq-emacs-exwm-0.13 --
A question about 'guix build -f'
I want to build emacs-exwm-x in my guix-git repo with the following command: guix build emacs-exwm-x -f /home/feng/project/guix/gnu/packages/emacs.scm But it seem to do nothing, any suggestion? by the way, pre-inst-env is not suit my need, I just want to hack a small package -> rebase it to latest git commit -> test build and install -> format patch The problem is that, when I git pull to get latest git commit, test build and install need download and build many many package, this is veeery sloow. so I need a way I can code in guix git repo and use system guix to test build and install. --
About font-build-system
When I use font-build-system to build font-wqy-zenhei, I found that the ttf file it put into /share/fonts/truetype/ instead of /share/fonts/truetype/font-wqy-zenhei/ Is it default behavor ? --
Is font-google-noto toooooo big as a font package?
font-google-note's size is 506.4 MB, see to big as a font package, maybe we should split it. #+BEGIN_EXAMPLE substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/5j3yn3ky23dra501lv7wvlymrcgdqp9i-profile.drv /gnu/store/y5xlkpcjkv161yb15f5ki18ncgj3v5lr-fonts-dir.drv /gnu/store/s0r4nb37j3hnw70jifny055lkyjj5axk-gtk-icon-themes.drv /gnu/store/q50q0dpycayvvamrj0ql3r6ma386r05r-xdg-desktop-database.drv /gnu/store/lm0fri1ba2ickmizivm3xing1xsp7h6r-info-dir.drv /gnu/store/9lvsajbnr3mri56md1fd56n6jb9qhinj-cups-filters-1.13.1.drv /gnu/store/smn5bx58hynsxwxwpx0f18j6ayvlayl2-cups-2.2.1.drv /gnu/store/d8jdmy8wgc5qj6zqnhxjm1d287ngcj5j-gtk+-3.22.15.drv /gnu/store/czr9wqffj2h4lrv34c4s6ax8sl5l32z5-gtk-im-modules.drv /gnu/store/cvin4kcl36068bhprvr30cfb2crb31l7-ca-certificate-bundle.drv /gnu/store/chv3pw33jr3z3sb5lkpkpl870q6vf145-xdg-mime-database.drv /gnu/store/4wnxz1mb549jfah92l1c2fn4a40f18ns-manual-database.drv 506.4 MB will be downloaded: /gnu/store/w91pr4g1yryvdiyqwg06wbxrzwxib772-font-google-noto-20170403 Downloading https://mirror.hydra.gnu.org/guix/nar/gzip/w91pr4g1yryvdiyqwg06wbxrzwxib772-font-google-noto-20170403... #+END_EXAMPLE --
Re: A simple workflow for adding apps guix
"Feng Shu" writes: The below is my simple workflow, maybe useful :-) --- #+TITLE: Feng Shu's guix devel workflow If you just want to add a new guix package or upgrade a exist guix package, The below workflow may be useful. If you want to hack guix's other code, I suggest you just leave and read guix manual :-) * Fetch guix.git #+BEGIN_EXAMPLE cd ~/project git clone git clone https://git.savannah.gnu.org/guix.git #+END_EXAMPLE * Install emacs #+BEGIN_EXAMPLE guix package -i emacs #+END_EXAMPLE * Install emacs packages 1. guix 2. counsel 3. swiper 4. gitpatch 5. magit * Config emacs 1. guix-directory is your *guix git repo directory* 2. "~/.config/guix/latest" is the latest guix you have install. #+BEGIN_SRC emacs-lisp (use-package guix :ensure nil :config (setq guix-directory "~/project/guix") (add-hook 'after-init-hook 'global-guix-prettify-mode) (add-hook 'scheme-mode-hook 'guix-devel-mode) (with-eval-after-load 'geiser-guile ;; NOTE: "~/.config/guix/latest/" is invaild, ;; use "~/.config/guix/latest" instead. (add-to-list 'geiser-guile-load-path (concat (file-name-directory (locate-library "geiser.el")) "scheme/guile")) (add-to-list 'geiser-guile-load-path "~/.config/guix/latest"))) #+END_SRC * Hack code I use package emacs-exwm-x as an example: 1. Open "~/project/guix/gnu/packages/emacs.scm" with emacs 2. Hack code 1. Type "C-c C-z" (geiser-mode-switch-to-repl), A new guile buffer will open. 2. Type "C-c C-z" again, you will switch to emacs.scm file buffer. 3. Type "C-c . u" to load guix module (guix-devel-use-module), 1-3 second is need. 4. Type "C-s" to search emacs-exwm-x's define-public and jump to it. 5. Type "C-c C-c" or "C-M-x" to eval emacs-exwm-x's define-public 6. Error is found, eval switch-window's define-public and eval emacs-exwm-x's define-public again. For emacs-exwm-x depend switch-window 7. Hack emacs-exwm-x's define-public 8. Type "C-c . d" to download emacs-exwm-x's source and get sha256 string. #+BEGIN_EXAMPLE (sha256 (base32 "1ny13i82fb72917jgl0ndwjg1x6l9f8gfhcx7cwlwhh5saq23mvy")) #+END_EXAMPLE 9. Hack finished ... 10. (Importent) Type "C-c C-c" or "C-M-x" to eval emacs-exwm-x's define-public 11. Type "C-c . b" to build newest emacs-exwm-x :-) 12. Hack, deal with build problem ... 3. Commit and send-patch 1. I use counsel-git-log to find a history commit message as commit template :-) 2. git pull --rebase (make sure the patch we generate can am to guix master) 3. I use magit-format-patch to generate patch file. 4. I use gitpatch-mail command to send patch to guix-patc...@gnu.org it use message-mode or gnus. #+BEGIN_SRC emacs-lisp (use-package gitpatch :bind (("C-c m" . gitpatch-mail)) :ensure nil :config (setq gitpatch-mail-function 'gnus-msg-mail) (setq gitpatch-mail-attach-patch-key "C-c i") (setq gitpatch-mail-database '("guix-patc...@gnu.org" "emms-h...@gnu.org" "emacs-orgm...@gnu.org" "emacs-de...@gnu.org"))) #+END_SRC - > Marius Bakke writes: > > Now, I finally make my guix devel workflow :-) > > -- > > #+TITLE: Feng Shu's guix devel workflow > > If you just want to add a new guix package or upgrade a exist guix package, > The below workflow may be useful. > > If you want to hack guix's other code, I suggest you just leave and read > guix manual :-) > > > * Fetch guix.git > > #+BEGIN_EXAMPLE > cd ~/project > git clone git clone https://git.savannah.gnu.org/guix.git > #+END_EXAMPLE > > > * Install emacs > > #+BEGIN_EXAMPLE > guix package -i emacs > #+END_EXAMPLE > > > * Install emacs packages > 1. guix > 2. counsel > 3. swiper > 4. gitpatch > 5. magit > > * Config emacs > 1. guix-directory is your *guix git repo directory* > 2. "~/.config/guix/latest" is the latest guix you have install. > > #+BEGIN_SRC emacs-lisp > (use-package guix > :ensure nil > :config > (setq guix-directory "~/project/guix") > (add-hook 'after-init-hook 'global-guix-prettify-mode) > (add-hook 'scheme-mode-hook 'guix-devel-mode) &
How to install a package in guile
I use the following exp to build a new version you-get #+BEGIN_COMMENT scheme@(guile-user)> ,run-in-store (build-package you-get #:use-substitutes? #t #:dry-run? #f) #+END_COMMENT How to install this new vesion of you-get in guile? --
Re: How to install a package in guile
l...@gnu.org (Ludovic Courtès) writes: > Hi, > > "Feng Shu" skribis: > >> I use the following exp to build a new version you-get >> >> #+BEGIN_COMMENT >> scheme@(guile-user)> ,run-in-store (build-package you-get #:use-substitutes? >> #t #:dry-run? #f) >> #+END_COMMENT >> >> How to install this new vesion of you-get in guile? > > You’d first need to build a profile that contains you-get, using the API > in (guix profiles): > > scheme@(guile-user)> ,use(guix) > scheme@(guile-user)> ,use(gnu) > scheme@(guile-user)> ,use(guix profiles) > scheme@(guile-user)> (packages->manifest (list (specification->package > "you-get"))) > $13 = #< entries: (#< name: "you-get" > version: "0.4.775" output: "out" item: # gnu/packages/video.scm:1239 1529d80> dependencies: () search-paths: () > parent: # ()>>>)> > scheme@(guile-user)> ,run-in-store (profile-derivation $13) > … (packages-manifest (list you-get)) seem to work too. > > The rest (setting up the symlink) is a little less convenient though. > See (guix scripts package) or the equivalent Emacs-Guix code for how > this works. > (build-and-use-profile store "~/.guix-profile" $2) How can I get the "store"? > HTH! > > Ludo’. > --
Re: How to install a package in guile
Alex Kost writes: > Feng Shu (2017-07-26 20:44 +0800) wrote: > >> l...@gnu.org (Ludovic Courtès) writes: > [...] >>> The rest (setting up the symlink) is a little less convenient though. >>> See (guix scripts package) or the equivalent Emacs-Guix code for how >>> this works. >> >> (build-and-use-profile store "~/.guix-profile" $2) >> >> How can I get the "store"? > > For example, like this: > > (with-store store > (build-and-use-profile ...)) guix's code seem to hard for me, I use a emacs command to solve my problem: - (defvar guix-export-directory "~/myguix/") (defun guix-export-package () (interactive) (let* ((directory (file-name-as-directory guix-export-directory)) (current-module (guix-guile-current-module)) (define-public-string (save-excursion (end-of-defun) (let ((end (point))) (beginning-of-defun) (buffer-substring (point) end (package-name (progn (string-match "\\(define-public +\\)\\([a-z-]+\\)\n+" define-public-string) (match-string 2 define-public-string))) (define-module-string (replace-regexp-in-string " *(define-module.*\n" (format (concat "(define-module (%s)\n" " #:use-module %s\n") package-name current-module) (save-excursion (goto-char (point-min)) (search-forward "(define-module") (end-of-defun) (let ((end (point))) (beginning-of-defun) (buffer-substring (point) end) (command (format "guix package --load-path='%s' -i %s " directory package-name))) (unless (file-directory-p directory) (make-directory directory t)) (with-temp-buffer (insert define-module-string) (insert "\n") (insert define-public-string) (write-file (concat directory package-name ".scm")) (kill-new command) (message command))) --
wicd can not connect my wifi.
By default, wicd can not connect my wifi, unless I switch dhcp client from default to dhclient, any one know the reason? --
Re: guixsd can not install on my machine again
l...@gnu.org (Ludovic Courtès) writes: > Hi tumashu, > > tumashu skribis: > >> In gnu/system.scm: >>307:17 3 (read-boot-parameters-file "/var/guix/profiles/system-1?") >> In ice-9/ports.scm: >>444:17 2 (call-with-input-file _ _ #:binary _ #:encoding _ # _) >> In gnu/system.scm: >>282:10 1 (read-boot-parameters _) >> 238:4 0 (device-sexp->device _) >> >> gnu/system.scm:238:4: In procedure device-sexp->device: >> gnu/system.scm:238:4: Throw to key `match-error' with args `("match" "no >> matching pattern" #f)'. > > Thanks for your report. A patch for this is pending evaluation: > > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28445#23 > > Could you check if the proposed patch solves the problem for you? > It can let me install the guixsd to my machine, the problem is that grub will show error which can not find device "/dev/sda7" and I need press a key to init guixsd > TIA! > > Ludo’. --
Ctrl-Alt-F1,F2,F3 ... can not start a console.
Yestaday, I reinstall my guixsd, and install xfce4 as my desktop. A problem faced is that: When I press Ctrl-Alt-F1, F2, F3 ... I can not start a tty, instead of start a slim login picture? Any suggestion? thanks! my config: -- (use-modules (gnu) (gnu system nss)) (use-modules (gnu system locale)) (use-service-modules desktop) (use-package-modules certs gnome) (operating-system (host-name "tumashu") (timezone "Asia/Shanghai") (locale "zh_CN.UTF-8") (locale-definitions (cons* (locale-definition (name "zh_CN.GB2312") (source "zh_CN")) (locale-definition (name "zh_CN.GBK") (source "zh_CN")) (locale-definition (name "zh_CN.GB18030") (source "zh_CN")) (locale-definition (name "zh_TW.BIG5") (source "zh_TW")) (locale-definition (name "zh_TW.UTF-8") (source "zh_TW")) %default-locale-definitions)) ;; Assuming /dev/sdX is the target hard disk (bootloader (grub-configuration (target "/dev/sda"))) (file-systems (cons* (file-system (device "/dev/sda7") (title 'device) (mount-point "/") (type "ext4")) (file-system (device "/dev/sda5") (title 'device) (mount-point "/home") (type "ext4")) (file-system (device "/dev/sda6") (title 'device) (mount-point "/mnt/backup1") (type "ext4")) (file-system (device "/dev/sda1") (title 'device) (mount-point "/mnt/backup2") (type "ext4")) %base-file-systems)) (swap-devices '("/dev/sda8")) (users (cons (user-account (name "feng") (comment "Feng Shu") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/feng")) %base-user-accounts)) ;; This is where we specify system-wide packages. (packages (append (map specification->package '("gvfs" "nss-certs" "wpa-supplicant" "network-manager-applet" "gtk-xfce-engine" "adwaita-icon-theme" "gnome-icon-theme" "gnome-themes-standard" "hicolor-icon-theme" "font-wqy-microhei")) %base-packages)) ;; Add GNOME and/or Xfce---we can choose at the log-in ;; screen with F1. Use the "desktop" services, which ;; include the X11 log-in service, networking with Wicd, ;; and more. (services (cons* (xfce-desktop-service) %desktop-services)) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) --
Re: Ctrl-Alt-F1,F2,F3 ... can not start a console.
l...@gnu.org (Ludovic Courtès) writes: > Hi, > > "Feng Shu" skribis: > >> Yestaday, I reinstall my guixsd, and install xfce4 as my desktop. >> A problem faced is that: When I press Ctrl-Alt-F1, F2, F3 ... >> I can not start a tty, instead of start a slim login picture? > > Can you reproduce the problem in a VM created by ‘guix system vm’? > (Note that in QEMU you need to do ctrl-1 to go to the QEMU console, then > “sendkey ctrl-alt-f1”, and then ctrl-2 to switch back to the VM screen.) > > If not, could it be that the problem has to do with the graphics driver > being used? > > Ludo’. I run command: dmesg, and find error: is it possible the reason? [ 24.692649] udevd[197]: RUN{builtin}: 'uaccess' unknown /gnu/store/34c1zxa84ljss1iwpc14sh1irjsb2naa-udev-rules/lib/udev/rules.d/73-seat-late.rules:15 [ 27.708339] udevd[197]: RUN{builtin}: 'uaccess' unknown /gnu/store/34c1zxa84ljss1iwpc14sh1irjsb2naa-udev-rules/lib/udev/rules.d/73-seat-late.rules:15 [ 30.724264] udevd[197]: RUN{builtin}: 'uaccess' unknown /gnu/store/34c1zxa84ljss1iwpc14sh1irjsb2naa-udev-rules/lib/udev/rules.d/73-seat-late.rules:15 [ 32.460383] usbcore: registered new interface driver usbmouse [ 87.253329] udevd[197]: RUN{builtin}: 'uaccess' unknown /gnu/store/34c1zxa84ljss1iwpc14sh1irjsb2naa-udev-rules/lib/udev/rules.d/73-seat-late.rules:15 --
Re: Ctrl-Alt-F1,F2,F3 ... can not start a console.
l...@gnu.org (Ludovic Courtès) writes: > Hi, > > "Feng Shu" skribis: > >> Yestaday, I reinstall my guixsd, and install xfce4 as my desktop. >> A problem faced is that: When I press Ctrl-Alt-F1, F2, F3 ... >> I can not start a tty, instead of start a slim login picture? > > Can you reproduce the problem in a VM created by ‘guix system vm’? > (Note that in QEMU you need to do ctrl-1 to go to the QEMU console, then > “sendkey ctrl-alt-f1”, and then ctrl-2 to switch back to the VM screen.) > > If not, could it be that the problem has to do with the graphics driver > being used? qemu vm works well, may be it is graphics driver problem as you said, I will wait to update driver, thanks for the help! > > Ludo’. --
Re: Ctrl-Alt-F1,F2,F3 ... can not start a console.
"Feng Shu" writes: > l...@gnu.org (Ludovic Courtès) writes: > >> Hi, >> >> "Feng Shu" skribis: >> >>> Yestaday, I reinstall my guixsd, and install xfce4 as my desktop. >>> A problem faced is that: When I press Ctrl-Alt-F1, F2, F3 ... >>> I can not start a tty, instead of start a slim login picture? >> >> Can you reproduce the problem in a VM created by ‘guix system vm’? >> (Note that in QEMU you need to do ctrl-1 to go to the QEMU console, then >> “sendkey ctrl-alt-f1”, and then ctrl-2 to switch back to the VM screen.) >> >> If not, could it be that the problem has to do with the graphics driver >> being used? > > qemu vm works well, may be it is graphics driver problem as you said, I > will wait to update driver, thanks for the help! > >> When I revert "gnu: xf86-video-ati: Update to 7.10.0." , it works well. 84023d2fa4a47e3ac0248d304324161c041858aa >> Ludo’. --
xfce's theme does not work in master?
When I guix pull and reconfigure my xfce desktop, all xfce* theme do not work again. any suggestion? --
"guix system vm": waiting for partition "my-home" to appear ...
Yestaday, I guix pull, and run "guix system wm MYCONFIG.scm" which run success and generate a sh file when I launch qemu with this sh file, I can see "waiting for partition XXX to appear ..." and can not boot properly. --
"font-wqy-microhei" installed but the font file can not be found by "fc-cache -f"
--- 851d0m0xsz4v0hjw98rypisxn34rq012-font-wqy-microhei-0.2.0-beta: 总用量 864 dr-xr-xr-x3 root root4096 1月 1 1970 . drwxrwxr-t 1726 root guixbuild 872448 9月 22 06:35 .. dr-xr-xr-x3 root root4096 1月 1 1970 share -- The font file path: feng@tumashu:/gnu/store/851d0m0xsz4v0hjw98rypisxn34rq012-font-wqy-microhei-0.2.0-beta/share/fonts/wenquanyi $ ls wqy-microhei.ttc feng@tumashu:/gnu/store/851d0m0xsz4v0hjw98rypisxn34rq012-font-wqy-microhei-0.2.0-beta/share/fonts/wenquanyi $ Am I miss something? --
Re: "guix system vm": waiting for partition "my-home" to appear ...
"Feng Shu" writes: > Yestaday, I guix pull, and run "guix system wm MYCONFIG.scm" > > which run success and generate a sh file > > > when I launch qemu with this sh file, I can see > > "waiting for partition XXX to appear ..." > > and can not boot properly. by the way, the below is my config: (use-modules (gnu) (gnu system nss)) (use-modules (gnu system locale)) (use-service-modules desktop) (use-package-modules certs gnome) (operating-system (host-name "tumashu") (timezone "Asia/Shanghai") (locale "zh_CN.UTF-8") (locale-definitions (cons* (locale-definition (name "zh_CN.GB2312") (source "zh_CN")) (locale-definition (name "zh_CN.GBK") (source "zh_CN")) (locale-definition (name "zh_CN.GB18030") (source "zh_CN")) (locale-definition (name "zh_TW.BIG5") (source "zh_TW")) (locale-definition (name "zh_TW.UTF-8") (source "zh_TW")) %default-locale-definitions)) ;; Assuming /dev/sdX is the target hard disk (bootloader (grub-configuration (target "/dev/sda"))) (file-systems (cons* (file-system (device "my-root") (title 'label) (mount-point "/") (type "ext4")) (file-system (device "my-home") (title 'label) (mount-point "/home") (type "ext4")) (file-system (device "my-backup1") (title 'label) (mount-point "/mnt/backup1") (type "ext4")) (file-system (device "my-backup2") (title 'label) (mount-point "/mnt/backup2") (type "ext4")) %base-file-systems)) (swap-devices '("/dev/sda8")) (users (cons (user-account (name "feng") (comment "Feng Shu") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/feng")) %base-user-accounts)) ;; This is where we specify system-wide packages. (packages (append (map specification->package '("gvfs" "nss-certs" "network-manager-applet" "gtk-xfce-engine" "adwaita-icon-theme" "gnome-icon-theme" "gnome-themes-standard" "hicolor-icon-theme" "font-wqy-microhei")) %base-packages)) ;; Add GNOME and/or Xfce---we can choose at the log-in ;; screen with F1. Use the "desktop" services, which ;; include the X11 log-in service, networking with Wicd, ;; and more. (services (cons* (xfce-desktop-service) %desktop-services)) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) --
Re: "font-wqy-microhei" installed but the font file can not be found by "fc-cache -f"
Alex Kost writes: > Feng Shu (2017-09-22 06:45 +0800) wrote: > >> --- >> 851d0m0xsz4v0hjw98rypisxn34rq012-font-wqy-microhei-0.2.0-beta: >> 总用量 864 >> dr-xr-xr-x3 root root4096 1月 1 1970 . >> drwxrwxr-t 1726 root guixbuild 872448 9月 22 06:35 .. >> dr-xr-xr-x3 root root4096 1月 1 1970 share >> -- >> >> The font file path: >> >> feng@tumashu:/gnu/store/851d0m0xsz4v0hjw98rypisxn34rq012-font-wqy-microhei-0.2.0-beta/share/fonts/wenquanyi >> $ ls >> wqy-microhei.ttc >> feng@tumashu:/gnu/store/851d0m0xsz4v0hjw98rypisxn34rq012-font-wqy-microhei-0.2.0-beta/share/fonts/wenquanyi >> $ >> >> Am I miss something? > > From your output it is not clear where you installed this font. In the > system or user profile? I install this package in system profile with the help of my guixsd config > > Also please show the output of "fc-cache -fv". 1. root # feng@tumashu:~ $ sudo fc-cache -fv 密码: /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts: caching, new cache contents: 0 fonts, 1 dirs /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts/type1: caching, new cache contents: 0 fonts, 1 dirs /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts/type1/ghostscript: caching, new cache contents: 35 fonts, 0 dirs /root/.guix-profile/share/fonts: skipping, no such directory /run/current-system/profile/share/fonts: caching, new cache contents: 0 fonts, 1 dirs /run/current-system/profile/share/fonts/truetype: caching, new cache contents: 2 fonts, 0 dirs /root/.local/share/fonts: skipping, no such directory /root/.fonts: skipping, no such directory /var/cache/fontconfig: cleaning cache directory /var/cache/fontconfig: invalid cache file: 2c2ac4e7133327c86cfe0fdaea0f270e-le32d4.cache-7 /root/.cache/fontconfig: not cleaning non-existent cache directory /root/.fontconfig: not cleaning non-existent cache directory fc-cache: succeeded feng@tumashu:~ $ ## 2. Normal user: # feng@tumashu:~ $ fc-cache -fv /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts: caching, new cache contents: 0 fonts, 1 dirs /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts/type1: caching, new cache contents: 0 fonts, 1 dirs /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts/type1/ghostscript: caching, new cache contents: 35 fonts, 0 dirs /home/feng/.guix-profile/share/fonts: skipping, no such directory /run/current-system/profile/share/fonts: caching, new cache contents: 0 fonts, 1 dirs /run/current-system/profile/share/fonts/truetype: caching, new cache contents: 2 fonts, 0 dirs /home/feng/.local/share/fonts: skipping, no such directory /home/feng/.fonts: caching, new cache contents: 5 fonts, 12 dirs /home/feng/.fonts/Luxi-Mono: caching, new cache contents: 4 fonts, 0 dirs /home/feng/.fonts/MonospaceTypewriter: caching, new cache contents: 1 fonts, 0 dirs /home/feng/.fonts/SourceHanSansSC: caching, new cache contents: 0 fonts, 2 dirs /home/feng/.fonts/SourceHanSansSC/SourceHanSansSC: caching, new cache contents: 7 fonts, 0 dirs /home/feng/.fonts/SourceHanSansSC/__MACOSX: caching, new cache contents: 0 fonts, 1 dirs /home/feng/.fonts/SourceHanSansSC/__MACOSX/SourceHanSansSC: caching, new cache contents: 0 fonts, 0 dirs /home/feng/.fonts/Win7仿宋及楷体: caching, new cache contents: 2 fonts, 0 dirs /home/feng/.fonts/courier: caching, new cache contents: 19 fonts, 0 dirs /home/feng/.fonts/my-like: caching, new cache contents: 13 fonts, 0 dirs /home/feng/.fonts/sabrina: caching, new cache contents: 1 fonts, 0 dirs /home/feng/.fonts/script mono: caching, new cache contents: 1 fonts, 4 dirs /home/feng/.fonts/script mono/scriptmonocondensed: caching, new cache contents: 1 fonts, 0 dirs /home/feng/.fonts/script mono/scriptmonocondenseditalic: caching, new cache contents: 1 fonts, 0 dirs /home/feng/.fonts/script mono/scriptmonoextended: caching, new cache contents: 1 fonts, 0 dirs /home/feng/.fonts/script mono/scriptmonoextendeditalic: caching, new cache contents: 1 fonts, 0 dirs /home/feng/.fonts/ubuntu-font-family-0.80: caching, new cache contents: 13 fonts, 0 dirs /home/feng/.fonts/winfonts: caching, new cache contents: 22 fonts, 0 dirs /home/feng/.fonts/wps_symbol: caching, new cache contents: 10 fonts, 0 dirs /home/feng/.fonts/方正兰亭黑: caching, new cache contents: 12 fonts, 0 dirs /var/cache/fontconfig: not cleaning unwritable cache directory /home/feng/.cache/fontconfig: cleaning cache directory /home/feng/.fontconfig: not cleaning non-existent cache directory fc-cache: succeeded #+END_EXAMPLE --
Re: "guix system vm": waiting for partition "my-home" to appear ...
Ricardo Wurmus writes: > Feng Shu writes: > >> Yestaday, I guix pull, and run "guix system wm MYCONFIG.scm" >> >> which run success and generate a sh file >> >> >> when I launch qemu with this sh file, I can see >> >> "waiting for partition XXX to appear ..." >> >> and can not boot properly. > > Guix will not partition the disk for you. In your configuration file > you say that there will be a partition called “my-home”, but you don’t > give qemu a disk with that name. "guix system vm" have this option to set a disk? --
Re: "font-wqy-microhei" installed but the font file can not be found by "fc-cache -f"
"Feng Shu" writes: Now, it works again, I don know the reason, maybe I run "sudo fc-cache -fv". > Alex Kost writes: > >> Feng Shu (2017-09-22 06:45 +0800) wrote: >> >>> --- >>> 851d0m0xsz4v0hjw98rypisxn34rq012-font-wqy-microhei-0.2.0-beta: >>> 总用量 864 >>> dr-xr-xr-x3 root root4096 1月 1 1970 . >>> drwxrwxr-t 1726 root guixbuild 872448 9月 22 06:35 .. >>> dr-xr-xr-x3 root root4096 1月 1 1970 share >>> -- >>> >>> The font file path: >>> >>> feng@tumashu:/gnu/store/851d0m0xsz4v0hjw98rypisxn34rq012-font-wqy-microhei-0.2.0-beta/share/fonts/wenquanyi >>> $ ls >>> wqy-microhei.ttc >>> feng@tumashu:/gnu/store/851d0m0xsz4v0hjw98rypisxn34rq012-font-wqy-microhei-0.2.0-beta/share/fonts/wenquanyi >>> $ >>> >>> Am I miss something? >> >> From your output it is not clear where you installed this font. In the >> system or user profile? > > I install this package in system profile with the help of my guixsd config > >> >> Also please show the output of "fc-cache -fv". > > 1. root > # > feng@tumashu:~ $ sudo fc-cache -fv > 密码: > /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts: > caching, new cache contents: 0 fonts, 1 dirs > /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts/type1: > caching, new cache contents: 0 fonts, 1 dirs > /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts/type1/ghostscript: > caching, new cache contents: 35 fonts, 0 dirs > /root/.guix-profile/share/fonts: skipping, no such directory > /run/current-system/profile/share/fonts: caching, new cache contents: 0 > fonts, 1 dirs > /run/current-system/profile/share/fonts/truetype: caching, new cache > contents: 2 fonts, 0 dirs > /root/.local/share/fonts: skipping, no such directory > /root/.fonts: skipping, no such directory > /var/cache/fontconfig: cleaning cache directory > /var/cache/fontconfig: invalid cache file: > 2c2ac4e7133327c86cfe0fdaea0f270e-le32d4.cache-7 > /root/.cache/fontconfig: not cleaning non-existent cache directory > /root/.fontconfig: not cleaning non-existent cache directory > fc-cache: succeeded > feng@tumashu:~ $ > > ## > > > > 2. Normal user: > > # > feng@tumashu:~ $ fc-cache -fv > /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts: > caching, new cache contents: 0 fonts, 1 dirs > /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts/type1: > caching, new cache contents: 0 fonts, 1 dirs > /gnu/store/dxfc87p84pbvl83v84si2yd00ni6jvrp-gs-fonts-8.11/share/fonts/type1/ghostscript: > caching, new cache contents: 35 fonts, 0 dirs > /home/feng/.guix-profile/share/fonts: skipping, no such directory > /run/current-system/profile/share/fonts: caching, new cache contents: 0 > fonts, 1 dirs > /run/current-system/profile/share/fonts/truetype: caching, new cache > contents: 2 fonts, 0 dirs > /home/feng/.local/share/fonts: skipping, no such directory > /home/feng/.fonts: caching, new cache contents: 5 fonts, 12 dirs > /home/feng/.fonts/Luxi-Mono: caching, new cache contents: 4 fonts, 0 dirs > /home/feng/.fonts/MonospaceTypewriter: caching, new cache contents: 1 fonts, > 0 dirs > /home/feng/.fonts/SourceHanSansSC: caching, new cache contents: 0 fonts, 2 > dirs > /home/feng/.fonts/SourceHanSansSC/SourceHanSansSC: caching, new cache > contents: 7 fonts, 0 dirs > /home/feng/.fonts/SourceHanSansSC/__MACOSX: caching, new cache contents: 0 > fonts, 1 dirs > /home/feng/.fonts/SourceHanSansSC/__MACOSX/SourceHanSansSC: caching, new > cache contents: 0 fonts, 0 dirs > /home/feng/.fonts/Win7仿宋及楷体: caching, new cache contents: 2 fonts, 0 dirs > /home/feng/.fonts/courier: caching, new cache contents: 19 fonts, 0 dirs > /home/feng/.fonts/my-like: caching, new cache contents: 13 fonts, 0 dirs > /home/feng/.fonts/sabrina: caching, new cache contents: 1 fonts, 0 dirs > /home/feng/.fonts/script mono: caching, new cache contents: 1 fonts, 4 dirs > /home/feng/.fonts/script mono/scriptmonocondensed: caching, new cache > contents: 1 fonts, 0 dirs > /home/feng/.fonts/script mono/scriptmonocondenseditalic: caching, new cache > contents: 1 fonts, 0 dirs > /home/feng/.fonts/script mono/scriptmonoextended: caching, new cache > contents: 1 fonts, 0 dirs > /home/feng/.fonts/script mono/scriptmonoextendeditalic: caching, new cache > contents: 1 fonts, 0 dirs > /home/feng/.fonts/ubuntu-font-family-0.80: caching, new cache contents: 13 > fonts, 0 dirs > /home/feng/.fonts/winfonts: caching, new cache contents: 22 fonts, 0 dirs > /home/feng/.fonts/wps_symbol: caching, new cache contents: 10 fonts, 0 dirs > /home/feng/.fonts/方正兰亭黑: caching, new cache contents: 12 fonts, 0 dirs > /var/cache/fontconfig: not cleaning unwritable cache directory > /home/feng/.cache/fontconfig: cleaning cache directory > /home/feng/.fontconfig: not cleaning non-existent cache directory > fc-cache: succeeded > > > #+END_EXAMPLE --
Re: Ctrl-Alt-F1,F2,F3 ... can not start a console.
Marius Bakke writes: > Feng Shu writes: > >> "Feng Shu" writes: >> >>> l...@gnu.org (Ludovic Courtès) writes: >>> >>>> Hi, >>>> >>>> "Feng Shu" skribis: >>>> >>>>> Yestaday, I reinstall my guixsd, and install xfce4 as my desktop. >>>>> A problem faced is that: When I press Ctrl-Alt-F1, F2, F3 ... >>>>> I can not start a tty, instead of start a slim login picture? >>>> >>>> Can you reproduce the problem in a VM created by ‘guix system vm’? >>>> (Note that in QEMU you need to do ctrl-1 to go to the QEMU console, then >>>> “sendkey ctrl-alt-f1”, and then ctrl-2 to switch back to the VM screen.) >>>> >>>> If not, could it be that the problem has to do with the graphics driver >>>> being used? >>> >>> qemu vm works well, may be it is graphics driver problem as you said, I >>> will wait to update driver, thanks for the help! >>> >>>> >> >> When I revert "gnu: xf86-video-ati: Update to 7.10.0." , it works well. >> >> 84023d2fa4a47e3ac0248d304324161c041858aa > > Uff. I suspect it's related to this snippet from the ChangeLog[0]: > > * The driver now takes measures to prevent other DRM master processes > (potentially from other local users) from accessing buffers created by > this driver while switched away to a different VT. Other DRM master > processes should only be able to access a single buffer anymore, which > contains only all-black pixels. > > Are you willing to report this bug upstream? See here for information: > > https://freedesktop.org/wiki/Software/xorg/ I don't fimilar xorg, and my English is poor, but I send a report https://bugs.freedesktop.org/show_bug.cgi?id=102948 > > We should probably revert this on 'master' meanwhile. Unfortunately I > don't have ATI hardware to test with, so it would be good if someone > else could try to reproduce this problem. Good idea > > [0] https://lists.x.org/archives/xorg-announce/2017-September/002806.html > --
Re: [bug#28564] [PATCH] gnu: Add emacs-cyberpunk-theme.
ng0 writes: > Feng Shu transcribed 1.6K bytes: > >> >> -- > > Hi! > > This package already exists, I added it a while back. > However you have version 1.19, so you could simply > send an update of it (and include other changes in > additional commits if you want to). > > Thanks Oh, sorry, I have sent a new patch to update cyberpunk package, please close this. --
Re: "guix system vm": waiting for partition "my-home" to appear ...
"Feng Shu" writes: > Ricardo Wurmus writes: > >> Feng Shu writes: >> >>> Yestaday, I guix pull, and run "guix system wm MYCONFIG.scm" >>> >>> which run success and generate a sh file >>> >>> >>> when I launch qemu with this sh file, I can see >>> >>> "waiting for partition XXX to appear ..." >>> >>> and can not boot properly. >> >> Guix will not partition the disk for you. In your configuration file >> you say that there will be a partition called “my-home”, but you don’t >> give qemu a disk with that name. > > "guix system vm" have this option to set a disk? today, I "guix pull" and run "guix system vm MYCONFIG.scm" again, the result qemu vm can run properly --
guix home: error: rmdir: No such file or directory
feng@Guix ~$ LC_ALL=C ihome-reconfig Cleaning up symlinks from previous home at /gnu/store/m70cycn4wkhqmk85pkh8jxspbnw35sw8-home. guix home: error: rmdir: No such file or directory --
Re: guix home: error: rmdir: No such file or directory
Feng Shu writes: > feng@Guix ~$ LC_ALL=C ihome-reconfig ihome-reconfig is an alias of guix home reconfigure myconfig > Cleaning up symlinks from previous home at > /gnu/store/m70cycn4wkhqmk85pkh8jxspbnw35sw8-home. > > guix home: error: rmdir: No such file or directory yestoday have no this problem, today I guix pull and move home-files-service-type (add "."), this issue is found. --
Update weblate.
https://hosted.weblate.org/projects/gnu-health seem to not be updated, when sync health hg to it? --
How to always keep build tree when run guix build.
Hello: How to always keep build tree when run guix build, at the moment, I use --keep-failed, but it will remove build tree when build success, the problem is that build success alway not right build success :-), I need go to build tree to check some thing. Thanks! --
Re: How to always keep build tree when run guix build.
Adam Faiz writes: > Hello, > >> Hello: >> >> How to always keep build tree when run guix build, at the moment, I >> use --keep-failed, but it will remove build tree when build success, the >> problem is that build success alway not right build success :-), I need >> go to build tree to check some thing. >> >> Thanks! >> >> >> -- > > You can add the `--cache-failures` option when starting the guix-daemon, > which tells it to keep the build failures by default. > It's explained in more detail in the "Invoking guix-daemon" section of the > Guix manual: > https://guix.gnu.org/en/manual/devel/en/html_node/Invoking-guix_002ddaemon.html Thanks, but I want to a way to keep build tree wlways, no matter build fail or success. --
Re: emacs.scm: Suggest add emacs-next or emacs-snapshot
l...@gnu.org (Ludovic Courtès) writes: > tumashu skribis: > >> Suggest add emacs-next or emacs-snapshot and let guile-emacs inherit it, The >> reason is that >> user can use it build emacs from emacs.git conveniently, for example: >> >> guix build emacs-snapshot --with-source=./emacs-snapshot-2015.tar.gz > > To use --with-source, all you need to do is to rename the tarball to > ‘emacs-2015.tar.gz’; after that, you can run: > > guix build emacs --with-source=emacs-2015.tar.gz > > That’s because --with-source expects the tarball name to match the > package name (info "(guix) Invoking guix build"). I don't think it is a flexible way, i like the below: guix build emacs --with-source=~/my-own-emacs-dir --override-name=emacs --override-version=2015 > > Now, it might make sense to also provide an ‘emacs-snapshot’ package, > built from a Git checkout and regularly updated. Would you like to try > that? > > I think the package would simply inherit from ‘guile-emacs’ and provide > a different ‘name’, ‘version’, and ‘source’. > > Thanks, > Ludo’. --
Re: emacs.scm: Suggest add emacs-next or emacs-snapshot
l...@gnu.org (Ludovic Courtès) writes: > Currently you have to do: > > guix package -i $(guix build emacs --with-source=…/emacs-2015.tar.gz) > > Not as convenient as one would like. I guess we could add --with-source > directly in ‘guix package’. I agree and suggest add a way which can override name and verison, for example: guix package -i emacs-snapshot --with-source=/path/to/emacs.git --override-name=emacs-snapshot --override-version=2015 --
Re: emacs.scm: Suggest add emacs-next or emacs-snapshot
> For non-trivial use cases, I would suggest writing a file like this: > > (use-modules (guix) (gnu packages emacs)) > > (package > (inherit emacs) > (name "emacs-snapshot") > (source "/path/to/some-file-or-directory.tar.gz")) > > and then run: > > guix package --install-from-file=that-file.scm > It is a good tip, thanks! --
Re: lightdm updates need to review.
jbra...@dismail.de writes: > Thanks for the submission Feng! > > Just a couple of things: > > 1) Try to send your email as plaintext, not html. Most developers prefer > plaintext emails. :) OK, :-) > > 2) I would encourage you to read this webpage: > https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html > >Essentially you should submit patches with "git send-email" >( https://git-send-email.io/ ), and you should submit patches to: >guix-patc...@gnu.org . Guix devel does not create an bug report. >BUT guix-patc...@gnu.org will create a correspending bug report at >issues.guix.gnu.org. > > Thanks again for helping guix! Yes, all patches has been sent to guix-patc...@gnu.org, see below: 1. https://issues.guix.gnu.org/75048 2. https://issues.guix.gnu.org/75043 3. https://issues.guix.gnu.org/75417 4. https://issues.guix.gnu.org/75186 > > > Joshua > A very helpful elf > > > January 7, 2025 at 8:39 PM, "Feng Shu" mailto:tuma...@163.com?to=%22Feng%20Shu%22%20%3Ctumashu%40163.com%3E > wrote: > > > >> >> Hello everyone. >> >> I have try many display-manager in guix: gdm, sddm, slim and lightdm, >> and finally find lightdm is very comfortable to use after it fix session >> menu dispear problem in gux: >> >> 1. it start very fast. >> 2. lightdm-gtk-greeter can change font, background easy. >> 3. it can support other greeters. >> >> I have send the below patches, please review them if someone have time, >> thanks, >> >> 1. Add lightdm-greeter-general-configuration and simplify code >> >> https://issues.guix.gnu.org/75048> >> with this configuration, user can use other greeter, for example: >> slick-greeter, lightdm-mini-greeter, lightdm-tiny-greeter or >> lightdm-pantheon-greeter easily. >> >> 2. Add slick-greeter >> >> https://issues.guix.gnu.org/75043> >> 3. Add lightdm-tiny-greeter >> >> https://issues.guix.gnu.org/75417> >> 4. Add lightdm-pantheon-greeter >> >> https://issues.guix.gnu.org/75186> >> For I use xfce4, so I just package some greeter using gtk, and do not >> package greeter using qt, if someone interesting, can try :-) >> >> the below is lightdm configuration to test: >> >> ``` >> (service lightdm-service-type >> (lightdm-configuration >> (greeters >> (list (lightdm-greeter-general-configuration >> (greeter-package slick-greeter) >> (greeter-session-name "slick-greeter") >> (greeter-config-name "slick-greeter.conf") >> (config (list "[Greeter]" >> "font-name = San 12" >> "background = >> /run/current-system/profile/share/backgrounds/guix/guix-checkered-16-9.svg"))) >> (lightdm-greeter-general-configuration >> (greeter-package lightdm-mini-greeter) >> (greeter-session-name "lightdm-mini-greeter") >> (greeter-config-name "lightdm-mini-greeter.conf") >> (config (list "[greeter]" >> "user = guest" >> "[greeter-hotkeys]" >> "mod-key = control" >> "session-key = e"))) >> (lightdm-greeter-general-configuration >> (greeter-package (customize-lightdm-tiny-greeter #:session "icewm")) >> (greeter-session-name "lightdm-tiny-greeter") >> (greeter-config-name "lightdm-tiny-greeter.conf") >> (config (list "## Lightdm-mini-greeter have no config, ignore it!"))) >> (lightdm-greeter-general-configuration) >> (lightdm-gtk-greeter-configuration >> (lightdm-gtk-greeter lightdm-gtk-greeter-gee) >> (extra-config >> (list "font-name = San 10" >> "icon-size = 64" >> "xft-dpi = 140" >> "clock-format = %Y-%m-%d %H:%M" >> ;; We need to use "~~" to generate a tilde, for >> ;; extra-config sting will be handle as >> ;; control-string of format function. >> "indicators = ~~host;~~spacer;~~session;~~a11y;~~clock;~~power") >> (seats >> (list (lightdm-seat-configuration >> (name "*") >> (greeter-session 'lightdm-tiny-greeter >> >> (xorg-configuration >> (xorg-configuration >> ;; The QXL virtual GPU driver is added to provide a better >> ;; SPICE experience. >> (modules (cons xf86-video-qxl >> %default-xorg-modules)) >> (keyboard-layout keyboard-layout) >> (server-arguments >> (append %default-xorg-server-arguments >> '("-dpi" "140"))) >> >> ``` >> >> -- >> --
lightdm updates need to review.
Hello everyone. I have try many display-manager in guix: gdm, sddm, slim and lightdm, and finally find lightdm is very comfortable to use after it fix session menu dispear problem in gux: 1. it start very fast. 2. lightdm-gtk-greeter can change font, background easy. 3. it can support other greeters. I have send the below patches, please review them if someone have time, thanks, 1. Add lightdm-greeter-general-configuration and simplify code https://issues.guix.gnu.org/75048 with this configuration, user can use other greeter, for example: slick-greeter, lightdm-mini-greeter, lightdm-tiny-greeter or lightdm-pantheon-greeter easily. 2. Add slick-greeter https://issues.guix.gnu.org/75043 3. Add lightdm-tiny-greeter https://issues.guix.gnu.org/75417 4. Add lightdm-pantheon-greeter https://issues.guix.gnu.org/75186 For I use xfce4, so I just package some greeter using gtk, and do not package greeter using qt, if someone interesting, can try :-) the below is lightdm configuration to test: ``` (service lightdm-service-type (lightdm-configuration (greeters (list (lightdm-greeter-general-configuration (greeter-package slick-greeter) (greeter-session-name "slick-greeter") (greeter-config-name "slick-greeter.conf") (config (list "[Greeter]" "font-name = San 12" "background = /run/current-system/profile/share/backgrounds/guix/guix-checkered-16-9.svg"))) (lightdm-greeter-general-configuration (greeter-package lightdm-mini-greeter) (greeter-session-name "lightdm-mini-greeter") (greeter-config-name "lightdm-mini-greeter.conf") (config (list "[greeter]" "user = guest" "[greeter-hotkeys]" "mod-key = control" "session-key = e"))) (lightdm-greeter-general-configuration (greeter-package (customize-lightdm-tiny-greeter #:session "icewm")) (greeter-session-name "lightdm-tiny-greeter") (greeter-config-name "lightdm-tiny-greeter.conf") (config (list "## Lightdm-mini-greeter have no config, ignore it!"))) (lightdm-greeter-general-configuration) (lightdm-gtk-greeter-configuration (lightdm-gtk-greeter lightdm-gtk-greeter-gee) (extra-config (list "font-name = San 10" "icon-size = 64" "xft-dpi = 140" "clock-format = %Y-%m-%d %H:%M" ;; We need to use "~~" to generate a tilde, for ;; extra-config sting will be handle as ;; control-string of format function. "indicators = ~~host;~~spacer;~~session;~~a11y;~~clock;~~power") (seats (list (lightdm-seat-configuration (name "*") (greeter-session 'lightdm-tiny-greeter (xorg-configuration (xorg-configuration ;; The QXL virtual GPU driver is added to provide a better ;; SPICE experience. (modules (cons xf86-video-qxl %default-xorg-modules)) (keyboard-layout keyboard-layout) (server-arguments (append %default-xorg-server-arguments '("-dpi" "140"))) ``` --
'./pre-inst-env guix build xxx' can not find packages in other channels.
Hello, I use the below channel setting: (service home-channels-service-type (cons* (channel (name 'nonguix) (url "https://gitlab.com/nonguix/nonguix";) ;; Enable signature verification: (introduction (make-channel-introduction "897c1a470da759236cc11798f4e0a5f7d4d59fbc" (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5" %default-channels)) but when I run ./pre-inst-env guix build unrar it can not find unrar, for unrar is a package in nonguix channel. use -L seem to work: ./pre-inst-env guix build unrar -L /path/to/nonguix.git my question is: how to let pre-inst-env work well with my channel setting, and no need to use -L in every command. --
the --share arguemnt of 'guix system vm' can not work now.
I have sent a bug, maybe it has been forgot, ping :-) See: https://issues.guix.gnu.org/77119 --
Re: './pre-inst-env guix build xxx' can not find packages in other channels.
Cayetano Santos writes: >>Fri 28 Mar 2025 at 08:54, Feng Shu wrote: > >> my question is: how to let pre-inst-env work well with my channel >> setting, and no need to use -L in every command. > > Are you aware of GUIX_PACKAGE_PATH ? YES, Now I use this variable. > --