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
Add the toolkit to your NixOS configuration by adding the following to your configuration.nix:
let
scriptsFlake = builtins.getFlake "path:/path/to/my-toolkit";
in
{
imports = [
scriptsFlake.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 switchThe 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-downloadervideo2gif: 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 listFor more information about each service and how to add new ones, see the Systemd Services README.
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.nixwith any new dependencies - Rebuild the package
MIT License