Git Product home page Git Product logo

hotfiles's Introduction

Thanks for Visiting!

This is my rice heavily based on https://github.com/syndrizzle/hotfiles/tree/bspwm

About:

  • Alacritty as the terminal.
  • Tokyo Night as the color scheme.
  • BSPWM as the window manager.
  • Picom (Fluffy Animations) as the compositor.
  • EWW as the widgets [Dashboard, Player and System Menu]
  • Rofi as the application launcher.
  • SLiM as the Display Manager.
  • Dunst as the notification daemon.
  • jgmenu as the desktop root menu.
  • Polybar as the main bar.

Installation:

Below are the installation steps to install the dotfiles of my setup. Click on a step to Expand it. 1. Install Dependencies:

Before we begin the installation, you need to create a Downloads folder in your /home folder if it is not there by default.

mkdir ~/Downloads

Install paru

sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

Then use it to install dependencies.

paru -S alacritty polybar rofi bspwm-rounded-corners-git xdg-user-dirs nautilus xorg pavucontrol blueberry xfce4-power-manager feh lxappearance papirus-icon-theme file-roller gtk-engines gtk-engine-murrine neofetch imagemagick parcellite xclip maim gpick curl jq tint2 zsh moreutils recode dunst plank python-xdg redshift mate-polkit xfce4-settings mpv yaru-sound-theme alsa-utils slim xorg-xinit brightnessctl acpi mugshot playerctl python-pytz glava wmctrl i3lock-color jgmenu inter-font networkmanager-dmenu-git conky-lua bsp-layout zscroll noise-suppression-for-voice starship system76-power lsof gamemode lib32-gamemode xdo bluez bluez-utils bluez-libs bluez-tools zsh zsh-syntax-highlighting zsh-autosuggestions zsh-completions qbittorrent libreoffice-still

You also need pylrc which is a python module for handling the lyrics of song in the eww based player. You can skip this if you don't use spotify. First install pip:

sudo pacman -S python-pip

Then:

sudo pip install pylrc

To install pylrc to your main site-packages folder.

Now you gotta install some dependencies which cannot be installed via the AUR helper/Pacman or it is better to install them this way:

1. Eww

Elkowar's wacky widgets are the main widgets that we are gonna use in our system. It is a very essential dependency that you need. First you need the nightly version of rust and also GTK3. A speedy way would be to directly install the binary package of rust nightly from the AUR using your favorite AUR helper:

paru -S rust-nightly-bin gtk3

Then we just need to run a few commands assuming you have git installed:

cd ~/Downloads
git clone https://github.com/elkowar/eww.git
cd eww
cargo build --release -j $(nproc)
cd target/release
sudo mv eww /usr/bin/eww

That installs eww to our root filesystem, which is then sourced from the $PATH.

2. xqp

xqp comes from the author of bspwm. It outputs the pointer ID under the window, basically, it is needed for the right click menu to function when clicking the root window in bspwm. The method of doing this was taken from beyond9thousand

NOTE: You need base-devel installed before this:

sudo pacman -S base-devel

Then you just gotta do:

cd ~/Downloads
git clone https://github.com/baskerville/xqp.git
cd xqp
make
sudo make install

3. Picom Pijulius Fork

This picom fork has the best window animations you can get. For eyecandy we are using this fork, this isn't available in the AUR, so you need to install it manually:

First install all the dependencies required to build the compositor:

sudo pacman -S libconfig libev libxdg-basedir pcre pixman xcb-util-image xcb-util-renderutil hicolor-icon-theme libglvnd libx11 libxcb libxext libdbus asciidoc uthash

Then do the following:

cd ~/Downloads
git clone https://github.com/pijulius/picom.git
cd picom/
meson --buildtype=release . build --prefix=/usr -Dwith_docs=true
sudo ninja -C build install

Add your user to the ADM Group and start the following services:

sudo usermod -aG adm $USER

Start the system76-power service:

sudo systemctl enable --now com.system76.PowerDaemon

Bluetooth:

sudo systemctl enable bluetooth

With that, we have all the dependencies. We can move to the next part. 2. Installing GTK Theme: To match with the current colorscheme, we are using the Tokyo Night GTK Theme

cd ~/Downloads
git clone https://github.com/Fausto-Korpsvart/Tokyo-Night-GTK-Theme.git
cd Tokyo-Night-GTK-Theme/
mv themes/Tokyonight-Dark-BL /usr/share/themes/

And that's it! 3. Installing Dotfiles: The step we all have been waiting for.

Clone them and install:

cd ~/Downloads
git clone https://github.com/syndrizzle/hotfiles.git -b bspwm
cd hotfiles
cp -r .config .scripts .local .cache .wallpapers ~/
sudo cp -r usr/ /usr/
cp .xinitrc .gtkrc-2.0 ~/

Install Fonts: Assuming you are already in the hotfiles folder

cd .fonts
mv * /usr/share/fonts

Move slim.conf and environment to it's location: Again assuming you are in the hotfiles folder

cd etc/
mv slim.conf environment /etc/

Move items in usr folder to their respective places:

sudo mv usr/ /usr/

The usr folder contains the cursor theme and some executable scripts.

Miscllaneous:

Spicetify Theme:

Since we copied the dotfiles, we can apply the spicetify theme now. First, install spicetify using:

paru -S spicetify-cli-git

Then, we need to give read and write access to our spotify folder for modifications:

sudo chmod a+wr /opt/spotify
sudo chmod a+wr /opt/spotify/Apps -R

After that we just need to run:

spicetify config current_theme Ziro
spicetify config color_scheme tokyonight
spicetify config extensions adblock.js
spicetify backup apply

This would install the spicetify theme to your Spotify.

Neovim

sudo pacman -S nvim xsel
pip install pynvim
sudo npm i -h neovim

hotfiles's People

Contributors

akat14 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.