Note: Since I have moved to NixOS
, I am slowly translating and moving over all my dotfiles to nix
in this repository.
Clone to ~/.dotfiles
and later symlink the configurations required
# To clone without submodules:
# git clone https://github.com/lokesh1197/dotfiles ~/.dotfiles
git clone --recurse-submodules https://github.com/lokesh1197/dotfiles ~/.dotfiles
Run the below command in terminal. It clones the bare repository at $HOME/.cfg and creates a backup of conflicting files at .config-backup. You can read the source here.
curl -Lks http://bit.do/lokesh-dotfiles | sudo -u <username> /bin/bash
Run the below command if the above doesn’t work.
curl -Lks https://raw.githubusercontent.com/lokesh1197/dotfiles/master/.bin/install-dotfiles.sh | sudo -u <username> /bin/bash
- Install GHC with stack
stack setup
- Create `stack.yaml` file if it doesn’t exist
stack init
- To build and install or update
stack install
- To recompile and restart
xmonad --recompile
xmonad --restart
References: xoauth2-setup
Using mutt-wizard
(email account management), mbsync
(sync maildir),
msmtp
(send mail), notmuch
(mail indexer) and emacs
(notmuch backend)
General Steps:
- Use
mutt-wizard
to generatembsync
andmsmtp
configuration - Use
mailsync
command frommutt-wizard
to sync mail - Use
emacs
to view and send mails
Steps to handle oauth2:
- Install xoauth2 library for mbsync: clone
cyrus-sasl-xoauth2
repository and build it
git clone https://github.com/moriyoshi/cyrus-sasl-xoauth2.git
cd cyrus-sasl-xoauth2
./autogen.sh && ./configure
# change pkglibdir to the location where sasl2 libraries are present in the Makefile
make
sudo make install
- Install mbsync using the above library: clone
isync
repository and build it
git clone https://git.code.sf.net/p/isync/isync
cd isync
./autogen.sh && ./configure && make
sudo make install
- Get the tokens using oauth2: clone
M365-IMAP
repository and follow the readme
git clone https://github.com/UvA-FNWI/M365-IMAP
cd M365-IMAP
pip install msal # python dependency
python refresh_token.py # to be used to get access token
- To set default version, run
nvm alias default <version>
https -> ssl.handshake.type == 1 http -> http.request
http server name -> http.host https server name -> tls.handshake.extensions_server_name
Currently disabled services:
- cupsd, avahi-daemon: printer daemons
- bluetoothd: bluetooth daemon