Hi,
I am setting up a new macbook with an aarch64 architecture instead of x86. Most of the reinstalls are going great so far but this one doesn’t work
Building cheat-sh ...
warning: the flag '--override-input flox-floxpkgs/nixpkgs/nixpkgs flake:nixpkgs-stable' does not match any input
warning: the flag '--override-input target/flox-floxpkgs/nixpkgs/nixpkgs flake:nixpkgs-stable' does not match any input
error: attribute 'finalFlake' missing
at /nix/store/1mjmg6ypjik86j7c5npymiiim3vwd5h8-source/lib/capacitate/capacitate.nix:395:20:
394| systems = self.systems;
395| config = self.finalFlake.config;
| ^
396| }
ERROR: eval of path:/nix/store/w39szbhsdlinqy8wq52hh698vvgqg6fp-flox-0.0.8-r123/lib/catalog-ingest#analysis.eval.packages.aarch64-darwin.cheat-sh failed - see above
This is for this repository https://github.com/etorreborre/cheat.sh
. Do you have any idea of what can be done in that case?
Thanks
I did find a few issues, but I’m having trouble understanding the situation you are in. You mention this being part of setting up a new architecture.
- Are you struggling with instantiating an existing named environment on a new machine? (if so, can you share your floxmeta repo with me to help diagnose?)
- Are you trying to build cheat-sh (i didn’t have problems with this at your cheat.sh repo )
- Are you trying to perform a publish? (what commands did you run and options did you pick?)
Some notes:
- the specific capacitor library you seem to be using is a few months old
- your cheat.sh repo seems to be recently updated, and thus i’d expect a different set of warnings
- Are you struggling with instantiating an existing named environment on a new machine? (if so, can you share your floxmeta repo with me to help diagnose?)
Yes that’s the case. I have a new Mac M1 and I would like to install the packages that are published under GitHub - etorreborre/floxpkgs but that I built with an older Mac on a x86 architecture.
For example I tried to publish from my Mac M1 this tool GitHub - etorreborre/cmt: Write consistent git commit messages based on a custom template (let’s focus on this one which is more useful to me than cheat-sh for now).
Publishing works fine, I think you can see it here: https://github.com/etorreborre/floxpkgs/tree/main/catalog
But then when I try to install the package it is not found
± flox install commit-tool -e default error: Channel nixpkgs-flox does not contain evalCatalog.aarch64-darwin.stable.commit-tool
(use '--show-trace' to show detailed location information)
ERROR: failed to install packages: flake:nixpkgs-flox#evalCatalog.aarch64-darwin.stable.commit-tool
This has possibly something to do with a missing “arch” declaration somewhere?
Thank you.
Thanks for that context. That perfectly explains what is happening. The floxpkgs template has evolved and needs to be updated. You have a few options here depending on exactly how you made the repo, but the changes are pretty simple.
- (recommended if possible): in your floxpkgs repo, run:
git remote add flox git@github.com:flox/floxpkgs-template
git fetch flox
git rebase flox/main
flox flake update
# git add and commit as you see fit
curl https://raw.githubusercontent.com/flox/floxpkgs-template/main/flox.nix > flox.nix
curl https://raw.githubusercontent.com/flox/floxpkgs-template/main/flake.nix > flake.nix
flox flake update
# git add and commit as you see fit
In that template we are changing the name from “floxpkgs” to “flox-floxpkgs”, this is in order to allow new organizations to define and extend our baseline with their own, for example “etorreborre-floxpkgs”! As we continue development, the floxpkgs repo should be “refreshed” occasionally to keep the libraries and the framework up to date. Thanks for bearing with us as we’re making changes.
1 Like
I get it. Thanks I was able to build / publish and install the tools I needed.
I have another question though. See this session
± flox install cheat-sh -e default error: Channel nixpkgs-flox does not contain evalCatalog.aarch64-darwin.stable.cheat-sh
(use '--show-trace' to show detailed location information)
ERROR: failed to install packages: flake:nixpkgs-flox#evalCatalog.aarch64-darwin.stable.cheat-sh
± flox search cheat-sh etorreborre.cheat-sh - cheat.sh executable
stable.etorreborre.cheat-sh@1.0.0
± flox install stable.etorreborre.cheat-sh@1.0.0 -e default created generation 17
How come cheat-sh
is not found at first?
the relevant docs
The specification of what to install has some defaults that look roughly like this:
[stability.].[channel.]PACKAGENAME[@VERSION]
where
- default stability = “stable”
- default channel = “nixpkgs-flox”
- default version = “latest”
So in the first case it was trying to install stable.nixpkgs-flox.cheat-sh
which does not exist in Nixpkgs upstream. Though now that I look, there IS cht-sh which seems to be 5 commits behind your fork. I’m not sure why it was originally named in this way: original PR So
flox install cht-sh
does work.
1 Like
I see, thanks for the explanation (which I think I already had before :-D)