arm64nixnix-flake

nix develop aarch64 flake


I'm trying to write a nix flake that produces a shell to compile a tex project from two different systems: One linux x86_64 and one MacOs aarch64-darwin.

I'm quite new to nix and flakes, so I took the example flake given on the nixos wiki "Super fast nix-shell". It works well on linux x86 but nix develop fails on MacOs and I can't figure out where is the problem.

Here are my flake.nix and shell.nix:

{
  description = "Build Shell with any dependency of the project";

  inputs.flake-utils.url = "github:numtide/flake-utils";

  outputs = { self, nixpkgs, flake-utils }:
    flake-utils.lib.eachDefaultSystem
      (system:
        let pkgs = nixpkgs.legacyPackages.${system}; in
        {
          devShells.default = import ./shell.nix { inherit pkgs; };
        }
      );
}
{ pkgs ? import <nixpkgs> {} }:
  let
    tex = pkgs.texlive.combine
      {
        inherit (pkgs.texlive)
          scheme-medium
          pgf
          standalone
          minted
          tcolorbox
          environ
          tabto-ltx
          circuitikz
          lastpage
          tabularray
          pygmentex
          ninecolors
          multirow;
      };
  in
    pkgs.mkShell
      {
        nativeBuildInputs = [ pkgs.python310Packages.pygments tex ];
      }

When using 'nix develop' on MacOs, I get the following error:

error: flake 'git+file:///PATH_TO_FLAKE' does not provide attribute 'devShells.aarch64-darwin.devShell.aarch64-darwin', 'packages.aarch64-darwin.devShell.aarch64-darwin', 'legacyPackages.aarch64-darwin.devShell.aarch64-darwin', 'devShell.aarch64-darwin' or 'defaultPackage.aarch64-darwin'

Solution

  • I finally got it to work as intended. No problem in my flake, I found out that my nix installation was outdated and in a strange state that couldn't be updated. The solution was to completely uninstall nix and start over from a clean up to date install.