All Projects → mattduck → dotfiles

mattduck / dotfiles

Licence: MIT license
Personal config and utils for emacs, vim, tmux, i3, git, etc.

Programming Languages

emacs lisp
2029 projects
Vim Script
2826 projects
shell
77523 projects
python
139335 projects - #7 most used programming language
lua
6591 projects

Projects that are alternatives of or similar to dotfiles

Dmacs
Emacs Literate Configuration with borg
Stars: ✭ 74 (+155.17%)
Mutual labels:  emacs-configuration, org-mode
emacs.d
My personal emacs setup.
Stars: ✭ 27 (-6.9%)
Mutual labels:  emacs-configuration, org-mode
dotfiles
I showed you my source code, pls respond
Stars: ✭ 45 (+55.17%)
Mutual labels:  emacs-configuration, org-mode
.emacs.d
🎉 Personal GNU Emacs configuration
Stars: ✭ 313 (+979.31%)
Mutual labels:  emacs-configuration, org-mode
Emacs Gtd
Get Things Done with Emacs
Stars: ✭ 111 (+282.76%)
Mutual labels:  emacs-configuration, org-mode
Writingwithemacs
Tips, Examples, and Resources for Writing with Emacs
Stars: ✭ 150 (+417.24%)
Mutual labels:  emacs-configuration, org-mode
my-emacs
My Emacs configuration
Stars: ✭ 35 (+20.69%)
Mutual labels:  emacs-configuration, org-mode
GnusSolution
A complete working solution of gnus+offlineimap+dovecot+msmtp+cron
Stars: ✭ 18 (-37.93%)
Mutual labels:  emacs-configuration
sword-to-org
Convert Sword modules to Org-mode outlines
Stars: ✭ 32 (+10.34%)
Mutual labels:  org-mode
phscroll
Enable partial horizontal scroll in Emacs
Stars: ✭ 52 (+79.31%)
Mutual labels:  org-mode
bog
Extensions for research notes in Org mode
Stars: ✭ 57 (+96.55%)
Mutual labels:  org-mode
counsel-org-clock
Counsel (Ivy) interface for org-clock
Stars: ✭ 44 (+51.72%)
Mutual labels:  org-mode
vimwiki2org
Convert VimWiki files to Emacs Org-Mode
Stars: ✭ 18 (-37.93%)
Mutual labels:  org-mode
emacs-config
A literate emacs configuration for C#, python, ivy, yasnippet, ...
Stars: ✭ 31 (+6.9%)
Mutual labels:  emacs-configuration
ob-tmux
Ob-tmux is an Emacs library that allows org mode to evaluate code blocks in a tmux session.
Stars: ✭ 46 (+58.62%)
Mutual labels:  org-mode
zshorg
org-mode literate programming zsh config
Stars: ✭ 17 (-41.38%)
Mutual labels:  org-mode
tangle-rs
a collection of tools to do tangle in rust
Stars: ✭ 23 (-20.69%)
Mutual labels:  org-mode
org-onenote
Post org file to onenote
Stars: ✭ 40 (+37.93%)
Mutual labels:  org-mode
nano-agenda
A minimal org agenda for Emacs
Stars: ✭ 33 (+13.79%)
Mutual labels:  org-mode
Emacs Configuration
Emacs Configuration Using Purcell's Structure
Stars: ✭ 22 (-24.14%)
Mutual labels:  emacs-configuration

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 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:
    $ git clone https://github.com/mattduck/dotfiles.git ~/dotfiles
    $ cd ~/dotfiles
    $ git submodule update --init --recursive
        
  2. 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:

# .bashrc
if [ -f /etc/profile ]; then
    PATH=""
    source /etc/profile
fi
source ~/dotfiles/activate.sh

See 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, emacs.london, and various blogs/websites/videos/conferences etc.

Special mention to Zach Holman (where I copied the symlink and sourcing structure), Brandon Rhodes (for the idea of prefixing your scripts and commands with a comma), and Sacha Chua (for the idea of compiling init.el with org-mode, and aggregating a ton of useful emacs content).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].