https://github.com/dzordzu/dotfiles
Dotfiles deployed using ansible
https://github.com/dzordzu/dotfiles
ansible dotfiles dotfiles-linux
Last synced: about 2 months ago
JSON representation
Dotfiles deployed using ansible
- Host: GitHub
- URL: https://github.com/dzordzu/dotfiles
- Owner: Dzordzu
- License: gpl-3.0
- Created: 2019-08-03T23:37:57.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-07-25T20:40:29.000Z (almost 3 years ago)
- Last Synced: 2025-02-22T02:16:29.102Z (over 1 year ago)
- Topics: ansible, dotfiles, dotfiles-linux
- Language: Jinja
- Homepage:
- Size: 1.96 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dotfiles
*Dzordzu Dotfiles*
My dotfiles. Deploy using ansible


## Requirements
### System
Following systems were tested in the given time ranges
| System | Architecture | Since | Until | Tested version | Tester |
|-----------|--------------|------------|-------|----------------|---------|
| Archlinux | x86_64 | 04.11.2020 | now | 1.0.0 | Dzordzu |
## Usage
### Pre-installation
If you want, you can use predefined scripts to prepare your system for this repo.
It will install `ansible` and `python` libraries. In case of systems like archlinux
it will also setup you system.
```sh
# Install git and then
git clone https://github.com/Dzordzu/dotfiles
dotfiles/files/preinstall//preinstall.sh
```
### Basic installation
Requires `python` on a host
1. Install requirements `ansible-galaxy install -r requirements.yml`
2. Run default playbook `ansible-playbook -i inventories/user default.yml --ask-become-pass`
#### Tags
| Name | Description |
|------|----------------------|
| `rc` | Replace config files |
### Binaries
#### ddf


General ddf informations
Lists available binaries. Shows version.
Shows dir with playbook
```
ddf --version
ddf -v
ddf --dir
ddf -d
ddf --bin-dir
ddf -bd
ddf --binaries
ddf -b
ddf --help
ddf -h
```
#### ddf-update
Updates repo with dotfiles
```
ddf-update
ddf-update --unstable
```
#### ddf-topgrade

```
ddf-topgrade
ddf-topgrade --add-git-repo /home/user/somerepo/
ddf-topgrade --remove-git-repo /home/user/anotherrepo
```
#### ddf-path

Manages path in repo, additionaly exporting it for current session.
```
ddf-path add /home/user/bin
ddf-path list
ddf-path remove /home/user/bin
```
#### ddf-package

Manages packages using proper manager.
Additionally adds them to repo
Use `--passive` flag to prevent tool from doing action on host
(it will be added/removed only to/from repo)
```
ddf-package add vim
ddf-package list
ddf-package remove emacs
ddf-package add vim --passive
ddf-package remove emacs --passive
```
#### ddf-theme

Change theme
```
ddf-theme list
ddf-theme use dark
ddf-theme use light
```
#### ddf-refresh

Refresh system (reload i3 etc.)
```
ddf-refresh
ddf-refresh --i3
ddf-refresh --vim
ddf-refresh --zsh
```
#### ddf-playbook

Choose playbook for ansible. If no option set, just prints the current playbook
```
ddf-playbook
ddf-playbook --help
ddf-playbook --list
ddf-playbook --set
```
#### ddf-project

Create project from template, remember project location, list available projects
```
ddf-project new --params
ddf-project new --params-file
ddf-project list
ddf-project list --template
ddf-project remember # Interactive mode
ddf-project remember --id --path --description --template
ddf-project forget
ddf-project forget -p
ddf-project forget -i
ddf-project --help
ddf-project manage --add-author
ddf-project manage --build
ddf-project manage --run
```
#### gpg-add
Simple script that acts like `ssh-add` but for gpg. Currently there is no option to specify key
## Planned commands
### Misc
#### ddf-infra

```
ddf-infra new auth
ddf-infra new identity-management
ddf-infra new service
ddf-infra new storage
ddf-infra new monitoring
ddf-infra new --planned
ddf-infra remove
ddf-infra status
ddf-infra plan new
ddf-infra plan remove
ddf-infra plan status
ddf-infra connect
ddf-infra disconnect
ddf-infra --help
```
### ddf-de2sert
#### ddf-cherry
Integration with cherry-cli. Automatically associate tasks with certain project
```
ddf-cherry configure
ddf-cherry new
ddf-cherry remove
ddf-cherry status
```
## FAQ
### Why multiple binaries?
It's much easier to manage dotfiles using multiple languages.
Somethimes it's easier to use `bash`, sometimes to use `python`, or any other language