diff --git a/README.org b/README.org index 8648abf..b44ebd6 100644 --- a/README.org +++ b/README.org @@ -593,6 +593,8 @@ Connect our custom hooks and configure the input keys, a custom layer for defini (exwm-enable)) #+end_src +** + * Writing :PROPERTIES: :header-args: :tangle ~/.local/source/dotfiles/init.el :results silent diff --git a/mail/authinfo.gpg b/config/authinfo.gpg similarity index 100% rename from mail/authinfo.gpg rename to config/authinfo.gpg diff --git a/shell/bashrc b/config/bashrc similarity index 100% rename from shell/bashrc rename to config/bashrc diff --git a/core/gpg-agent.conf b/config/gpg-agent.conf similarity index 100% rename from core/gpg-agent.conf rename to config/gpg-agent.conf diff --git a/mail/mbsyncrc b/config/mbsyncrc similarity index 100% rename from mail/mbsyncrc rename to config/mbsyncrc diff --git a/shell/profile b/config/profile similarity index 100% rename from shell/profile rename to config/profile diff --git a/desktop/xinitrc b/config/xinitrc similarity index 100% rename from desktop/xinitrc rename to config/xinitrc diff --git a/shell/README.org b/shell/README.org deleted file mode 100644 index b674a0e..0000000 --- a/shell/README.org +++ /dev/null @@ -1,233 +0,0 @@ -#+TITLE: Shell -#+AUTHOR: Christopher James Hayward -#+EMAIL: chris@chrishayward.xyz - -#+begin_src shell -ln -s ~/.local/source/dotfiles/config/shell/bashrc ~/.bashrc -ln -s ~/.local/source/dotfiles/config/shell/profile ~/.profile -#+end_src - -* Bash -:PROPERTIES: -:header-args: :tangle ~/.local/source/dotfiles/config/shell/bashrc :results silent -:END: - -Executed by bash for non-login shells. See ~/usr/share/doc/bash/examples/startup-files~ (in the package =bash-doc=) for examples. - -If not running interactively, don't do anything. - -#+begin_src shell -case $- in - *i*) ;; - *) return;; -esac -#+end_src - -Don't put duplicate lines or lines starting with space in the history. - -#+begin_src shell -HISTCONTROL=ignoreboth -#+end_src - -Append to the history file, don't overwrite it. - -#+begin_src shell -shopt -s histappend -#+end_src - -For setting history length see ~HISTSIZE~ and ~HISTFILESIZE~. - -#+begin_src shell -HISTSIZE=1000 -HISTFILESIZE=2000 -#+end_src - -Check the window size after each command and, if necessary, update the values of ~LINES~ and ~COLUMNS~. - -#+begin_src shell -shopt -s checkwinsize -#+end_src - -If set, the pattern ="**"= used in a pathname expansion context will match all files and zero or more directories and subdirectories. - -#+begin_src shell -#shopt -s globstar -#+end_src - -Make less more friendly for non-text input files. - -#+begin_src shell -[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" -#+end_src - -Set variable identifying the chroot you work in (used in the prompt below). - -#+begin_src shell -if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then - debian_chroot=$(cat /etc/debian_chroot) -fi -#+end_src - -Set a fancy prompt (non-color, unless we know we "want" color). - -#+begin_src shell -case "$TERM" in - xterm-color|*-256color) color_prompt=yes;; -esac -#+end_src - -Uncomment for a colored prompt, if the terminal has the capability; turned off by default to not distract the user: the focus in a terminal window should be on the output of commands, not on the prompt. - -#+begin_src shell -#force_color_prompt=yes -#+end_src - -If we have color support; assume it's compliant with =Ecma-48 (ISO/IEC-6429)=. - -#+begin_src shell -if [ -n "$force_color_prompt" ]; then - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - color_prompt=yes - else - color_prompt= - fi -fi -#+end_src - -Lack of such support is extremely rare, and such a case would tend to support ~setf~ rather than ~setaf~. - -#+begin_src shell -if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' -else - PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' -fi -unset color_prompt force_color_prompt -#+end_src - -If this is an xterm set the title to ~user@host:dir~. - -#+begin_src shell -case "$TERM" in -xterm*|rxvt*) - PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" - ;; -*) - ;; -esac -#+end_src - -Enable color support of ~ls~ and also add handy aliases. - -#+begin_src shell -if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto' - #alias dir='dir --color=auto' - #alias vdir='vdir --color=auto' - - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' -fi -#+end_src - -Colored =GCC= warnings and errors. - -#+begin_src shell -#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' -#+end_src - -Some more ~ls~ aliases. - -#+begin_src shell -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' -#+end_src - -Add an ~alert~ alias for long running commands. - -#+begin_src shell -alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' -#+end_src - -Use like so: - -#+begin_example -sleep 10; alert -#+end_example - -You may want to put all your additions into a separate file like ~~/.bash_aliases~, instead of adding them here directly. See ~/usr/share/doc/bash-doc/examples~ in the =bash-doc= package. - -#+begin_src shell -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi -#+end_src - -Enable programmable completion features. You don't need to enable this, if it's already enabled in ~/etc/bash.bashrc~ and ~/etc/profile~ sources ~/etc/bash.bashrc~. - -#+begin_src shell -if ! shopt -oq posix; then - if [ -f /usr/share/bash-completion/bash_completion ]; then - . /usr/share/bash-completion/bash_completion - elif [ -f /etc/bash_completion ]; then - . /etc/bash_completion - fi -fi -#+end_src - -* Profile -:PROPERTIES: -:header-args: :tangle ~/.local/source/dotfiles/config/shell/profile :results silent -:END: - -Executed by the command interpreter for login shells. - -This file is *not* read by bash, if ~~/.bash_profile~ or ~~/.bash_login~ exists. See =/usr/share/doc/bash/examples/startup-files= for examples. The files are located in the bash-doc package. - -The default umask is set in ~/etc/profile~. For =SSH= logins, install and configure the =libpam-umask= package. - -#+begin_src shell -#umask 022 -#+end_src - -If we're running =bash= make sure to include ~~/.bashrc~ if it exists. - -#+begin_src shell -if [ -n "$BASH_VERSION" ]; then - if [ -f "$HOME/.bashrc" ]; then - . "$HOME/.bashrc" - fi -fi -#+end_src - -Add private bin directories to the ~$PATH~ (if they exist). -+ ~$HOME/bin~ -+ ~$HOME/.local/bin~ - -#+begin_src shell -if [ -d "$HOME/bin" ]; then - PATH="$HOME/bin:$PATH" -fi -if [ -d "$HOME/.local/bin" ]; then - PATH="$HOME/.local/bin:$PATH" -fi -#+end_src - -Add ~$HOME/go/bin~ to the ~$PATH~ if it exists. - -#+begin_src shell -if [ -d "$HOME/go/bin" ]; then - PATH="$HOME/go/bin:$PATH" -fi -#+end_src - -Auto run =startx= on login if there's no display server running. - -#+begin_src shell -if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then - exec startx -fi -#+end_src