Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gabrielfrimodig/dotfiles
There's no place like ~ !
https://github.com/gabrielfrimodig/dotfiles
awesomewm dotfiles kitty neovim picom
Last synced: 11 days ago
JSON representation
There's no place like ~ !
- Host: GitHub
- URL: https://github.com/gabrielfrimodig/dotfiles
- Owner: gabrielfrimodig
- License: mit
- Created: 2022-12-22T13:43:45.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-25T08:03:05.000Z (about 1 month ago)
- Last Synced: 2024-10-17T17:06:34.388Z (21 days ago)
- Topics: awesomewm, dotfiles, kitty, neovim, picom
- Language: Lua
- Homepage:
- Size: 1.18 MB
- Stars: 27
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# .dotfiles
There's no place like
~
!
[Information](#memo-information) • [Latest Updates](#bell-latest-updates) • [Future Plans](#hammer-future-plans) • [Installation](#wrench-installation) • [Gallery](#camera-gallery) • [Features](#bulb-features) • [Dependencies](#inbox_tray-dependencies) • [Keybindings](#musical_keyboard-keybindings) • [Structure](#evergreen_tree-structure) • [Credits](#sparkling_heart-credits) • [License](#scroll-license)
## Welcome to my AwesomeWM configurations
[AwesomeWM](https://awesomewm.org/) is a highly configurable, next generation tiling window manager for X. It is renowned for its extensibility and its dynamic window management capabilities, which are powered by the Lua programming language.
Welcome to my AwesomeWM configuration repository! This setup is crafted to create a productive and visually appealing desktop environment using the AwesomeWM. It's designed to be elegant, allowing for quick navigation and organization of the workspace with a sleek, minimalist aesthetic.
Dive into the configuration files to discover a realm of efficiency and customization. Whether you're new to AwesomeWM or a seasoned enthusiast, I hope this repository serves as both a resource and inspiration for your own configurations.
Changes will be made first and foremost through the [dev branch](https://github.com/gabrielfrimodig/dotfiles/tree/dev) before merged.Enjoy making your desktop truly your own!
## :memo: Information
- **OS:** Fedora Workstation
- **File manager:** Thunar
- **Terminal:** Kitty
- **Shell:** zsh
- **Launcher:** Rofi
- **Screenshot:** maim
- **Browser:** Brave
- **Editor:** Neovim / VSCode## :bell: Latest Updates
- Popup for layout change
- Volume och brightness: replace slider with progressbar
- Powermenu and other popups active on focused screen
- New location for layoutbox
- Rofi configuration
- New Layout icons
- Tags opacity## :hammer: Future Plans
- Add `gruvbox` and `seashell` themes option.
- Improve the awesome menu (mouse right click).
- Icon support for bluetooth headphones.
- Installtion script ([Issue #12](https://github.com/gabrielfrimodig/dotfiles/issues/12)).## :wrench: Installation
1. Install [git version of AwesomeWM](https://github.com/awesomeWM/awesome/)
Follow the build instructions [here](https://github.com/awesomeWM/awesome/#building-and-installation).
2. Clone this repository
```bash
git clone https://github.com/gabrielfrimodig/dotfiles.git
```3. Copy the configuration files to the correct directory
```bash
cp -r dotfiles/.config/awesome ~/.config/
```4. Install dependencies
See [Dependencies](#inbox_tray-dependencies).
5. Restart AwesomeWM
```bash
awesome -r
```6. Enjoy!
## :camera: Gallery
Powermenu
Rofi menu
Wifi-tooltip (mouse hover)
Colorful tags
Wibar widgets
Different popups
## :bulb: Features
- **Theme:** Following [Catppuccin mocha](https://github.com/catppuccin/catppuccin).
- **Client in focus:** The client in focus is highlighted while the other are somewhat opaque.
Kitty terminal in focus.- **Urgent:** Urgent tags will be red.
- **Battery:** Battery icon will dynamically change based on status.
- **Popups:** Popup will be shown when either brightness, volume or microphone status is changed.- **Wallpaper:** Set wallpaper with `feh` in `autostart.sh`.
autostart.sh
```bash
feh --bg-fill ~/Pictures/wallpapers/1.jpg
```
- **Mapping:** Spotify maps to tag 8, screen 1, Discord maps to tag 9, screen 1.
rules/init.lua
```lua
ruled.client.append_rule {
rule = { class = "discord" },
properties = { screen = 1, tag = awful.screen.focused().tags[9] }
}ruled.client.append_rule {
rule = { class = "Spotify" },
properties = { screen = 1, tag = awful.screen.focused().tags[8] }
}
```
- **Screenshot:** Will be saved at `~/Pictures/Screenshots/` with timestamp provided by the OS.
bindings/keyboard.lua
```lua
awful.key({}, "Print", function()
local home = os.getenv("HOME")
local filepath = home .. "/Pictures/Screenshots/" .. os.date("%Y-%m-%d_%H:%M:%S") .. ".png"
awful.spawn.with_shell('maim -u ' .. filepath)
naughty.notify({
icon = filepath,
title = "Screenshot taken",
text = filepath
})
end, { description = "screen screenshot", group = "launcher" }),
awful.key({ "Shift" }, "Print", function()
local home = os.getenv("HOME")
local filepath = home .. "/Pictures/Screenshots/" .. os.date("%Y-%m-%d_%H:%M:%S") .. ".png"
awful.spawn.with_shell('maim -s --format png -u ' .. filepath .. '| xclip -selection clipboard -t image/png -i')
naughty.notify({
icon = filepath,
title = "Select Area for Screenshot",
text = "Screenshot will be saved"
})
end, { description = "screenshot area", group = "launcher" }),
```
- Neovim configuration is [here](https://github.com/gabrielfrimodig/neovim).
- Multi-screen support## :inbox_tray: Dependencies
- **AwesomeWM:** [Git version](https://github.com/awesomeWM/awesome) is required
- **Picom:** [yshui/picom](https://github.com/yshui/picom)
- **feh:** For setting wallpaper
- **rofi:** Application launcher
- **pactl:** Managing sound and mic
- **acpi:** Battery Information
- **xbacklight:** Screen brightness
- **maim:** Screenshot tool
- **xclip:** Copying screenshots to clipboard
- The folder `~/Pictures/Screenshots/` must exists for screenshots to be saved.
- **playerctl:** Media player control
- **i3lock:** Lockscreen
- **Fonts:**
- **Icons:** [Material Design Icons](https://pictogrammers.com/)
- **AwesomeWM:** `JetBrains Mono` and `Ubuntu Nerd Font`
- **Autostart.sh** Needs permission change to work properly
```bash
chmod +x autostart.sh
```
- **Kitty** Default terminal
- **Vim** Default text-editor## :musical_keyboard: Keybindings
Find the detailed keybinding list on the [wiki page](https://github.com/gabrielfrimodig/dotfiles/wiki/Keybindings).
## :evergreen_tree: Structure
tree ~/.config/awesome
```markdown
.
├── autostart.sh
├── bindings
│ ├── init.lua
│ ├── keyboard.lua
│ └── mouse.lua
├── config
│ ├── gaps.lua
│ ├── init.lua
│ ├── layout.lua
│ ├── menu.lua
│ └── signals.lua
├── rc.lua
├── rules
│ └── init.lua
├── signals
│ ├── brightness.lua
│ ├── corners.lua
│ ├── error.lua
│ ├── init.lua
├── theme
│ ├── catppuccino
│ │ ├── layouts
│ │ │ ├── cornernew.png
│ │ │ ├── cornernww.png
│ │ │ ├── cornersew.png
│ │ │ ├── cornersww.png
│ │ │ ├── dwindlew.png
│ │ │ ├── fairhw.png
│ │ │ ├── fairvw.png
│ │ │ ├── floatingw.png
│ │ │ ├── fullscreenw.png
│ │ │ ├── magnifierw.png
│ │ │ ├── maxw.png
│ │ │ ├── spiralw.png
│ │ │ ├── tilebottomw.png
│ │ │ ├── tileleftw.png
│ │ │ ├── tiletopw.png
│ │ │ └── tilew.png
│ │ └── theme.lua
│ ├── gruvbox
│ └── seashell
└── ui
├── bar
│ ├── init.lua
│ ├── layoutbox.lua
│ ├── taglist.lua
│ ├── tasklist.lua
│ └── widgets
│ ├── battery.lua
│ ├── brightness.lua
│ ├── clock.lua
│ ├── cpu.lua
│ ├── date.lua
│ ├── memory.lua
│ ├── volume.lua
│ └── wifi.lua
├── init.lua
├── notifications
│ └── init.lua
├── popups
│ ├── layouts.lua
│ └── mic.lua
└── powermenu
├── button.lua
└── init.lua```
## :sparkling_heart: Credits
Inspiration taken from [this reddit post](https://www.reddit.com/r/unixporn/comments/yxlylm/dwm_i_heard_catppuccin_is_the_new_cool/?utm_source=share&utm_medium=web2x&context=3).
**AwesomeWM inspirational sources:**
- [pablonoya/awesomewm-configuration](https://github.com/pablonoya/awesomewm-configuration)## :scroll: License
This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/gabrielfrimodig/dotfiles/blob/master/LICENSE) file for details.