Skip to content

kouloumos/my-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Toolkit

A collection of personal utility scripts and services for NixOS systems. This toolkit provides a unified interface for managing and running various shell scripts, Python utilities, and systemd services.

Features

Installation

For Development: If you are contributing or testing changes, see the Development section for a faster workflow using nix develop.

Add the toolkit to your NixOS configuration by adding the following to your flake.nix:

inputs = {
  my-toolkit.url = "github:kouloumos/my-toolkit";
  # ... your other inputs
};

Then in your configuration.nix:

imports = [
  inputs.my-toolkit.nixosModules.default
];

# Enable the toolkit
my-toolkit.enable = true;

# Optionally enable specific services
my-toolkit.services = {
  media-renamer = true;
  ebook-organizer = true;
};

After making changes to your configuration, rebuild your system:

sudo nixos-rebuild switch

Usage

Command-Line Interface

The my-toolkit command provides a unified interface for all your scripts:

# List all available scripts
my-toolkit list

# Run a shell script
my-toolkit video2gif input.mp4

# Run a Python script
my-toolkit book-downloader

Available Scripts

Shell Scripts

Python Scripts

Systemd Services

The toolkit includes several systemd services that can be enabled individually. To see which services are available and their status:

my-toolkit list

For more information about each service and how to add new ones, see the Systemd Services README.

Development

Development Workflow

For development and testing, simply use the development environment:

# Clone the repository
git clone https://github.com/kouloumos/my-toolkit.git
cd my-toolkit

# Enter development environment (instant)
nix develop

# Test scripts directly from source
my-toolkit video2gif input.mp4
my-toolkit book-downloader

# Or run scripts without entering the shell
nix develop --command my-toolkit video2gif input.mp4

This approach provides instant feedback - any changes you make to scripts are immediately available for testing without rebuilding your system.

Project Structure

my-toolkit/
├── shell_scripts/     # Shell script utilities
├── python_scripts/    # Python-based utilities
├── systemd_services/  # Systemd service definitions
├── default.nix        # Main package definition
└── flake.nix         # Nix flake configuration

Adding New Scripts

  1. Add shell scripts to shell_scripts/ or Python scripts to python_scripts/
  2. Update default.nix with any new dependencies
  3. Rebuild the package

License

MIT License

About

An opinionated collection of utility scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •