V0rtex420 / awesome_dotfiles

in pursuit of the perfect rice

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

awesome

Hi! This is my AwesomeWM config. Thanks for checking it out!

The primary goal of this setup is to create an environment that:

  1. can be used easily on both my laptop and my touchscreen tablet
  2. integrates all the cli tools I use to manage my life into a nice dashboard
  3. looks awesome!

NOTE: This setup is incomplete, somewhat buggy, and under constant development. Because of that, I don't recommend daily driving it quite yet.

Installation (Arch/Arch-based)

Clone

cd ~/.config/ && git clone --recurse-submodules https://github.com/garado/awesome_dotfiles.git awesome

Update configuration/apps.lua with your default terminal/file manager/browser applications.

Install dependencies

yay -S awesome-git gcalcli nerd-fonts-roboto-mono ttf-roboto picom-pijulius-git

pacman -S playerctl rofi scrot pamixer brightnessctl upower task timew ledger

Configuration

Google Calendar events

  • Follow instructions to set up gcalcli
  • The calendar widget checks ~/.cache/awesome/calendar/agenda for data (in tsv format). It will automatically fetch data if it detects that there is no data in the file.
  • To keep your widget updated, periodically update the cache by putting gcalcli agenda --tsv > ~/.cache/awesome/calendar/agenda in a cron job.

Pixela habit tracker

  • Read these instructions to create a Pixela account and create your habits
  • Install pi (command line Pixela tool)
    • The install instructions on pi's Github page don't work, follow this:
    • go install github.com/a-know/pi/cmd/pi@latest
    • Put pi (located in $HOME/go/bin) in your path
  • Set the PIXELA_USER_NAME and PIXELA_USER_TOKEN environment variables
  • Update user_variables.lua with the habits you want to display
  • The utils/dash/habits/cache_habits script caches data from Pixela. Run it periodically with a cron job to keep your widget updated.

Finances tracker

  • Update user_variables.lua with the ledger file to read from

Other stuff

Name Source
Cursors Nordzy cursors
GTK theme Nordic
Firefox theme Nordic
Icon theme Papirus-Nord
Vim theme nord-vim
Rofi custom version of adi1090x theme

Dashboard

Features

  • Fancy music player (thank you rxhyn)
  • Events widget (with Google Calendar)
  • Tasks widget (with Taskwarrior)
  • Pomodoro timer (with Timewarrior)
  • Habit tracker (with Pixela)
  • Fancy finances (with Ledger)
    • Monthly spending tracker
    • Current account balances

Dashboard tabs

I couldn't fit enough information onto the main dashboard page, so I'm adding tabs!

Dashboard tab progress

  • Finances
    • Recent transactions
    • Monthly spending
    • Budget tracking
    • Arc chart animations :)
    • Yearly account balance trends
    • Redesign UI
  • Habits/goals
    • Goals tracker
    • Habit tracker
  • Tasks/calendar
    • Fancier task displays
      • Support subtasks + progress bar
    • Calendar

Known bugs

  • Pomodoro gets a little wonky if you restart awesome too many times
    • reason: stuff stored in xrdb to preserve pomodoro state across awesome restarts doesn't always get cleared properly
  • Monthly spending arc chart animation doesn't always work
    • reason: i have no idea
  • Overdue tasks don't show the correct due date
    • reason: my implementation was lazy lol i know how to fix it. i'll get around to it

In progress/planned

  • Dash (other)
    • Indicator for current dash tab
  • Control center
    • Quick actions
    • Power menu
    • Volume/brightness control
  • Bar
    • Volume/brightness control
    • Variable bar orientation!
    • Systray
    • Better app launcher
  • Other
    • Theme switcher
    • Custom rofi launcher
  • Notifications
    • Add icons

Credits

  • rxhyn for code reference

About

in pursuit of the perfect rice


Languages

Language:Lua 98.5%Language:Shell 1.5%