Warning
Please be careful. You use the configurations and manager at your own risk. It is possible that something may not work as described. This tool is for internal use and is subject to rapid change. If you have any questions or problems, please post them in the discussions.
sudo dnf install htop fd-find fzf zoxide ripgrep golang zsh git
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Rust installation
cargo install tlrc# Clone repository with nvim configurations
git clone https://github.com/RomanAverin/neovim-dot ~/config/nvimhttps://github.com/RomanAverin/neovim-dot
Use the dotfiles-manager.py Python script to simplify dotfiles management.
- Requirements: Python 3.6+ (pre-installed on Fedora/Ubuntu)
- Dependencies: None! Works immediately after
git clone
# Clone repository
git clone https://github.com/RomanAverin/dotfiles
cd dotfiles
# Install configs for zsh and kitty
./dotfiles-manager/dotfiles-manager.py install zsh p10k.zsh kitty
# Check status of all packages
./dotfiles-manager/dotfiles-manager.py status
# Move existing configs to dotfiles (with git integration)
./dotfiles-manager/dotfiles-manager.py adopt ghostty
# Remove symlinks
./dotfiles-manager/dotfiles-manager.py uninstall kitty
# Install all packages
./dotfiles-manager/dotfiles-manager.py install --allinstall- Install symlinks for packagesuninstall- Remove symlinksrestow- Reinstall symlinksadopt- Move existing configs to dotfiles (with git diff)status- Show status of all packageslist- List available packagescheck- Check symlink integrity
-a, --all- Apply to all packages-n, --dry-run- Simulate without changes-v, --verbose- Verbose output--no-git- Disable git integration for adopt
The script always:
- Shows preview of changes before execution
- Requests confirmation for each operation
- Automatically creates backup files on conflicts in
.backups/ - Logs all actions to
.logs/ - Uses dry-run before actual changes
When using adopt the script automatically:
- Shows
git diffwith changes - Prompts to create a commit
- Formats commit following Conventional Commits
The dotfiles-manager includes comprehensive test coverage with automated CI/CD.
cd dotfiles-manager
# Install test dependencies
pip install -r requirements-dev.txt
# Run all tests
pytest
# Run with coverage report
pytest --cov=. --cov-report=html
# Run only unit tests
pytest -m unit
# Run specific test file
pytest tests/test_validation.pyAutomated workflows run on every push to dotfiles-manager/:
- Pylint: Code quality checks (Python 3.8, 3.10, 3.12)
- Pytest: Full test suite
- Triggers: Only when
dotfiles-manager/**files change
Status badges show current build status at the top of this README.
- fzf problem
fzf --zsh
unknown option: --zshInstall latest version of the fzf
-
zsh compinit: insecure directories
Problem with permissions Fix it
compaudit | xargs chown -R "$(whoami)"
compaudit | xargs chmod go-w