Skip to content

Jimminer/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

A collection of my important dotfiles

Feel free to Ctrl-C Ctrl-V anything you like 😁

Desktop Preview

Contents

  • alacritty
    • Alacritty terminal config (mostly colors)
  • awesome
    • AwesomeWM config with a lot of custom things (see here for more info)
  • mpv
    • Mpv config with the uosc theme
  • rofi
    • Rofi config
  • Thunar
    • Thunar config with my custom actions and keybinds
  • VSCodium
    • VSCodium user settings and product.json configs
  • .zshrc
    • Zsh config with my custom alieases and functions

AwesomeWM Config

Important

This config is still a work in progress. Admittedly, it's a bit of a mess but I'm working on it. I will try to keep this README updated as I make changes to the config.

Most of the config is either made by me or kept unchanged from the default awesome config but there are many resources that helped me. From some of them I got ideas and inspiration, from others I found ways to do things I didn't know how to do.

Here are some of the most notable ones:

Basic Info

Note

My config for awesome is tailored towards my setup and my needs. It will probably not work out of the box for you and you will have to change some things. I will try to explain everything as best as I can but if you have any questions or need any help, hit me up on Discord: @mitsos or open an issue on this repo.

Setup

OS: Arch Linux
CPU: AMD Ryzen 7 5800X
GPU: AMD Radeon RX 5700 XT

Custom Commands

Some commands I've made to help me make some things easier

Command Arguments Description
printn text Uses awesome's naughty library to send a notification (used mostly for debugging)
runCommand command Opens a process from the given command and returns it's output
runInTag program, tag Runs a program in the given tag (desktop)

Custom Widgets

Bar widgets I've made to display useful info or provide some functionality

Widget Description
battery Battery percentage, charging status and charge/discharge time
cpuInfo CPU usage and temperature
languageChange Displays volume level and mute status
memoryInfo RAM usage
nowPlaying Currently playing song
gpuInfo GPU usage and temperature
volume Volume level and mute status (LMB: toggle mute, MMB: pavucontrol, SCROLL: change volume)

Dependencies

Mandatory dependencies

Optional Dependencies

All my startups/keybinds are made with the following dependencies in mind. If you don't have them installed, you will have to change the keybinds to something else.

Customization

I strongly recommend you go through the config and change things to your liking.

Below are examples for changing startup applications, keybinds and the theme.


Startup Applications

My startup apps are configured in the file awesome/config/startup.lua.

Examples:

-- Run the brave browser
awful.spawn.with_shell("brave")

-- Run VSCodium in the first screen's fifth tag (needs my custom runInTag command)
runInTag("vscodium", screen[1].tags[5])

-- Run Thunar if it's not already running
if runCommand("pgrep -f " .. "thunar") == "" then
    awful.spawn.with_shell("thunar")
end

Keybinds

My custom keybinds are configured in the file awesome/config/keybindings.lua in the variable customKeys.

Keybind Example:

awful.key(
    -- Modifiers
    { modkey, "Shift", "Control" },
    
    -- Key
    "m",

    -- Action
    function()
        awful.spawn.with_shell("myapp")
    end,

    -- Info to be shown in the keybind cheatsheet (modkey + S)
    { description = "do something", group = "applications" }
)

Theme

I have the default awesome themes in awesome/themes. The theme blackburn is the one I use and the only one that I have modified.

Modify any theme to your liking and select it in awesome/rc.lua in the variable chosen_theme.

About

A collection of my important dotfiles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages