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.
- Unified Command Interface:
my-toolkit
- Shell Scripts
- Python Scripts
- Systemd Services
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
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
video2gif
: Converts video files to optimized GIF formatmerge_videos
: Merges multiple WebM video files
book-downloader
: Downloads e-books from various sourcestxt-to-docx
: Converts text files to DOCX format
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.
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.
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
- Add shell scripts to
shell_scripts/
or Python scripts topython_scripts/
- Update
default.nix
with any new dependencies - Rebuild the package
MIT License