{"id":13288948,"url":"https://github.com/gabrielfrimodig/dotfiles","last_synced_at":"2025-03-16T12:32:43.688Z","repository":{"id":203392850,"uuid":"581181559","full_name":"gabrielfrimodig/dotfiles","owner":"gabrielfrimodig","description":"There's no place like ~ !","archived":false,"fork":false,"pushed_at":"2024-09-25T08:03:05.000Z","size":1238,"stargazers_count":31,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-08T02:04:15.523Z","etag":null,"topics":["awesomewm","dotfiles","kitty","neovim","picom"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gabrielfrimodig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-22T13:43:45.000Z","updated_at":"2025-02-20T04:19:10.000Z","dependencies_parsed_at":"2023-11-07T15:31:09.207Z","dependency_job_id":"95a3733a-68a3-4c86-b7fd-d81fea493e6c","html_url":"https://github.com/gabrielfrimodig/dotfiles","commit_stats":null,"previous_names":["gabrielfrimodig/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfrimodig%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfrimodig%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfrimodig%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfrimodig%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabrielfrimodig","download_url":"https://codeload.github.com/gabrielfrimodig/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243814869,"owners_count":20352052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesomewm","dotfiles","kitty","neovim","picom"],"created_at":"2024-07-29T16:59:44.171Z","updated_at":"2025-03-16T12:32:43.361Z","avatar_url":"https://github.com/gabrielfrimodig.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# .dotfiles\n\n\u003cdiv align=\"center\"\u003e\n    \u003cp\u003e\u003cstrong\u003eThere's no place like \u003ccode\u003e~\u003c/code\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://i.imgur.com/rwlsX3b.png\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[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)\n\n\u003c/div\u003e\n\n## Welcome to my AwesomeWM configurations\n\n\u003ca href=\"https://awesomewm.org/\"\u003e\u003cimg alt=\"AwesomeWM\" height=\"160\" align = \"left\" src=\"https://awesomewm.org/doc/api/images/AUTOGEN_wibox_logo_logo_and_name.svg\"\u003e\u003c/a\u003e\n\n[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.\n\nWelcome 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.\n\nDive 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.\nChanges will be made first and foremost through the [dev branch](https://github.com/gabrielfrimodig/dotfiles/tree/dev) before merged.\n\nEnjoy making your desktop truly your own!\n\n## :memo: Information\n\n- **OS:** Fedora Workstation\n- **File manager:** Thunar\n- **Terminal:** Kitty\n- **Shell:** zsh\n- **Launcher:** Rofi\n- **Screenshot:** maim\n- **Browser:** Brave\n- **Editor:** Neovim / VSCode\n\n## :bell: Latest Updates\n\n- Popup for layout change\n- Volume och brightness: replace slider with progressbar\n- Powermenu and other popups active on focused screen\n- New location for layoutbox\n- Rofi configuration\n- New Layout icons\n- Tags opacity\n\n## :hammer: Future Plans\n\n- Add `gruvbox` and `seashell` themes option.\n- Improve the awesome menu (mouse right click).\n- Icon support for bluetooth headphones.\n- Installtion script ([Issue #12](https://github.com/gabrielfrimodig/dotfiles/issues/12)).\n\n## :wrench: Installation\n\n\n1. Install [git version of AwesomeWM](https://github.com/awesomeWM/awesome/)\n\n    Follow the build instructions [here](https://github.com/awesomeWM/awesome/#building-and-installation).\n\n\n2. Clone this repository\n\n    ```bash\n    git clone https://github.com/gabrielfrimodig/dotfiles.git\n    ```\n\n3. Copy the configuration files to the correct directory\n\n    ```bash\n    cp -r dotfiles/.config/awesome ~/.config/\n    ```\n\n4. Install dependencies\n\n    See [Dependencies](#inbox_tray-dependencies).\n\n5. Restart AwesomeWM\n\n    ```bash\n    awesome -r\n    ```\n\n6. Enjoy!\n\n## :camera: Gallery\n\n\u003cdiv align=\"center\"\u003e\n    \u003cem\u003ePowermenu\u003c/em\u003e\n    \u003cbr\u003e\n    \u003cimg width=\"600px\" src=\"https://i.imgur.com/Kpq8Nqa.png\" alt=\"Powermenu\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cem\u003eRofi menu\u003c/em\u003e\n    \u003cbr\u003e\n    \u003cimg width=\"600px\" src=\"https://i.imgur.com/VTes4VI.png\" alt=\"Widgets\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cem\u003eWifi-tooltip (mouse hover)\u003c/em\u003e\n    \u003cbr\u003e\n    \u003cimg width=\"200px\" src=\"https://i.imgur.com/cnlQbm3.png\" alt=\"Wifi-tooltip\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cem\u003eColorful tags\u003c/em\u003e\n    \u003cbr\u003e\n    \u003cimg width=\"400px\" src=\"https://i.imgur.com/IePmE0e.png\" alt=\"Tags\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cem\u003eWibar widgets\u003c/em\u003e\n    \u003cbr\u003e\n    \u003cimg width=\"800px\" src=\".github/assets/widgets.png\" alt=\"Widgets\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cem\u003eDifferent popups\u003c/em\u003e\n    \u003cbr\u003e\n    \u003cimg widget=\"380px\" src=\".github/assets/layout.png\" alt=\"Popups\" /\u003e\n    \u003cbr\u003e\n    \u003cimg widget=\"180px\" src=\".github/assets/brightness.png\" alt=\"Popups\" /\u003e\n    \u003cbr\u003e\n    \u003cimg width=\"180px\" src=\".github/assets/speaker_on_white.png\" alt=\"Popups\" /\u003e\n    \u003cimg width=\"180px\" src=\".github/assets/speaker_off_white.png\" alt=\"Popups\" /\u003e\n    \u003cbr\u003e\n    \u003cimg width=\"160px\" src=\".github/assets/speaker_on_orange.png\" alt=\"Popups\" /\u003e\n    \u003cimg width=\"160px\" src=\".github/assets/speaker_on_red.png\" alt=\"Popups\" /\u003e\n    \u003cbr\u003e\n    \u003cimg width=\"160px\" src=\".github/assets/mic_on.png\" alt=\"Popups\" /\u003e\n    \u003cimg width=\"164px\" src=\".github/assets/mic_off.png\" alt=\"Popups\" /\u003e\n\u003c/div\u003e\n\n## :bulb: Features\n\n- **Theme:** Following [Catppuccin mocha](https://github.com/catppuccin/catppuccin).\n- **Client in focus:** The client in focus is highlighted while the other are somewhat opaque.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg width=\"200px\" src=\"https://i.imgur.com/chCfd25.png\" alt=\"Widgets\" /\u003e\n    \u003cbr\u003e\n    \u003cem\u003eKitty terminal in focus.\u003c/em\u003e\n\u003c/div\u003e\n\n- **Urgent:** Urgent tags will be red.\n- **Battery:** Battery icon will dynamically change based on status.\n- **Popups:** Popup will be shown when either brightness, volume or microphone status is changed.\n\n- **Wallpaper:** Set wallpaper with `feh` in `autostart.sh`.\n  \u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003eautostart.sh\u003c/code\u003e\u003c/summary\u003e\n\n  ```bash\n  feh --bg-fill ~/Pictures/wallpapers/1.jpg\n  ```\n\n  \u003c/details\u003e\n- **Mapping:** Spotify maps to tag 8, screen 1, Discord maps to tag 9, screen 1.\n  \u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003erules/init.lua\u003c/code\u003e\u003c/summary\u003e\n\n  ```lua\n    ruled.client.append_rule {\n        rule       = { class = \"discord\" },\n        properties = { screen = 1, tag = awful.screen.focused().tags[9] }\n    }\n\n    ruled.client.append_rule {\n        rule       = { class = \"Spotify\" },\n        properties = { screen = 1, tag = awful.screen.focused().tags[8] }\n    }\n    ```\n\n    \u003c/details\u003e\n- **Screenshot:** Will be saved at `~/Pictures/Screenshots/` with timestamp provided by the OS.\n  \u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003ebindings/keyboard.lua\u003c/code\u003e\u003c/summary\u003e\n\n  ```lua\n    awful.key({}, \"Print\", function()\n        local home = os.getenv(\"HOME\")\n        local filepath = home .. \"/Pictures/Screenshots/\" .. os.date(\"%Y-%m-%d_%H:%M:%S\") .. \".png\"\n        awful.spawn.with_shell('maim -u ' .. filepath)\n        naughty.notify({\n            icon = filepath,\n            title = \"Screenshot taken\",\n            text = filepath\n        })\n    end, { description = \"screen screenshot\", group = \"launcher\" }),\n    awful.key({ \"Shift\" }, \"Print\", function()\n        local home = os.getenv(\"HOME\")\n        local filepath = home .. \"/Pictures/Screenshots/\" .. os.date(\"%Y-%m-%d_%H:%M:%S\") .. \".png\"\n        awful.spawn.with_shell('maim -s --format png -u ' .. filepath .. '| xclip -selection clipboard -t image/png -i')\n        naughty.notify({\n            icon = filepath,\n            title = \"Select Area for Screenshot\",\n            text = \"Screenshot will be saved\"\n        })\n    end, { description = \"screenshot area\", group = \"launcher\" }),\n  ```\n\n  \u003c/details\u003e\n- Neovim configuration is [here](https://github.com/gabrielfrimodig/neovim).\n- Multi-screen support\n\n## :inbox_tray: Dependencies\n\n- **AwesomeWM:** [Git version](https://github.com/awesomeWM/awesome) is required\n- **Picom:** [yshui/picom](https://github.com/yshui/picom)\n- **feh:** For setting wallpaper\n- **rofi:** Application launcher\n- **pactl:** Managing sound and mic\n- **acpi:** Battery Information \n- **xbacklight:** Screen brightness\n- **maim:** Screenshot tool\n  - **xclip:** Copying screenshots to clipboard\n  - The folder `~/Pictures/Screenshots/` must exists for screenshots to be saved.\n- **playerctl:** Media player control\n- **i3lock:** Lockscreen\n- **Fonts:**\n  - **Icons:** [Material Design Icons](https://pictogrammers.com/)\n  - **AwesomeWM:** `JetBrains Mono` and `Ubuntu Nerd Font`\n- **Autostart.sh** Needs permission change to work properly\n  ```bash\n  chmod +x autostart.sh\n  ```\n- **Kitty** Default terminal\n- **Vim** Default text-editor\n\n## :musical_keyboard: Keybindings\n\nFind the detailed keybinding list on the [wiki page](https://github.com/gabrielfrimodig/dotfiles/wiki/Keybindings).\n\n## :evergreen_tree: Structure\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003etree ~/.config/awesome\u003c/code\u003e\u003c/summary\u003e\n\n```markdown\n.\n├── autostart.sh\n├── bindings\n│   ├── init.lua\n│   ├── keyboard.lua\n│   └── mouse.lua\n├── config\n│   ├── gaps.lua\n│   ├── init.lua\n│   ├── layout.lua\n│   ├── menu.lua\n│   └── signals.lua\n├── rc.lua\n├── rules\n│   └── init.lua\n├── signals\n│   ├── brightness.lua\n│   ├── corners.lua\n│   ├── error.lua\n│   ├── init.lua\n├── theme\n│   ├── catppuccino\n│   │   ├── layouts\n│   │   │   ├── cornernew.png\n│   │   │   ├── cornernww.png\n│   │   │   ├── cornersew.png\n│   │   │   ├── cornersww.png\n│   │   │   ├── dwindlew.png\n│   │   │   ├── fairhw.png\n│   │   │   ├── fairvw.png\n│   │   │   ├── floatingw.png\n│   │   │   ├── fullscreenw.png\n│   │   │   ├── magnifierw.png\n│   │   │   ├── maxw.png\n│   │   │   ├── spiralw.png\n│   │   │   ├── tilebottomw.png\n│   │   │   ├── tileleftw.png\n│   │   │   ├── tiletopw.png\n│   │   │   └── tilew.png\n│   │   └── theme.lua\n│   ├── gruvbox\n│   └── seashell\n└── ui\n    ├── bar\n    │   ├── init.lua\n    │   ├── layoutbox.lua\n    │   ├── taglist.lua\n    │   ├── tasklist.lua\n    │   └── widgets\n    │       ├── battery.lua\n    │       ├── brightness.lua\n    │       ├── clock.lua\n    │       ├── cpu.lua\n    │       ├── date.lua\n    │       ├── memory.lua\n    │       ├── volume.lua\n    │       └── wifi.lua\n    ├── init.lua\n    ├── notifications\n    │   └── init.lua\n    ├── popups\n    │   ├── layouts.lua\n    │   └── mic.lua\n    └── powermenu\n        ├── button.lua\n        └── init.lua\n\n```\n\n\u003c/details\u003e\n\n## :sparkling_heart: Credits\n\nInspiration taken from [this reddit post](https://www.reddit.com/r/unixporn/comments/yxlylm/dwm_i_heard_catppuccin_is_the_new_cool/?utm_source=share\u0026utm_medium=web2x\u0026context=3).\n\n**AwesomeWM inspirational sources:**\n- [pablonoya/awesomewm-configuration](https://github.com/pablonoya/awesomewm-configuration)\n\n## :scroll: License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](https://github.com/gabrielfrimodig/dotfiles/blob/master/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielfrimodig%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielfrimodig%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielfrimodig%2Fdotfiles/lists"}