https://github.com/sufremoak/dotts
An dotfiles manager
https://github.com/sufremoak/dotts
dotfiles dotfiles-manager python
Last synced: 2 months ago
JSON representation
An dotfiles manager
- Host: GitHub
- URL: https://github.com/sufremoak/dotts
- Owner: SufremOak
- Created: 2025-03-23T16:04:55.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-03-23T18:30:53.000Z (2 months ago)
- Last Synced: 2025-03-23T18:32:50.896Z (2 months ago)
- Topics: dotfiles, dotfiles-manager, python
- Language: Python
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dotts - The Dotfiles Manager from the Future
Manage your dotfiles across different machines with ease and speed.
  
## Features
- **Dotfiles Management**: Easily manage your dotfiles using Git.
- **Dependency Management**: Specify dependencies for your dotfiles.
- **Plugin Support**: Install and manage plugins for applications like Neovim.
- **Environment Variable Management**: Add, remove, and list environment variables.
- **Machine Management**: Keep track of different machines and their configurations.
- **User-Friendly CLI**: A clean and intuitive command-line interface.## Installation
1. **Clone the Repository**:
```bash
git clone https://github.com/sufremoak/dotts.git
cd dotts
```2. **Install Dependencies**:
Make sure you have Python 3 and pip installed. Then, install the required packages:
```bash
pip install -r requirements.txt
```3. **Initialize Dotts**:
Run the following command to set up your dotfiles manager:
```bash
python main.py init
```## Usage
### Basic Commands
- **Initialize Dotts**:
```bash
dotts init
```- **Synchronize Dotfiles**:
```bash
dotts sync
```- **Show Git Status**:
```bash
dotts status
```- **Manage Dependencies**:
```bash
dotts dependencies add
dotts dependencies mod
dotts dependencies list
```- **Manage Plugins**:
```bash
dotts install_plugin nvim
dotts list_plugins nvim
```- **Manage Environment Variables**:
```bash
dotts env add
dotts env remove
dotts env list
```- **Manage Machines**:
```bash
dotts machines add
dotts machines remove
dotts machines list
```### Example Usage
```bash
# Add a dependency
dotts dependencies add nvim --install_via_pm="apt"# Install a plugin
dotts install_plugin nvim username/repo# Add an environment variable
dotts env add MY_VAR "some_value"# List all machines
dotts machines list
```## Contributing
Contributions are welcome! Please follow these steps to contribute:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Make your changes and commit them (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature/YourFeature`).
5. Create a new Pull Request.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- [Typer](https://typer.tiangolo.com/) for creating a great CLI framework.
- [Rich](https://github.com/Textualize/rich) for beautiful console output.
- [Python JSON Logger](https://github.com/madzak/python-json-logger) for structured logging.Made with ❤ by SufremOak