dots
is a CLI tool to build, version and publish config file bundles.
Have you ever saw a screenshot of beautiful desktop customization at r/unixporn and wanted to try it out? But author did not provide dotfiles (config files of apps)! This is because he/she needs to host those files at github/gitlab, and it is not as easy as using dots
.
With dots
you can build and publish your desktop rice (or any other dotfile) with only 2 commands! Installation? It also takes only 2 commands!
NO GIT REPOSITORY OR ELSE IS NEEDED
To get started, you only need dots-cli tool.
App does not have any dependecies.
You can download by following Installation guide.
Install tool and run dots init myfirstpack
, and you have just created your first package.
Copy and paste following command in your terminal emulator and you are ready to go!
curl https://raw.githubusercontent.com/alvanrahimli/dots-cli/master/install.sh | sh
You can also go to the release page and download executable (dots-cli-linux) yourself and use.
dots login
Logs user in (essential to push package)dots init <package_name>
Initializes empty package in current directorydots add <app1_name> <app2_name>
Adds specified apps to packagedots add -w path/to/wallpaper.jpg
Adds wallpaper to packagedots remove <app1_name>
Removes specified apps from packagedots pack
Saves current state & ready to pushdots push
Pushes package to default registrydots remote add <remote_name> <remote_address>
Adds new remote address.- For now, remote addresses should not contain trailing slash. This will be fixed in later releases
dots push origin
Pushes package to specified registry
dots get package@author.dots.rahim.li
Downloads specified package to current directorydots install
Installs dotfiles & wallpapers- When installing wallpapers, app copies them to
$HOME/.local/share/backgrounds/
. You can also use them from package's folder
- When installing wallpapers, app copies them to
dots uninstall
Uninstalls dotfiles & restores previous dotfiles
- Commands:
- cmd:
config
(tweak default registry and many more) - cmd:
register
(Registers new user from CLI) - cmd:
init
(initializes empty package) - cmd:
add
(adds app to package) - cmd:
remove
(removes app from package) - cmd:
pack
(saves package's current state) - cmd:
login
(signs user in and saves token) - cmd:
push
(pushes package to added registry) - cmd:
remote
(adds/removes registries)-
add
(adds remote registry) -
remove
(removes remote registry)
-
- cmd:
list
(lists apps)-
added
(lists added apps in package) -
all
(use --installed flag to list only apps found on system) (lists all possible apps from config)
-
- cmd:
install
(installs packages to appropriate directories)- Backup before installation
- Revert if installation fails
- cmd:
uninstall
(uninstalls package and returns bac .backup folder) - cmd:
get
(downloads package) - Find better place for logs.txt + better logging
- cmd: