Skip to content

My personal dotfiles

License

Notifications You must be signed in to change notification settings

cednore/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 

Repository files navigation

License Language count Top language Contributors Stargazers Forks

dotfiles

My personal dotfiles

ubuntu bash zsh ohmyzsh git tmux neovim emacs javascript npm yarn nuxt php composer laravel

✨ Introduction

This repository is my dotfiles backup on GitHub cloud. I use the local repository (not for this one) as a storage to keep all of my dotfiles both private and public, and I have symlinked them onto actual home directory. Basically, any files under home directory reflecting my settings and customizations (except sensitive dotfiles such as credentials, tokens, .bash_history, .taskwarrior and so on) which I want to share with OSS community is being published in this repo so that everyone can learn and share.

This project is highly inspired from dotfiles. If you are not sure what the dotfiles are, I highly recommend to click this link and read it through.

🧱 Prerequisites

I am a heavy Ubuntu user. I am still working on focal due to compatibility issues. These dotfiles are primarily intended to run on focal. But this might be compatible with other distros and even with macOS if I can train my 🧠 a little bit smarter.

❓ FAQ

1. Do you use this repository to manage your dotfiles?

No. This repository is just filtered downstream of my main private dotfiles repo (aka cednore/home) to publish only non-sensitive dotfiles to the open-source community, because my home directory has so many extra stuffs which needs to remain as secrets only for me.

I have attached a GitHub action to the private dotfiles repository (which runs on every push and everyday at noon), to pump out all of non-sensitive dotfiles and publish it to this repository. In this way, I can still open-source my own settings and customizations to the world, without my aws secret keys and CC #.

⚠️ WARNING: Please file any issues with security label or send me an email directly ([email protected]) if you found any sensitive information inside this repo.

2. Why are you symlinking your dotfiles?

At the very first time I was composing my dotfiles, I was inspired from mathiasbynens/dotfiles and I was just rsync ing my dotfiles repo into my home folder. Then next evolution was to do bio-directional rsync ing both directories. But it was not enough (I wanted minimum fingertips) and later I found it was even worse than the day #1. So today, I use cednore/home repo directory to keep actual files and symlinking them onto home directory. Now I can just git add -A && git commit -m "blahblahblah" && git push without running any commands (ofc only after I have placed the correct symlinks.)

ℹ️ INFO: I have witnessed some edge cases when symlinks are being replaced by a normal file in certain applications. (e.g .zsh_history file). In those cases, tweak the configuration to point directly this repo folder, otherwise you have to keep them both in sync manually.

ℹ️ See also

👋 Contributions

Contributions are welcome by opening issues and pull requests.

🚧 Roadmap

📄 License

This project is licensed under the MIT License.

🙇 Credits

  • Thanks to @mathiasbynens, you inspired me with your dotfiles.
  • Kudos to @craftzdog, I loved your nvim and tmux configurations.
  • @kalkayan's dotfiles helped me as well. His zsh aliases and functions are too much useful.