Configuration Scripts
This is a minimal collection of configuration files and a script to configure a "default" environment.
This configuration project assumes the following system and applications:
Setup Script
The setup script is pretty straight forward; it simply links the files from the project directory to the respective file location in the home directory.
ln -s ~/.config-scripts/bash_aliases ~/.bash_aliases
ln -s ~/.config-scripts/emacs-dir/ ~/.emacs.d
The script is designed to be as unobtrusive as possible. It therefore does not ask the user about removing files (if they exist) before it runs the symbolic linking. This is perhaps counter-intuitive to some, so be forewarned.
Configurations
The following descriptions assume the previously mentioned linking process has been completed.
Bash
The ~/bashrc file (default from an Ubuntu 17.10 install) sources alias definitions from the file /.config-scripts/bash_aliases.
There is an alias for launching screen (primarily to reconnect to existing screen sessions).
There is an alias to launch htop and show only the resources used by $USER.
The remaining aliases are focused around the apt package manager; generally, they simplify the syntax and call the original command with sudo.
TODO Remove bashrc from project
TODO Remove screenrc from project
Emacs
The /.config-scripts/emacs-dir/init.el file loads the following features and customisations during initialisation which affects the startup time significantly.
The default, vanilla, emacs is somewhat lacking; features are enabled which serve little to no purpose, and features that would benefit the user are disabled. This configuration attempts to implement a set of "better defaults" for emacs.
The following custom variables are defined for the group user-variables:
- user-config-directory
- user-projects-directory
- user-documents-directory
- user-notes-file
- user-packages-list
The following features are disabled:
- menu-bar-mode
- tool-bar-mode
- scroll-bar-mode
- tooltip-mode
The following features are enabled:
- file-name-shadow-mode
- delete-selection-mode
- show-paren-mode
- electric-pair-mode
- column-number-mode
- global-prettify-symbols-mode
- global-visual-line-mode
- midnight-mode
- recentf-mode
- savehist-mode
- save-place-mode
- desktop-save-mode
The following packages are available from melpa:
- magit
- gist
- markdown-mode
- undo-tree
- browse-kill-ring
- yasnippet
- auto-complete
- diminish
When emacs is launched and package-archive-contents is nil, these packages will be automatically installed.
Since there are quite a few extra minor modes enabled, the mode-line can easily get cluttered, it becomes convenient to "diminish" these minor modes; keeping visible only what is important, in this case, only the major mode.
Most of the configuration here is focused on org-mode.