veltrix
Practical Unix utilities, paths, and Unicode emoji data for Rust.
veltrix is a lightweight Rust crate focused on useful Unix-first APIs, generated Unicode emoji metadata, and ergonomic developer helpers.
It is designed for projects that want clean utilities without pulling in large frameworks or overly broad abstractions.
Features
- 🐧 Unix identity, process, and environment helpers
- 📁 Path utilities for common user locations
- 😀 Generated Unicode emoji dataset
- 🔎 Emoji names, groups, versions, and keywords
- ⚙️ Feature-gated modules
- 🦀 Small, Rust-first APIs
Installation
[]
= "0.1"
Optional features:
= { = "0.1", = [
"paths",
"full",
] }
Feature Flags
| Feature | Enables |
|---|---|
paths |
Path-related helpers |
full |
All optional features |
Modules
veltrix::unistd
Unix-only helpers for users, groups, processes, and environment.
Core Identity
use *;
let uid = getuid;
let euid = geteuid;
let gid = getgid;
let pid = getpid;
println!;
Available types and functions:
UidGidPidgetuid()geteuid()getgid()getegid()getpid()getppid()
User / Group Lookup
use *;
let root = uid_by_username;
let user = username_by_uid;
let groups = groups_for_uid;
Available helpers:
username_by_uid()uid_by_username()groupname_by_gid()gid_by_groupname()primary_gid_by_uid()groups_for_uid()
Host / Process Environment
use *;
let host = gethostname?;
let cwd = getcwd?;
let home = home_dir;
chdir?;
Available helpers:
gethostname()getcwd()chdir()home_dir()
Privilege Helpers
use *;
if is_effective_root
if user_in_admin_group
Available helpers:
is_root()is_effective_root()user_in_group()user_in_admin_group()has_common_admin_group()
Admin group helpers are convenience heuristics and not authoritative privilege checks.
veltrix::paths
Helpers for common user and application paths.
let bin = user_bin_path?;
println!;
veltrix::emojis
Generated Unicode emoji metadata with search-friendly fields.
use ALL;
for emoji in ALL.iter.take
Each emoji entry includes:
- emoji character
- canonical name
- group
- subgroup
- codepoints
- keywords
- emoji version
Design Goals
veltrix is built around:
- practical APIs first
- small focused modules
- low runtime overhead
- strong types where useful
- generated static data
- no unnecessary complexity
Platform Support
Unix
Primary supported target.
Examples:
- Linux
- macOS
- BSD
- other Unix-like systems
Windows
Not currently supported.
Windows compatibility is not a present goal.
Stability
veltrix is pre-release. APIs may evolve before 1.0.
Roadmap
Backlog
- richer emoji keyword sources
- additional path helpers
- more Unix utilities
- improved search APIs
- expanded documentation
License
MIT OR Apache-2.0