Hello!
On 2/19/22 08:30, Liliana Marie Prikler wrote:
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,
Zelphir
I 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