Giter Club home page Giter Club logo

xmonad-dotfiles's Introduction

Dotfiles: 2.0

Made after an evolution, using systemd.

Table of Contents

Starring:

  • xmonad
  • eww
  • firefox
  • rofi
  • tint2
  • Insert more stuff here

Workflow Video: https://www.youtube.com/watch?v=rMoUCnqhYfs

Hello! Thank you for dropping by! These are my xmonad configurations, made after I went through... no, let's stop that there already. If you're here, I suppose you want to be cloning this configuration, for which look at the Installation Section below. Even if you're not, just look through the gallery:

Installation

Alright, let's get to the main stuff.

Note: Whatever method you follow, if you want the weather and quote features to work as well, you need to modify your crontab as follows:
(To edit your crontab, crontab -e as a normal user.)

0,30 * * * * /home/{Your-username}/.config/eww/scripts/getweather
@reboot sleep 10 && /home/{Your-username}/.config/eww/scripts/getquotes

And please follow these next few steps as well:

  • Add export PATH="$PATH:/home/{Your_User}/bin" to your ~/.zshrc file.
  • Edit the script in ~/.config/eww/scripts/getweather. Further steps are specified within that file.
  • Open tint2conf and edit the theme panellauncher.tint2rc. In there, head over to the Launcher tab and set the icon theme as candy-icons.
  • Get the Museo Sans 300 (ONLY THE 300 WEIGHT PLEASE, OTHERS LOOK WEIRD) font from Adobe itself or any other sources, put the .ttf or .otf file in your ~/.local/share/fonts
    • Run fc-cache -f after getting the font.
  • If the widgets don't work properly, go to the main repository and install eww as documented. Make sure the resulting binary is stored in ~/bin.
  • Issue xmonad --recompile after you complete all the steps, and relogin to xmonad.
  • For the profile picture to load, it needs to have the full path in eww.scss. Open the file, search for the string containing ~/.config(line number 329 to be exact) and edit it to point it to your image. Full path required. For example: /home/axarva/path/to/image.png.
  • Minor details: If you are on systemd, edit all the files related to powermenus to match the commands specific to systemd. For example:
loginctl suspend

And:

doas poweroff

Become:

systemctl suspend

And:

systemctl poweroff

Respectively.

Stuff to global-replace for systemd users

  • loginctl suspend with systemctl suspend
  • doas reboot with systemctl reboot
  • doas poweroff with systemctl poweroff

These references occur in the following files:

  • bin/powermenu.sh
  • eww*/scripts/shutdown.sh
  • eww*/scripts/reboot.sh
  • eww*/scripts/suspend.sh

doas references:

  • eww*/scripts/getvpnstat (You probably won't be using protonvpn, so you could just ignore this as well.)
  • eww*/scripts/shutdown.sh
  • eww*/scripts/reboot.sh

For Arch Linux and it's derivatives (make sure you have git installed):

Piece of good advice: Since you are on an Arch-based distro, it is likely you use systemd. In case you don't, go ahead and ignore this and skip to Going Ahead: Arch Edition.

In case you do, I recommend opening this repository in a text editor after you clone it, and global-replace the stuff specified in Stuff for sysd users. After that, go ahead with Going Ahead: Arch Edition.

Going Ahead: Arch Edition

Note: THIS MAKES BACKUPS TOO, SO YEAH. JUST DO IT. DO IT!

$ git clone https://github.com/Axarva/dotfiles-2.0.git
$ cd ./dotfiles-2.0
$ chmod +x ./install-on-arch.sh
$ ./install-on-arch.sh

That'll do the basic stuff. For a complete kang (kang means copying, don't mind my jargon), look at the list of dependencies below.

AND DON'T FORGET TO READ WHAT'S WRITTEN AT THE END OF THE MAIN INSTALLATION SECTION UP THERE. Further steps are specified there. (Yes. Absolutely needs to be shouty capitals.)

For Gentoo Linux users (And basically any other distro):

I'm sorry guys, I couldn't do it. I'm having a mental breakdown rn.

Piece of good advice: If you don't use systemd, go ahead and ignore this, and skip to Going ahead: Others Edition.

In case you do use systemd, I recommend opening this repository in a text editor after you clone it, and global-replace the stuff specified in Stuff for sysd users. After that, go ahead with Going ahead: Others Edition.

Going Ahead: Others Edition

You need to install the dependencies yourself, this script will add the fonts and the configs (AND BACK UP EXISTING ONES TOO, FOR GOD'S SAKE DON'T BE SO PARANOID):

$ git clone https://github.com/Axarva/dotfiles-2.0.git
$ cd ./dotfiles-2.0
$ chmod +x ./install-on-gentoo.sh
$ ./install-on-gentoo.sh

AND DON'T FORGET TO READ WHAT'S WRITTEN AT THE END OF THE MAIN INSTALLATION SECTION UP THERE. Further steps are specified there. (Yes. Absolutely needs to be shouty capitals.)

Dependencies

Ahhhhh the other main stuff. Here you go, peeps. Make sure you have em all.

  • xmonad (OF COURSE, DUH)
  • eww (ElKowar's Wacky Widgets, binary included, but I encourage you to build it yourself and put the binary in your ~/bin). Link
  • firefox (Yup)
  • rofi version 1.6.0 (Configs originally come from @adi1090x, been edited by me).
  • tint2 (Install using package manager, other binary from my fork is provided)
  • acpi
  • Museo Sans Font by Adobe (I think it needs some sort of acount, but get it) Or just search for it on the web and get it somewhere
  • Any Nerd Font, Iosevka recommended along with Hurmit. Nerd Fonts now included in folder. Link
  • playerctl
  • brightnessctl. Link
  • OpenRC (Wait a sec, yep, remember to edit the powermenu files if you use systemd)
  • candy-icons. Link
  • dunst
  • Spotify (for cover art, else edit the eww/scripts/getart script accordingly)
  • An OpenWeatherMap Account, (view eww/scripts/getweather script for more info)
  • feh
  • NetworkManager
  • zsh (THIS IS IMPORTANT)
  • alacritty
  • picom (fork of ibhagwan or jonaburg)
  • doas- wait, just replace doas occurences with sudo, or go macho and install doas
  • jq: Command line json parser (Needed for widgets)
  • maim and xclip for screenshots
  • mpv for low-battery sound playing (Not exactly necessary, you'll get the notification, but the sound depends on it.)
  • Might need to be updated, so please tell me

Troubleshooting

And here we are:

  1. If xmonad doesn't build make sure you have xmonad-contrib
  2. Bar looks weird: Try editing it a bit using tint2conf.
  3. Alacritty configs are faulty: I'm not sure about this one, works perfectly fine for me.
  4. Widgets positioning weird: I hardcoded them for a 1366x768 screen, will create others if I can
  5. Fonts: GET THOSE FONTS!
  6. MAKE SURE YOUR ~/bin DIRECTORY IS INSIDE YOUR PATH, OR NOTHING WILL WORK! (Yes. Absolutely needs to be shouty capitals.)
  7. Anything else? Open up an issue.
  8. Workspace indicator bar lost colors: This has a very long explanation, but the fix is as follows:
    • Open up the ~/.config/tint2/workspaces.tint2rc file, and scroll down to the taskbar module at around line 120
    • Add this line in that block: taskbar_name_unoccupied_font_color = #ffd5cd 100
    • Save the file, and refresh the bar with hitting the keybind Win + B twice.
    • Remember not to edit that particular file with tint2conf, or you'll have to do this again!

Good Luck and Cheers!

xmonad-dotfiles's People

Contributors

nanavi 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.