Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mattduck/dotfiles
Personal config and utils for emacs, vim, tmux, i3, git, etc.
https://github.com/mattduck/dotfiles
dotfiles emacs emacs-configuration linux org-mode
Last synced: 2 months ago
JSON representation
Personal config and utils for emacs, vim, tmux, i3, git, etc.
- Host: GitHub
- URL: https://github.com/mattduck/dotfiles
- Owner: mattduck
- License: mit
- Created: 2013-11-07T22:46:29.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-04-13T19:07:58.000Z (10 months ago)
- Last Synced: 2024-04-14T04:53:50.114Z (10 months ago)
- Topics: dotfiles, emacs, emacs-configuration, linux, org-mode
- Language: Emacs Lisp
- Homepage:
- Size: 1.18 MB
- Stars: 37
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* Dotfiles
My personal config files and utils.
I've been using (and changing) these since about 2012-13. It's unlikely that
anyone can fork this and find it useful, but there might be odd things here that
you can copy out into your setup.The most interesting thing is probably [[./emacs.d.symlink/init.org][init.org]], which contains my emacs config.
If you're interested in emacs / linux / dotfiles etc. I occasionally share stuff
at https://www.mattduck.com.* How to install
1. Clone and update the submodules:
#+BEGIN_SRC sh
$ git clone https://github.com/mattduck/dotfiles.git ~/dotfiles
$ cd ~/dotfiles
$ git submodule update --init --recursive
#+END_SRC2. Do a one-off run of ~bin/,dotfiles-install~. This creates symlinks from
~~/.FILENAME~ to ~$DOTFILES/FILENAME.symlink~. Any existing files or
directories are backed up to ~~/dotfiles_backup/$(date)~.3. Source ~activate.sh~ in your bashrc. This script will:
- Add ~$DOTFILES~ to your env: this is a path to the dotfiles directory.
- Add ~$DOTFILES/**/bin~ to your ~$PATH~.
- Source ~$DOTFILES/**.dot.xx.sh~ in numeric order - eg. ~foo.dot.10.sh~ would be
sourced before ~bar.dot.20.sh~. Anything without a number
(eg. ~baz.dot.sh~) will be sourced last.4. I don't have a graceful/up-to-date way to install all the packages I use
right now, so certain scripts/functions/aliases could fail. These will have
to be installed manually.5. In emacs you just have to ~M-x install-package~ on anything that's missing
and not automatically installed by ~use-package~.6. In vim, do ~:BundleInstall~ to install packages.
** MacOS - $PATH issues
Tmux always runs as a login shell, which means /etc/profile gets read. On some
OS X releases, this will run a utility called ~path_helper~, which will always
prepend a set of directories to your $PATH /after/ ~.bashrc~ has run.To disable this, you can reset your $PATH as part of ~.bashrc~, and run the
dotfiles setup afterwards:#+BEGIN_SRC sh
# .bashrc
if [ -f /etc/profile ]; then
PATH=""
source /etc/profile
fi
source ~/dotfiles/activate.sh
#+END_SRCSee https://superuser.com/questions/544989/does-tmux-sort-the-path-variable/583502#583502
for more info.* Thanks
This takes inspiration from (and outright copies) ideas and configuration that
I've seen from friends and colleagues, [[https://emacs.london][emacs.london]], and
various blogs/websites/videos/conferences etc.Special mention to [[https://github.com/holman/dotfiles][Zach Holman]] (where I copied the symlink and sourcing
structure), [[https://github.com/brandon-rhodes/homedir][Brandon Rhodes]] (for the idea of prefixing your scripts and commands
with a comma), and [[https://github.com/sachac/.emacs.d/][Sacha Chua]] (for the idea of compiling ~init.el~ with org-mode,
and aggregating a ton of useful emacs content).