volllly/rotz

Fully cross platform dotfile manager and dev environment bootstrapper written in Rust

This project is still in development

Rotz 👃

.

Rust Dotfilemanager
Rust Dotfile manager
Rust Dotfile s
Rust Dot s
R ust Dots
R ots
Rot s
Rotz

Rotz is an evolution of Dotted.

Status

.

Expect more features in the next release.

Roadmap

Documentation [in development]

Overview

Rotz has three main functionalities:

  1. Linking dotfiles from a common repository to your system
  2. Installing the applications you need to start working on an new/empty machine
  3. Full Cross platform functionality See Configuration

Installation

You can install Rotz using cargo.

cargo install rotz

Other File Formats

Rotz uses yaml configuration files per default. You can also use toml or json files instead.

To use another format install Rotz using one of the following comands:

  • cargo install rotz --no-default-features --features toml
    
  • cargo install rotz --no-default-features --features json
    

Getting Started

If you already have a dotfiles repo you can clone it with the rotz clone command.

rotz clone [email protected]:<user>/<repo>.git

To bootstrap your dev environment use rotz install.

To link your dotfiles use rotz link.

Usage

Run rotz --help to see all commands Rotz has.

Contribute

Feel free to create pull requests and issues for bugs, features or questions.

Issues

Collection of the latest Issues

HeyItsJono

HeyItsJono

question
Comment Icon2

Hey there, I'm looking for a crossplatform dotfile managing solution, and stumbled across Dotted/Rotz. My main OS is Windows but I have several devices running several different Linux distros. I'm happy to keep using scoop/other package managers to managing installing/uninstalling/updating programs, but I was just wondering if Rotz was ready to use now purely as an alternative to stow for dotfile managing, or if I should use something else in the meantime?

Versions

Find the latest versions by id

v0.4.1 - Jun 30, 2022

Fixed

  • Wildcard "*" in install command not working
  • Defaults and global values in dot.(yaml|toml|json) files not working correctly

v0.4.0 - Jun 29, 2022

Added

  • Global --dry-run cli parameter
  • Implemented install command functionality
  • Option to skip installing dependences in install command
  • Option to continue on installation error in install command
  • Support for a repo level config file. You can now add a config.(yaml|toml|json) file containing os specific defaults to the root of your dotfiles repo.
  • shell_command configuration parameter

Changed

  • Improved Error messages

Fixed

  • Parsing of dot.(yaml|toml|json) files in the installs section

Removed

  • Removed the update command. Updates to the applications should be performed by your packagemanager.

v0.3.2 - Jun 28, 2022

Fixed

  • Linking now also creates the parent directory if it's not present on windows

v0.3.1 - May 27, 2022

Added

  • Added error codes and help messages

Changed

  • Refactored the command code

Fixed

  • Linking now also creates the parent directory if it's not present

v0.3.0 - May 09, 2022

Added

  • clone command creates a config file with the repo configured if it does not exist
  • Started adding unit tests

Changed

  • Better error messages
  • Moved from eyre to miette for error handline

v0.2.0 - Feb 21, 2022

Added

  • Added clone command

Fixed

  • Fixed link command default value for Dots not working

v0.1.0 - Feb 18, 2022

Added

  • Cli parsing
  • Config parsing
  • yaml support
  • toml support
  • json support
  • Dotfile linking
  • Error handling

Information - Updated Aug 02, 2022

Stars: 9
Forks: 0
Issues: 7

Repositories & Extras

Misc

248

A CLI tool to easily get a new project up and running by using pre-made...

A rust cross platform rust boilerplate template to get up and running quickly

A CLI tool to easily get a new project up and running by using pre-made...

HAL : Hyper Adaptive Learning

Rust based Cross-GPU Machine Learning

HAL : Hyper Adaptive Learning

A crossplatform Rust bindings for the soloud audio engine library

Supported formats: wav, mp3, ogg, flac

A crossplatform Rust bindings for the soloud audio engine library

🐏 rpmalloc-rs

Cross-platform Rust global memory allocator using rpmalloc README for a detailed description of how the allocator works, peforms, and compares with other allocators

🐏 rpmalloc-rs

Rust crate providing cross-platform information about the notebook batteries

battery provides a cross-platform unified API to a notebook batteries state

Rust crate providing cross-platform information about the notebook batteries

rust-clipboard is a cross-platform library for getting and setting the contents of the OS-level clipboard

It has been tested on Windows, Mac OSX, GNU/Linux, and FreeBSD

rust-clipboard is a cross-platform library for getting and setting the contents of the OS-level clipboard

A cross platform Rust library for efficiently walking a directory recursively

Comes with support for following symbolic links, controlling the number of

A cross platform Rust library for efficiently walking a directory recursively

debug-here: a cross platform rust debugger hook

Debuggers are a great way to examine the state of a program

debug-here: a cross platform rust debugger hook

Cross-Platform Rust Toolkit for Games 🏹

Android-related tools for building and developing application

Cross-Platform Rust Toolkit for Games 🏹

crossfont is a cross-platform Rust library for loading fonts and rasterizing

glyphs, using native font engines whenever possible

crossfont is a cross-platform Rust library for loading fonts and rasterizing

🐋🦷 Bluey McBluetooth* 🦷🐋

Bluey is a cross-platform Rust API for accessing Bluetooth Low Energy devices

🐋🦷 Bluey McBluetooth* 🦷🐋
Facebook Instagram Twitter GitHub Dribbble
Privacy