Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Links to dotfile directories that are git submodules #27

Open
gavinschenk opened this issue Dec 14, 2020 · 0 comments
Open

Links to dotfile directories that are git submodules #27

gavinschenk opened this issue Dec 14, 2020 · 0 comments

Comments

@gavinschenk
Copy link

Conclusion

Some of my symbolic links in $HOME points to folders that are managed as git submodules inside my current dotfile repo. If I could manage this, I would like to switch my dofile handling to dotgit.

Thank you for this software!

Current state of my dotfiles

My dotfiles project contains a handcrafted install.sh script. Every time I add a new module I have to add functions here. Running my installer gives an output like:

`

dotfile installer
----------------------------------------------
Please enter which dotfile to install
vimrc              (1) - installed
git                (2) - installed
tmux               (3) - installed
mutt               (4) - installed
pam_mount          (5) - 
~/bin              (6) - installed
bash               (7) - installed
liquidprompt       (8) - installed
weechat            (9) - installed
ssh_config         (a) - installed
mbsync_config      (b) - installed
user-systemd-units (c) - installed
multimount         (d) - installed
spacemacs          (e) - installed
chemacs            (f) - installed
doom               (g) - installed
                   (Q)uit
----------------------------------------------

`
The script checks if a module is installed in ~ and if not it provides mechanism to install it. It works but is always a lot of manual work. So I'm looking for something better and came across this project.

I want to share one of my use case and ask if/how you would map it to dotgit. For some modules I use git submodules inside my dotfiles repo. The structure in my dotfiles repo looks like:

(sub)folders

`dotfiles on  master [⇡] ➜ tree -d -L 2
.
├── afew
├── bash
├── bin
├── chemacs
│   └── chemacs
├── doom
│   ├── doom.d
│   └── emacs.d-doom
├── dotgit
│   ├── docs
│   ├── dotgit
│   ├── old
│   ├── pkg
│   └── tests
├── git
├── liquidprompt
│   └── liquidprompt
├── mbsync
├── msmtp
├── multimount
├── mutt
│   └── mutt
├── notmuch
│   └── hooks
├── pam
├── spacemacs
│   └── emacs.d-spacemacs
├── ssh
├── systemd
├── tmux
│   └── tmux
├── vim
│   └── pack
└── weechat
├── certs
├── logs
├── perl
├── python
├── ruby
├── script
└── xfer

41 directories`

git submodules in dotfiles

dotfiles on  master [⇡] ➜ git submodule 6b9810acfaeec077f26c9ec798059cd9e7106072 chemacs/chemacs (v1.0-5-g6b9810a) 39d6caf090549f1ec39f84b8704749ffb168e0be doom/emacs.d-doom (v2.0-12220-g39d6caf09) b5a31d72fe2dcc7f5417ece7495e08807e959664 dotgit (1.0.3-331-gb5a31d7) ec891eaada5cd427292055603c7dbe977d478e67 liquidprompt/liquidprompt (v1.12.1) c0f61fa035facc45e979d09c7c4efcfdf333d3fe spacemacs/emacs.d-spacemacs (v0.200.0-4257-gc0f61fa03) 1531b3770a7cf7373d15fedd239c5331b99342d1 tmux/tmux/plugins/tmux-continuum (v3.1.0-37-g1531b37) 77ca3aab2aed8ede3e2b941079b1c92dd221cf5f tmux/tmux/plugins/tmux-copycat (v3.0.0-15-g77ca3aa) 2db63de3b08fc64831d833240749133cecb67d92 tmux/tmux/plugins/tmux-pain-control (v1.0.0-19-g2db63de) 327c0481ad20c429b4e692e092659f8b3346b08f tmux/tmux/plugins/tmux-resurrect (v2.4.0-109-g327c048) 09ec86be38eae98ffc27bd0dde605ed10ae0dc89 tmux/tmux/plugins/tmux-sessionist (v2.3.0-25-g09ec86b) 648005db64d9bf3c4650eff694ecb6cf3e42b0c8 tmux/tmux/plugins/tmux-yank (v2.1.0-77-g648005d) 06d41226af02ca4f5bcf58169dd4f0a2aa42218c tmux/tmux/plugins/tpm (v3.0.0-47-g06d4122) 52496c05e28f69bd2a1659ccaf374dc739e86cb5 vim/pack/plugins/start/cscope-maps (heads/master) e653a682705234e9bffac0c32995f339e66df684 vim/pack/plugins/start/nerdtree (5.0.0-302-ge653a68) 1d7ec4e7cd7ee6b689baecd9002342cc55de6c20 vim/pack/plugins/start/papercolor-theme (v0.9-58-g1d7ec4e) 387bbadda98e1376ff3871aa461b1f0abd4ece70 vim/pack/plugins/start/tagbar (v2.7-58-g387bbad) c7fb175d3565159699885653767214a6aa583ea4 vim/pack/plugins/start/vim-airline (v0.9-148-gc7fb175) d2d2da11c58c09d314b23029bdd4a4ab747d76e2 vim/pack/plugins/start/vim-gitgutter (heads/master) 7da66c1b34dc2976a70c9393c7e0c9f47e129e89 vim/pack/plugins/start/vim-linux-coding-style (v0.4-3-g7da66c1)

Some examples of my ~

  • .mbsyncrc -> projects/dotfiles/mbsync/mbsyncrc
  • .msmtprc -> projects/dotfiles/msmtp/msmtprc
  • .mutt -> projects/dotfiles/mutt/mutt
  • .mutt_certificates -> projects/dotfiles/mutt/mutt_certificates
  • .notmuch-config -> projects/dotfiles/notmuch/notmuch-config
  • .spacemacs -> projects/dotfiles/spacemacs/spacemacs
  • .tmux -> projects/dotfiles/tmux/tmux
  • .tmux.conf -> projects/dotfiles/tmux/tmux.conf
  • .tmuxline -> projects/dotfiles/tmux/tmuxline
  • .vim -> projects/dotfiles/vim
  • .vimrc -> projects/dotfiles/vim/vimrc
  • .weechat -> projects/dotfiles/weechat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant