Skip to content

fizzy33/a8-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

138 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

a8-scripts

Accur8 build and deployment scripts collection.

Installation

Using Nix Flakes (Recommended)

This repository is packaged as a Nix flake, making it easy to use as an input in other flake-based projects.

As a flake input

Add to your flake.nix:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
    a8-scripts.url = "github:fizzy33/a8-scripts";
  };

  outputs = { self, nixpkgs, a8-scripts, ... }: {
    # Use in your packages
    packages.x86_64-linux.myPackage = pkgs.mkDerivation {
      buildInputs = [
        a8-scripts.packages.x86_64-linux.default
        # or
        a8-scripts.packages.x86_64-linux.a8-scripts
      ];
      # ...
    };
  };
}

Using the overlay

The flake provides an overlay that adds a8-scripts to nixpkgs:

{
  outputs = { self, nixpkgs, a8-scripts, ... }: {
    nixosConfigurations.mySystem = nixpkgs.lib.nixosSystem {
      modules = [
        {
          nixpkgs.overlays = [ a8-scripts.overlays.default ];
          # Now you can use pkgs.a8-scripts anywhere
          environment.systemPackages = [ pkgs.a8-scripts ];
        }
      ];
    };
  };
}

Building directly

# Build the package
nix build github:fizzy33/a8-scripts

# Run in a shell
nix shell github:fizzy33/a8-scripts

# Enter development shell
nix develop github:fizzy33/a8-scripts

Legacy Usage (without flakes)

For systems not using flakes, you can still import the package using the traditional Nix approach:

let
  a8-scripts-src = builtins.fetchGit {
    url = "https://github.com/fizzy33/a8-scripts.git";
    ref = "master";
  };

  a8-scripts = (import "${a8-scripts-src}/default.nix" {
    inherit (pkgs) system python3 openjdk11_headless makeWrapper lib stdenv;
    src = a8-scripts-src;
  }).a8-scripts;
in
  # Use a8-scripts in your derivation
  pkgs.mkDerivation {
    buildInputs = [ a8-scripts ];
    # ...
  }

Available Commands

After installation, the following commands will be available:

  • a8-versions - Version management tool
  • a8-codegen - Code generation utilities
  • a8-zero - Zero deployment tool
  • a8-zoo - Zoo management utilities
  • honeybadger - Honeybadger integration
  • coursier - Coursier dependency management
  • a8-launcher.py - Python launcher script

Development

To work on a8-scripts locally:

# Clone the repository
git clone https://github.com/fizzy33/a8-scripts.git
cd a8-scripts

# Enter development shell
nix develop

# Build the package
nix build

# Test the build
./result/bin/a8-versions --help

Flake Outputs

The flake provides the following outputs:

  • packages.${system}.default - The main a8-scripts package
  • packages.${system}.a8-scripts - Same as default, explicit name
  • overlays.default - Overlay that adds a8-scripts to nixpkgs
  • devShells.${system}.default - Development shell with a8-scripts

Requirements

  • Nix 2.4+ with flakes enabled (for flake usage)
  • Nix (any version for legacy usage)

License

See LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors