Add ham radio profile with FLEcli package

Introduces a custom packages overlay (pkgs/) for packages not in nixpkgs.
Adds FLEcli v0.1.7 for processing amateur radio logs (SOTA, POTA, WWFF).
Enables ham-radio profile on beefy.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-25 10:31:53 +00:00
parent 1af9053cd5
commit 29043896c8
5 changed files with 47 additions and 1 deletions

8
common/ham-radio.nix Normal file
View File

@@ -0,0 +1,8 @@
# ABOUTME: Ham radio tools profile for amateur radio operators.
# ABOUTME: Provides CLI tools for logging and processing ham radio contacts.
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.custom.flecli
];
}

View File

@@ -67,6 +67,8 @@
browser-previews = browser-previews.packages.${prev.stdenv.hostPlatform.system};
};
overlay-custom = import ./pkgs;
mkHost =
system: profile: modules:
let
@@ -79,7 +81,7 @@
(
{ config, pkgs, ... }:
{
nixpkgs.overlays = [ overlay-unstable overlay-browser-previews ];
nixpkgs.overlays = [ overlay-unstable overlay-browser-previews overlay-custom ];
nixpkgs.config.allowUnfree = true;
}
)

View File

@@ -7,6 +7,7 @@
../../common/cluster-member.nix # Consul + storage clients
../../common/cluster-tools.nix # Nomad CLI (no service)
../../common/docker.nix # Docker daemon
../../common/ham-radio.nix # Ham radio tools (FLEcli)
./hardware.nix
];

7
pkgs/default.nix Normal file
View File

@@ -0,0 +1,7 @@
# ABOUTME: Custom packages overlay for packages not in nixpkgs.
# ABOUTME: Adds packages under pkgs.custom.* namespace.
final: prev: {
custom = {
flecli = final.callPackage ./flecli.nix { };
};
}

28
pkgs/flecli.nix Normal file
View File

@@ -0,0 +1,28 @@
# ABOUTME: FLEcli - Fast Log Entry CLI for amateur radio logging.
# ABOUTME: Processes FLE-formatted files into ADIF for SOTA, POTA, WWFF, etc.
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "flecli";
version = "0.1.7";
src = fetchFromGitHub {
owner = "on4kjm";
repo = "FLEcli";
rev = "v${version}";
hash = "sha256-6OFcShgUaK9RwonP6cl8eOD6Cu+F5LHZEUFPjCfWNV0=";
};
vendorHash = "sha256-6m01rcewPyy8pUXnIMwjyW+7I08pyJaTDliwTNp3fOM=";
meta = with lib; {
description = "Fast Log Entry CLI - process amateur radio logs";
homepage = "https://github.com/on4kjm/FLEcli";
license = licenses.mit;
mainProgram = "FLEcli";
};
}