Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ysdexlic/dot
Dotfile manager written in rust
https://github.com/ysdexlic/dot
cli command-line-tool dotfile-manager dotfiles easy-to-use rust rust-lang
Last synced: 17 days ago
JSON representation
Dotfile manager written in rust
- Host: GitHub
- URL: https://github.com/ysdexlic/dot
- Owner: ysdexlic
- License: mit
- Created: 2021-03-01T10:56:49.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-04-21T13:19:27.000Z (over 1 year ago)
- Last Synced: 2024-09-14T11:54:48.610Z (2 months ago)
- Topics: cli, command-line-tool, dotfile-manager, dotfiles, easy-to-use, rust, rust-lang
- Language: Rust
- Homepage:
- Size: 64.5 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Dot
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/ysdexlic/dot/build.yaml?branch=main)](https://github.com/ysdexlic/dot/actions)
[![crate](https://img.shields.io/crates/v/dotm.svg?color=brightgreen)](https://crates.io/crates/dotm)
![license](https://img.shields.io/crates/l/dotm)## Installation
Install via Cargo:
```bash
cargo install dotm
```Install via Homebrew:
```bash
brew install ysdexlic/formulae/dot
```## TODO
- [ ] **Write tests**
- [ ] Error handling
- [x] Add error when config file isn't set
- [ ] Fix repeated use of printing the "No .dotrc found" error
- [ ] Find out best error handling practices
- [ ] Return pretty errors
- [x] Add github actions to build binary
- [x] Add binary to releases
- [x] Release on homebrew
- [x] Automate homebrew update PRs (`mislav/bump-homebrew-formula-action`)- [x] Don't copy pesky system files like `.DS_Store` (done by only symlinking
non dotted files)
- [x] Seems to still be happening for nested dotfiles - i.e.
`something/something/.DS_Store`
- [x] Copy folders/files recursively
- [x] Don't make a symlink for the file, instead make the directories and only
symlink the file- [x] Add bootstrapping feature (run bootstrap executables)
- [ ] Fix bootstrapping complaining when multiple dotfile dirs and one doesn't
have the bootstrap repo
- [ ] Add ability to have pre/post hooks
- [ ] Add ability to have host or tag specific files- [x] Add regex file exclusions
- [ ] Add init command to create a new dotfile repo
- [ ] Add clone command to wrap git & pull
- [ ] When cloning, prompt to bootstrap
- [ ] When cloning, prompt to add any tags
- [ ] Go through all files and prompt to install any tags that are present
- [x] Add down command to remove symlinks created by dot
- [x] Down command should remove empty folders created by dot
- [x] Add list command to list symlinks created by dot- [x] Save last state after upping
- [x] Consolidate with previous state to clean when upping
- [x] Clean should remove empty folders created by dot