hackrole / dotfiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My Configuration

XMonad

Hello there! These are my dotfiles, which are text-based configuration files for most of the programs I use on Linux. I have dabbled in a few different window managers, but my current daily driver - and hence the only one that is in any sort of working order - is XMonad. See my XMonad config README.md for more XMonad-specific information!

Setup on fresh install

  1. Dependencies:

    • Required: aur/nerd-fonts-ubuntu-mono
    • Optional: exa neofetch nvim I also use autorandr to automatically manage my monitors.
  2. Clone

    alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles-git/ --work-tree=$HOME'
    echo .dotfiles-git >> .gitignore
    git clone --bare https://github.com/quarkQuark/dotfiles.git $HOME/.dotfiles-git
    dotfiles checkout
    dotfiles config --local status.showUntrackedFiles no
  3. Vim-plug must be installed for the vim configuration to work properly Vim also needs:

    nnn
    fzy
    ripgrep
  4. Xmonad is installed via stack-static from the aur:

    cd ~/.config/xmonad
    stack install
    cd ~/.config/taffybar
    stack install
    stack install xmobar
    stack install status-notifier-item  # For taffybar's system tray

    My xmonad configuration also depends on the following packages:

    • System: network-manager nitrogen aur/picom-ibhagwan-git
    • Default programs: alacritty nvim qutebrowser redshift rofi spectacle
    • Bar applets: network-manager-applet udiskie pasystray
    • For xmobar: stalonetray xfce4-power-manager
    • For taffybar: lxqt-power-management
    • Other:
      dzen2  # For the keybinding cheatsheet
      xcape  # For rebinding C-Esc to super

Usage

  • Push local changes:
    dotfiles add <filepath>
    dotfiles commit -m "<message>"
    dotfiles push
  • Pull upstream changes:
    dotfiles pull

How this repository was set up

  1. Initialise local bare git repository .dotfiles-git

    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
  2. Add some config files to back up (.bashrc used as example)

    git add .bashrc
    git commit -m "Add .bashrc"
  3. Create new GitHub repository dotfiles

  4. Link the two

    dotfiles remote add origin https://github.com/quarkQuark/dotfiles.git
    dotfiles push -u origin master

About


Languages

Language:Shell 25.7%Language:Lua 20.0%Language:Haskell 19.3%Language:Vim Script 19.3%Language:Python 12.5%Language:Vim Snippet 3.2%