Skip to content

Latest commit

 

History

702 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

#+TITLE: Dotfiles

I am in the process of porting my configurations over to [[https://github.com/nix-community/home-manager][Home Manager]]. This branch will feature no further updates and will be archived once done.

-----

* Notable programs

Most of my user configuration files are stored in this repository. However, two of the programs with the most interesting configurations are hosted in their own repositories. These are:

- Emacs, my text editor, with an extensive literate elisp configuration hosted at https://github.com/quarkQuark/emacs-config. The best way to read it, however, is at https://quarkQuark.github.io/config/emacs, where it is built into its own webpage.

- My configuration for the XMonad tiling window manager is in [[https://github.com/quarkQuark/xmonad-quark][a separate repository]] because it is structured as a Haskell project.

There is also a separate repository containing my disorganised collection of [[https://github.com/quarkQuark/scripts][useful shell scripts]].

* Setup with XMonad on a fresh Arch Linux install

1. Install optional CLI dependencies: =exa neofetch neovim starship=

2. Clone this repository as well as my [[https://github.com/quarkQuark/scripts][shell script repository]].

   #+begin_src shell
     alias dotfiles='git --git-dir=$HOME/.dotfiles-git/ --work-tree=$HOME'
     echo .dotfiles-git >> .gitignore
     git clone --bare --recurse-submodules git@github.com:quarkQuark/dotfiles $HOME/.dotfiles-git
     dotfiles checkout
     dotfiles config --local status.showUntrackedFiles no
     git clone git@github.com:quarkQuark/scripts $HOME/.scripts/repo
   #+end_src

3. Install Emacs and generate the shell configuration files from [[./.config/Shells.org]] by running 

   #+begin_src shell
     emacs --batch -l org --eval '(org-babel-tangle-file "~/.config/Shells.org")'
   #+end_src

4. To install the plugins for =neovim=, install =go= (to build =vim-hexokinase=) and =python-pynvim= then follow the README for [[https://github.com/junegunn/vim-plug][Vim-plug]]. My neovim configuration also needs the packages =nnn=, =fzy= and =ripgrep=.

5. Xmonad is built via =stack-static= from the AUR. Arch has packages available from the standard repositories, but these are prone to breakage due to dynamic linking. See https://github.com/quarkQuark/xmonad-quark for installation instructions. (I have recently switched to installing =stack= and =ghc= through =ghcup=, which can also be installed from the AUR).

6. Spotify can be themed and extended using [[https://github.com/spicetify/spicetify-cli][Spicetify]]. I use the [[https://github.com/RandomRuskiy/Themes/tree/master/Tree-Green][Tree-Green]] theme, and extensions can be downloaded from [[https://github.com/3raxton/spicetify-custom-apps-and-extensions][here]]. The Spicetify configuration file doesn't lend itself well to source control as it hardcodes the version number, but it can be set up quite quickly.

* Initial repositary setup

I store my dotfiles using a *git bare repository*. This allows me to store files from anywhere in my home directory without messing with existing git repositories. The repository is managed using ordinary git commands, simply replacing the word =git= with the alias =dotfiles=.

1. Initialise =.dotfiles-git= as a local bare repository

   #+begin_src shell
     mkdir $HOME/.dotfiles-git
     git init --bare $HOME/.dotfiles-git
     alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles-git/ --work-tree=$HOME'
     dotfiles config --local status.showUntrackedFiles no
   #+end_src

2. Add some config files to back up (=.bashrc= used as an example)

   #+begin_src shell
     git add .bashrc
     git commit -m "Add .bashrc"
   #+end_src

3. Create a new GitHub repository called =dotfiles= and push

   #+begin_src shell
     dotfiles remote add origin git@github.com:quarkQuark/dotfiles.git
     dotfiles push -u origin master
   #+end_src

About

Personal configuration files.

Topics

Resources

Stars

8 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages