unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Trying to create a .zshrc in guix home environment referencing a zsh plugin
@ 2024-01-20 23:18 A
  2024-01-21 12:10 ` Saku Laesvuori
  0 siblings, 1 reply; 3+ messages in thread
From: A @ 2024-01-20 23:18 UTC (permalink / raw)
  To: help-guix

Hi!

I'm trying Guix for my home environment (on a non-Guix distribution). The problem I am facing is when I try to use the `zsh-syntax-highlighting' plugin in my .zshrc through home configuration.

Following is my configuration (config.scm):

------------------------------------------
(use-modules
 (srfi srfi-1)
 (guix build utils)
 (gnu home)
 (gnu home services)
 (gnu home services shells)
 (gnu services)
 (gnu packages)
 (gnu packages admin)
 (gnu packages base)
 (gnu packages guile)
 (gnu packages emacs)
 (gnu packages certs)
 (gnu packages rust-apps)
 (gnu packages tmux)
 (gnu packages search)
 (gnu packages shellutils)
 (gnu packages terminals)
 (guix gexp))


(home-environment
 (packages (specifications->packages
            (list "htop" "guile" "glibc-locales" "emacs-no-x" "zoxide" "guix"
                  "guile-readline" "guile-colorized" "git" "tmux" "fzf"
                  "emacs-use-package" "emacs-paredit" "emacs-geiser-guile"
                  "emacs-rainbow-delimiters" "emacs-magit" "ripgrep" "ugrep"
                  "direnv" "neovim")))
 (services
  (list
   (service home-xdg-configuration-files-service-type
            `(("tmux/tmux.conf" ,(local-file "files/tmux.conf"))))

   (service home-files-service-type
            `((".emacs.d/init.el" ,(local-file "files/init.el"))
        (".guile"
               ,(scheme-file "dot-guile"
                             '((use-modules (ice-9 readline) (ice-9 colorized))
                               (activate-readline)
                               (activate-colorized)) #:splice? #t))))

   (service home-zsh-service-type
            (home-zsh-configuration
             (xdg-flavor? #t)
             (zshrc (list (computed-file "zshrc"
                                      #~(begin (reduce string-append "" (list "bindkey -e\n"
                                                                              (format #f "source ~s/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh\n" #$zsh-syntax-highlighting)
                                                                              "eval \"$(direnv hook zsh)\"\n"
                                                                              "eval \"$(zoxide init zsh)\"\n"))))))
             (environment-variables
              `(("HISTFILE" . "$XDG_CACHE_HOME/.zsh_history")
                ("GIT_SSL_CAPATH" . ,#~(string-append #$nss-certs "/etc/ssl/certs"))
                ("HISTSIZE" . "15000"))))))))
------------------------------------------

And I receive following error:

------------------------------------------
$ guix time-machine -C ./channels.scm -- home reconfigure config.scm
guix home: error: reference to invalid output 'out' of derivation '/gnu/store/2dqwm651a0p0vqwhpvsy7dn8zvx4n99x-zshrc.drv'
------------------------------------------

And if it's of any importance, following are the contents of "./channels.scm":

------------------------------------------
(list (channel
       (name 'guix)
       (url "https://git.savannah.gnu.org/git/guix.git")
       (branch "master")
       (commit "17187aab61b064aff42a0fe911313011b7162de5")

       (introduction
        (make-channel-introduction
         "9edb3f66fd807b096b48283debdcddccfea34bad"
         (openpgp-fingerprint
          "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA")))))
------------------------------------------


Thanks in advance for any help

--
Abbe



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Trying to create a .zshrc in guix home environment referencing a zsh plugin
  2024-01-20 23:18 Trying to create a .zshrc in guix home environment referencing a zsh plugin A
@ 2024-01-21 12:10 ` Saku Laesvuori
  2024-01-21 17:51   ` Abbé
  0 siblings, 1 reply; 3+ messages in thread
From: Saku Laesvuori @ 2024-01-21 12:10 UTC (permalink / raw)
  To: A; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 1528 bytes --]

> [reformatted]
>
> (zshrc
>  (list (computed-file
>         "zshrc"
>         #~(begin
>             (reduce string-append ""
>                     (list "bindkey -e\n"
>                           (format #f "source ~s/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh\n"
>                                   #$zsh-syntax-highlighting)
>                           "eval \"$(direnv hook zsh)\"\n"
>                           "eval \"$(zoxide init zsh)\"\n"))))))

The gexp passed to computed-file should produce a file when built
(evaluated)[1]. Your gexp doesn't create any files or directories, it just
evaluates to a string. Try using mixed-text-file[2] instead.

It is not relevant to this error, but I think your path to
zsh-syntax-highlighting.zsh is wrong. In my configuration it is
"/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh".

[1]: https://guix.gnu.org/manual/devel/en/guix.html#index-computed_002dfile
[2]: https://guix.gnu.org/manual/devel/en/guix.html#index-mixed_002dtext_002dfile

> And I receive following error:
> 
> ------------------------------------------
> $ guix time-machine -C ./channels.scm -- home reconfigure config.scm
> guix home: error: reference to invalid output 'out' of derivation '/gnu/store/2dqwm651a0p0vqwhpvsy7dn8zvx4n99x-zshrc.drv'
> ------------------------------------------

The error says that the derivation (created by computed-file) does not
produce an output named out (because the gexp doesn't produce any
outputs).

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Trying to create a .zshrc in guix home environment referencing a zsh plugin
  2024-01-21 12:10 ` Saku Laesvuori
@ 2024-01-21 17:51   ` Abbé
  0 siblings, 0 replies; 3+ messages in thread
From: Abbé @ 2024-01-21 17:51 UTC (permalink / raw)
  To: Saku Laesvuori; +Cc: help-guix

On Sunday, January 21st, 2024 at 1:10 PM, Saku Laesvuori <saku@laesvuori.fi> wrote:

> > [reformatted]
> > 
> > (zshrc
> > (list (computed-file
> > "zshrc"
> > #~(begin
> > (reduce string-append ""
> > (list "bindkey -e\n"
> > (format #f "source ~s/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh\n"
> > #$zsh-syntax-highlighting)
> > "eval \"$(direnv hook zsh)\"\n"
> > "eval \"$(zoxide init zsh)\"\n"))))))
> 
> 
> The gexp passed to computed-file should produce a file when built
> (evaluated)[1]. Your gexp doesn't create any files or directories, it just
> evaluates to a string. Try using mixed-text-file[2] instead.
> 
> It is not relevant to this error, but I think your path to
> zsh-syntax-highlighting.zsh is wrong. In my configuration it is
> "/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh".
> 
> [1]: https://guix.gnu.org/manual/devel/en/guix.html#index-computed_002dfile
> [2]: https://guix.gnu.org/manual/devel/en/guix.html#index-mixed_002dtext_002dfile
> 
> > And I receive following error:
> > 
> > ------------------------------------------
> > $ guix time-machine -C ./channels.scm -- home reconfigure config.scm
> > guix home: error: reference to invalid output 'out' of derivation '/gnu/store/2dqwm651a0p0vqwhpvsy7dn8zvx4n99x-zshrc.drv'
> > ------------------------------------------
> 
> 
> The error says that the derivation (created by computed-file) does not
> produce an output named out (because the gexp doesn't produce any
> outputs).

This makes sense. Thank you very much!

--
Abbé



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-01-25 15:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-20 23:18 Trying to create a .zshrc in guix home environment referencing a zsh plugin A
2024-01-21 12:10 ` Saku Laesvuori
2024-01-21 17:51   ` Abbé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).