shell: more flexible per-host profile configuration
[~bandali/configs] / .profile
1 # ~/.profile: executed by the command interpreter for login shells.
2 # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
3 # exists.
4
5 # source host-specific profile
6 if [ -f "$HOME/.config/profiles/$(hostname)" ]; then
7 . "$HOME/.config/profiles/$(hostname)"
8 fi
9
10 export EDITOR="emacsclient -nw"
11 export VISUAL="emcl"
12
13 PATH="$HOME/bin:$HOME/.local/bin:$PATH"
14 PATH="$HOME/.cabal/bin:$HOME/.cargo/bin:$HOME/.elan/bin:$PATH"
15 if [ -z "$IS_GUIX_SYSTEM" ]; then
16 PATH="$HOME/.guix-profile/bin:$HOME/.guix-profile/sbin${PATH:+:}$PATH"
17 fi
18 export PATH
19
20 export XDG_CONFIG_HOME="$HOME/.config"
21 export XDG_DATA_HOME="$HOME/.local/share"
22
23 export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
24 export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc
25
26 export MAILDIR="$HOME/mail"
27 export CVS_RSH="ssh"
28
29 export GOPATH="$HOME/src/go"
30
31 # if running bash
32 if [ -n "$BASH_VERSION" ]; then
33 # include .bashrc if it exists
34 if [ -f "$HOME/.bashrc" ]; then
35 . "$HOME/.bashrc"
36 fi
37 fi
38
39 if [ -z "$IS_GUIX_SYSTEM" ]; then
40 # if guix is installed
41 if [ -x "$(command -v guix)" ]; then
42 export GIT_EXEC_PATH="$HOME/.guix-profile/libexec/git-core"
43 export PASSWORD_STORE_SYSTEM_EXTENSION_DIR="$HOME/.guix-profile/lib/password-store/extensions${PASSWORD_STORE_SYSTEM_EXTENSION_DIR:+:}$PASSWORD_STORE_SYSTEM_EXTENSION_DIR"
44 GUIX_PROFILE="$HOME/.guix-profile"
45 . "$GUIX_PROFILE/etc/profile"
46 fi
47 fi
48
49 setxkbmap \
50 -layout us,ir \
51 -option ctrl:nocaps \
52 -option grp:shifts_toggle
53
54 xmodmap -e "keysym Menu = Super_R"
55
56 xrdb -merge "$HOME/.Xresources"