This repo is a collection of functions and tools which I find useful in my daily tool building for Systemadministration with Go.
I've exposed it to access it easier with go get, from anywhere.
Going Forward 2025-08-03
I advise you to fork this repository if you want to use it,
as I will migrate to a slightly different name GoSynUtils as well as trying to go for 0 dependencies.
Also I made the wrong assumption that I needed to capitalize package to export them. You only need to export it's members.
Package Overview
Archive: Functions related to compressible artifacts, like zip, tar, gzip, bzip2
Byte: byte manipulation
Cmd: Functions to control and interact with the command line
Data: Structs and functions to handle complex data structures, like heaps and tries
File: Functions to handle file operations, like copying and moving
IO: Functions to handle input and output streams
JSON: Functions to handle JSON data (should be merged with other serialization packages)
Math: Functions to handle mathematical operations, which are not covered by the standard library
OS: Functions to handle operating system interactions like process management and system information
Path: Functions to handle file paths, like joining, splitting, etc. (should probably be merged under pkg File)
Self: Special package to handle the current executable, like getting its path and name (looking to be merged under another pkg)
Slice: Functions to handle slice operations
Str: Functions to handle string operations, like string building, reversing, and validation.
UI: Progress bar and other UI related functions, like printing to the console. (only ProgressBar is implemented so far and should be merged under pkg IO or Cmd)
License
This repository is licensed under the Boost Software License 1.0. See LICENSE