NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.34k stars 14.3k forks source link

Package request: Radius #322623

Open lasse16 opened 5 months ago

lasse16 commented 5 months ago

Project description A new microsoft-backed suite of tools to describe infrastructure configuration. Application developers can describe their needed infrastructure as building blocks, like ' redis cache' and infrastructure maintainers define recipes that match ' redis cache' , but are setup for different environments.

Metadata

Add a :+1: reaction to issues you find important.

lasse16 commented 5 months ago

I attempted to do it myself, and managed to get the main cli tool built with this flake:

{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";
  };

  outputs = {
    self,
    nixpkgs,
  }: let
    pkgs = import nixpkgs {system = "x86_64-linux";};
  in {
    packages.x86_64-linux.radius-cli = pkgs.buildGoModule rec {
      pname = "rad";
      version = "0.35.0";

      src = pkgs.fetchFromGitHub {
        owner = "radius-project";
        repo = "radius";
        rev = "v${version}";
        hash = "sha256-prFEeGmbd88t4wLIDpz42DCLAl6/xxgSvPatnKc9+Zs=";
      };
      vendorHash = "sha256-do8ea+TB6DpqAicaruIXdJC/hklhlDVwRwNEcKObxBs=";
      CGO_ENABLED = 0;
      excludedPackages = ["test/"];
      doCheck = false;
    };
    packages.x86_64-linux.default = self.packages.x86_64-linux.radius-cli;
  };
}

but the main challenge comes from the forked biceps compiler they use. It can normally be downloaded and installed with rad bicep download which downloads the tool but the compiler fails on nix with failed executing "~/.rad/bin/rad-bicep --version": fork/exec ~/.rad/bin/rad-bicep: no such file or directory)

The bicep compiler is here and it's a c# project. That compiler is per default installed into the radius config dir which is ~/.rad/bin.