Skip to content

neox1de/dotty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotty - A Modern Dotfile Manager

Dotty is a modern dotfile manager written in Rust that helps you manage your configuration files and packages on Arch Linux systems. It supports installing dotfiles from GitHub repositories or local folders, with automatic package installation and backup management.

Features

  • 📦 Install dotfiles from GitHub repositories or local folders
  • 🔄 Automatic package installation (both official repos and AUR)
  • 🔒 Automatic backup of existing configuration files
  • ⚙️ YAML-based configuration
  • 🚀 Fast and reliable (written in Rust)
  • 🔧 Easy to use CLI interface

Installation

Using Cargo

you can use cargo to install the tool:

cargo install --git https://github.com/neox1de/dotty

From Source

  1. clone the repository:
git clone https://github.com/neox1de/dotty.git
  1. build the project:
cargo build --release
  1. run the program:
./target/release/dotty

Usage

Dotty provides a command-line interface to manage your dotfiles. Here are some common commands:

  • Clone and install dotfiles from a GitHub repository:

    dotty -r username/repo
  • Install dotfiles from a local folder:

    dotty -f /path/to/dotfiles
  • Clean backup files:

    dotty -c

Configuration

Dotty uses a dotty.yaml file to define the configuration for your dotfiles and packages. This file should be located in the root of your dotfiles repository or folder. Here's an example of what it might look like:

packages:
  - name: neovim
    is_aur: false
    files:
      - source: config/nvim # source path is relative to the repository root
        destination: ~/.config/nvim
settings:
  skip_existing: false

For a more detailed example configuration, checkout the dotty.yaml file.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

This project was created as a learning exercise to improve my Rust programming skills.

About

a modern dotfile manager written in Rust

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages