• Stars
    star
    228
  • Rank 175,267 (Top 4 %)
  • Language
    Rust
  • License
    MIT License
  • Created about 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Yet another management tool for dotfiles

dot

GitHub Actions

dot is a command-line tool for managing dotfiles, written in Rust.

Overview

dot provides a way to organize configuration files in your home directory.

Installation

Precompiled binaries are on our GitHub releases page. If you want to use the development version, try cargo install to build from source:

$ cargo install --git https://github.com/ubnt-intrepid/dot.git

Example Usage

Clone your dotfiles repository from github and then create home directory symlinks:

$ dot init ubnt-intrepid/dotfiles

Check if all of the links exist and are correct:

$ dot check

<pattern> determines the remote repository's URL of dotfiles.

Pattern types:

  • (http|https|ssh|git)://[username@]github.com[:port]/path-to-repo.git – URL of dotfiles repository
  • [email protected]:path-to-repo.git – SCP-like path
  • username/dotfiles – GitHub user and repository
  • username – GitHub user only (repository dotfiles, e.g.: https://github.com/myuser/dotfiles)

By default, the repository will be cloned locally to $HOME/.dotfiles. This can be overridden with $DOT_DIR.

For more information, run dot help.

Configuration

$DOT_DIR/.mappings where the symlinks are defined in TOML. For example:

[general]
gitconfig   = "~/.gitconfig"
"vim/vimrc" = ["~/.vimrc", "~/.config/nvim/init.vim"]
#...

[windows]
vscode = "$APPDATA/Code/User"
powershell = "$HOME/Documents/WindowsPowerShell"
#...

[linux]
xinitrc = "~/.xinitrc"

Use [general] for symlinks on all platforms. [windows], [linux], [macos] for symlinks on specific platforms.

See my dotfiles for a real example.

License

dot is distributed under the MIT license. See LICENSE for details.

Similar Projects

More Repositories

1

polyfuse

A FUSE (Filesystem in Userspace) library for Rust
Rust
109
star
2

neon-electron

A simple example of GUI application with Electron and Rust, by using neon-bindings/neon
TypeScript
52
star
3

rhq

Manages your local repositories
Rust
51
star
4

rustplotlib

A Rust's binding of matplotlib
Rust
34
star
5

rust-gurobi

Unofficial Rust API for Gurobi Optimizer
Rust
14
star
6

misosoup

An experimental implementation of Mison JSON parser written in Rust
Rust
9
star
7

react-iron-boilerplate

React.js + Iron framework
Rust
8
star
8

mimicaw

A library for writing asynchronous tests
Rust
8
star
9

pecors

Yet another text selector written in Rust
Rust
6
star
10

rwm

An ultimately tiny window manager, written in Rust
Rust
6
star
11

jors

Yet another command-line JSON generator.
Rust
5
star
12

ghqrs

[ARCHIVED] Manages cloned repositories from Git hostings
Rust
5
star
13

gallium-rs

[hobby] Git hosting server written in Rust
Rust
5
star
14

rust-plugin-example

Rust
5
star
15

cargo-docserve

A cargo subcommand for serving outputs of `cargo doc`
Rust
5
star
16

doubter

A helper crate for testing Rust code blocks in Markdown files
Rust
4
star
17

coco

Alternative of interactive text selector for Cygwin/MSYS2, written in C++
C++
4
star
18

wan

わん ∪・ω・∪
Rust
4
star
19

rye

[EXPERIMENTAL] A custom unit testing framework inspired by Catch2
Rust
3
star
20

sshfs-rs

[WIP] SSH remote filesystem written in Rust.
Rust
3
star
21

pest-calculator

Pest で中置演算子を使うサンプル
Rust
3
star
22

msgpack-rpc-rs

An alternative implementation of Msgpack-RPC, focuses on bidirectional call
Rust
3
star
23

hyper-router

[experimental] An alternative of routing middleware for tokionized Hyper
Rust
3
star
24

gurobi.go

unofficial Gurobi inferface for Golang
Go
3
star
25

rusty-machine-toy

hobby project for machine learning with rusty-machine
Rust
3
star
26

rust-mastodon

This repository has moved to https://gitlab.com/ubnt-intrepid/rust-mastodon
Rust
3
star
27

finchers-todo

[WIP] An example of Web application by using finchers-rs
Rust
2
star
28

colorstring.rs

Rust's impletation of colorstring.go
Rust
2
star
29

iron-slog

Yet another logging middleware for Iron framework, by using slog-rs.
Rust
2
star
30

siro

[EXPERIMENTAL] A client side Web application library for Rust
Rust
2
star
31

tokio-libssh2

[ARCHIVED] Use https://github.com/spebern/async-ssh2 instead
Rust
1
star
32

expected

An assertion utility focused on unit testing
Rust
1
star
33

http_server_09_tokio

Rust
1
star
34

finchers-graphql-example

Rust
1
star
35

ring-rt

Rust
1
star
36

iron-jwt

[EXPERIMENTAL] Authentication middleware based on JWT, for Iron framework
Rust
1
star
37

libfuse-rs

[deprecated] libfuse bindings for Rust.
Rust
1
star
38

search_twitter

Rust
1
star
39

orslang

F#
1
star
40

rust-ast

Rust
1
star
41

tweet-fs

Rust
1
star
42

draco-todomvc

A TodoMVC implementation written in Rust with draco
Rust
1
star
43

rust-gurobi-example

Rust
1
star
44

mintty-colorscheme

colorscheme management for Cygwin/MSYS2 terminal emulator (Mintty)
Shell
1
star
45

argparse

Yet another command line parser for C++11, which support for static type check
C++
1
star
46

ssh-config

A crate for parsing SSH config
Rust
1
star
47

maybe-unwind

A wrapper of catch_unwind that also captures the panic information
Rust
1
star
48

sftp-rs

[ARCHIVED] Merged into sshfs-rs
Rust
1
star
49

neovim-remote-plugin-example

Rust
1
star
50

rstart

Rust
1
star
51

minissh

[WIP] asynchronous SSH client library for Rust.
Rust
1
star
52

hogeutilrs

Miscellaneous utilities for CLI, written in Rust
Rust
1
star
53

custom-derive-example

Rust
1
star
54

hyper-web-server

Rust
1
star
55

tweet-at-compile-time

コンパイル時にツイートするマクロ
Rust
1
star
56

make-a-brainfuck

A tiny interpreter of brainf*ck written in Rust.
Rust
1
star
57

io-uring-http-server

Rust
1
star
58

cargo-version-sync

Cargo subcommand for keeping the version numbers in sync with Cargo.toml
Rust
1
star
59

go-git-prompt

Informative and fast Git prompt for any shell (Bash, Zsh, and PowerShell)
Go
1
star