Giter Club home page Giter Club logo

awful-dots's Introduction

Featuring AwesomeWM




Welcome to my stash of dotfiles of my awesomewm setup. Note that things are likely to be changed in future as I am still working on this setup. Feel free to give a ⭐ to this repo if you liked the setup. It is much appreciated :3


Dependencies

  • AwesomeWM: Use the git version. Stable version will not work.
  • Picom: Use any picom fork of your liking. (I'm using fdev31's fork)
  • nm-applet: Used for wifi.
  • Light: Required for the brightness control slider
  • Alsa Utils: Required for the volume control slider.
  • acpi: Required for the battery widget. You can skip that if you don't have a battery.
  • Nitrogen: Another wallpaper setter. This is optional though.
  • Playerctl: Required for the music player widget located in the control center.
  • Redshift: Used in the bluelight filter widget.
  • Scrot: Used in screenshot tool.
  • Gpick: Color picker.
  • Font: Ubuntu Nerd font is used most of the ui, CaskaydiaCove nerd font and JetbrainsMono nerd font is also used in some place.
  • Icon Theme: Papirus(required)
  • GTK Theme: Lavanda Dark Compact Tokyonight (Thanks to Mebesus)

These are all I remember right now. If there is any other dependencies that I missed, feel free to open an github issue to inform me.

Defaults

  • File manager: Thunar
  • Terminal: Kitty
  • Browser: Firefox

Installation

Installing the config may break somethings in your pc as I can only try them in my computer. But in case you want to use them anyway, follow the bellow steps:-

Install Awesome-git
Arch
yay -S awesome-git

Fedora
You can build from source, or you can use COPR if you are lazy like me. For installing through COPR, follow below steps:-

sudo dnf copr enable coolj/awesome-luajit-nightly
sudo dnf install awesome

Ubuntu and other Debian based
Again, you can build from source, or you can use pacstall. To install using pacstall, followbelow steps:-

sudo bash -c "$(wget -q https://pacstall.dev/q/install -O -)"    #for setting up pacstall(Skip if you already done it)
pacstall -I awesome-git

Install Dependencies

Use the package manager to install the following dependencies:-

Necessary

nm-applet NetworkManager light alsa-utils acpi playerctl scrot picom

(Also libplayerctl-dev for ubuntu based distributions)

Optional but recommended for a complete experience

redshift gpick nitrogen lxappearance

The name of some packages may vary based on your distro. Note: For Ubuntu and ubuntu/debian based distros additional dependency libplayerctl-dev


Move the files to their location

Clone this repository:-

git clone https://github.com/Amitabha37377/Awful-DOTS.git
cd Awful-DOTS

Make ~/.themes, ~/.icons, ~/.local/share/fonts directories if not exists already.

mkdir ~/.themes
mkdir ~/.icons
mkdir ~/.local/share/fonts

Move the files in their required directory:-

mv ~/.config/awesome ~/.config/awesome.bak
cp -r awesome ~/.config/
cp -r Misc/fonts/* ~/.local/share/fonts/
cp -r Misc/gtk_themes/* ~/.themes/
cp -r Misc/icon_packs/* ~/.icons/

After following all the steps restart awesome wm. Hopefully everything will work. To change the default apps and username/profile picture go to the `~/.config/awesome/popups/user_profile.lua` file and make changes.

Gallery

Control Center, Dashboard & Notification theme

Notification Center

Screenshot Tool

Powermenu

App Launcher

Media Player (Supports Youtube, Idk what else it supports)

Tasklist popup box


To Do

  • Implementing global search in app launcher
  • Screen recording widget
  • Dashboard
  • System monitor widget
  • To do widget
  • Music player widget outside the control center
  • Improve animations (maybe)
  • Preference setting widget
  • Inbuilt wallpaper switcher

  • How to make the media player functional?

    First make sure that plasma-browser-integration package is installed in your system. Install plasma integration browser extension in firefox. Go to the manage extension settings of the plasma integration extension and uncheck Enhanced Media Control. Hopefully it will work. (The media player might have some bugs/issues right now.)

  • Setting up the Weather Widget inside dashboard

    First of all make an account in https://openweathermap.org/ and generate the api key and get your city ID. Then make a file names weather.sh in your home directory and put the below script in that file:

    bash -c '
      KEY="<api-key>"
      CITY="<city ID>"
      UNITS="metric"
      weather=$(curl -sf "http://api.openweathermap.org/data/2.5/weather?APPID=$KEY&id=$CITY&units=$UNITS")
      if [ ! -z "$weather" ]; then
          
          weather_temp=$(echo "$weather" | jq ".main.temp" | cut -d "." -f 1)
    
          weather_icon=$(echo "$weather" | jq -r ".weather[].icon" | head -1)
          
          weather_description=$(echo "$weather" | jq -r ".weather[].description" | head -1)
          
          location=$(echo "$weather" | jq -r ".name")
          
          country=$(echo "$weather" | jq -r ".sys.country")
          
          humidity=$(echo "$weather" | jq -r ".main.humidity")
          
          wind=$(echo "$weather" | jq -r ".wind.speed" |  cut -d "." -f 1)
          
          feelslike=$(echo "$weather" | jq -r ".main.feels_like" | cut -d "." -f 1)
    
          echo "$weather_icon"  "$feelslike" "$weather_temp" "$location" "$country" "$humidity" "$wind" "$weather_description"
          # echo "$weather" 
      else
          echo "... N/A  Earth (Probably) N/A N/A Loading..."
      fi'

    replace the <api key> with your actual openweather api key and replace <city ID> with your city ID in the weather.sh file


Credits

  • Stardust kyun (His absolutely amazing beginner friendly dotfiles. Stole some part of code from his notification center, app launcher, notification settings)
  • rxyhn (Used his colorscheme from yoru in many places)
  • Manilarome (Stole some widgets. )
  • Bling (Used the app launcher and playerctl widget)
  • Awesome wm widgets by streetturtle (Used the calendar widget and battery widget)

And many other awesome people who answered my stupid questions in discord and from whom I got inspiration and design ideas.


awful-dots's People

Contributors

amitabha37377 avatar madhur 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.