Hello!
Hi, Am Samstag, dem 19.02.2022 um 02:34 +0000 schrieb Zelphir Kaltstahl:So I deleted and built the emacs profile again using `guix package -- manifest="${GUIX_EXTRA_PROFILES}"/emacs-profile-manifest.scm -- profile="${GUIX_EXTRA_PROFILES}"/emacs-profile`. However, no luck. Still magit cannot be loaded. Still saying that: ~~~~ Unable to activate package ‘magit’. Required package ‘git-commit-3.3.0’ is unavailable ~~~~ Not sure what else I can try. Best regards, ZelphirI think there might be something fundamentally wrong here. On a pretty recent git checkout (using pre-inst-env) I can `guix shell -C emacs emacs-magit -E TERM -- emacs' and inside the spawned emacs (require 'magit) works without any issues. Cheers
I have now tried again with `guix environment` instead of using
profiles. I faced the same issue as with the profile. As soon as
emacs-magit is installed via guix, I get the error in the
`*Messages*` buffer. Then I read about `guix shell` and learned,
that it is to replace `guix environment`. Didn't know that. Guess
I should change my usage. So that is what I did next. Changed the
`guix environment` command in my script to `guix shell`.
It should be reproducible using the following steps, unless guix itself has an issue and creates non-reproducible environments:
`channels.scm` file at
`~/.guix-extra-profiles/emacs-env/channels.scm`:
~~~~ (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (branch "master") (commit "b731d34ed796ad3ca1cfba6e08369ffd6dcb57bf") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) ~~~~
`manifest.scm` file at
`~/.guix-extra-profiles/emacs-env/manifest.scm`:
~~~~ (specifications->manifest '("emacs" "emacs-auto-complete" "emacs-company" "emacs-dockerfile-mode" "emacs-editorconfig" "emacs-erlang" "emacs-exec-path-from-shell" "emacs-flycheck" "emacs-geiser" "emacs-geiser-guile" "emacs-geiser-racket" "emacs-goto-chg" "emacs-jinja2-mode" "emacs-json-mode" "emacs-magit" "emacs-markdown-mode" "emacs-moe-theme-el" "emacs-monokai-theme" "emacs-multiple-cursors" "emacs-neotree" "emacs-ob-async" "emacs-org" "emacs-ox-gfm" "emacs-pkg-info" "emacs-project" ;; "emacs-python-environment" "emacs-racket-mode" "emacs-sml-mode" "emacs-toml-mode" ;; "emacs-typescript-mode" "emacs-undo-tree" "emacs-web-mode" "emacs-yaml-mode" "emacs-yasnippet" "guile" "guile-colorized" "guile-fslib" "guile-json" "guile-readline" "racket")) ~~~~
`env.sh` script to run Emacs at
`~/.guix-extra-profiles/emacs-env/env.sh`:
~~~~ #!/usr/bin/env bash set -Eeuxo pipefail DIR="~/.guix-extra-profiles/emacs-env/" guix time-machine \ --channels="${DIR}/channels.scm" -- \ shell \ --cores=4 \ --manifest="${DIR}/manifest.scm" -- \ emacs ~~~~
With those in place run:
~~~~ bash ~/.guix-extra-profiles/emacs-env/env.sh ~~~~
However, I have now found out, that the `-C` flag is `--container`, which I am not using! So I tried to use `--container` with the `guix shell` command and, what a surprise, the error in Emacs disappeared!
Now of course the question is, how does `--container` affect the `emacs-magit` package? What is Emacs reading, that affects Magit and even prevents it from loading the dependency `git-commit`?
If I find out more, I'll let you know.
Best regards and thanks for the patience,
Zelphir
-- repositories: https://notabug.org/ZelphirKaltstahl