awesome-dotfiles

授权协议 Readme
开发语言 Lua
所属分类 应用工具、 文档/文本编辑
软件类型 开源软件
地区 不详
投 递 者 尉迟雅昶
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Awesome Dotfiles

Pastel Theme

Mirage Theme

Contents

  1. Details
  2. Features
  3. Dependencies
  4. Installation
  5. Folder Structure
  6. Application Theming
  7. Keybinds
  8. Notes

Details

  • Shell: ZSH
  • WM: awesome
  • Theme: Qogir Dark
  • Icons: Tela Dark
  • Cursor: xCursor Breeze Light
  • Terminal: Alacritty

Features

  • Super lightweight
  • Easy installation / configuration
  • Very few dependencies
  • Exit screen
  • Locking (via i3lock)
  • Touch screen friendly (I primarily run this on a microsoft surface pro 6)
  • Automatic dpi / resolution scaling
    • Note that xft.dpi must be properly assigned in the .Xresources file if you are using a high DPI screen
  • Supports multi monitor setups!
    • The top bar appears on every monitor, and the side bar only appears on the main monitor
  • i3-like keybinds
  • Very stable: Built off of the awesome 4.3 release, no bleeding edge git versions required here!

Dependencies

I have made my best effort to reduce the number of dependencies by using the awesome API to its fullest extent, and allowing users to specify their preferred applications via the rc.lua file (see installation section). That being said, here are the dependencies:

Dependency Description
awesome Window manager
feh Fast image viewer used as wallpaper setting utility
picom-ibhagwan Window compositor, eliminates screen tearing and allows for cool fade effects. ibhagwan version required for mirage theme
rofi Application launcher
imagemagick OPTIONAL BUT NEEDED IF USING A DIFFERENT BACKGROUND, used in config to generate blurred wallpaper

Optional Dependencies

These will improve the user experience but aren't required:Bear in mind that most of these dependencies come preinstalled on non arch systems. I would recommend reading their descriptions below to determine which ones you need to install. Alternatively, set up my config and install the packages based on what isn't appearing in the top panel.

  • i3lock: Will be opened when the lock icon is selected in the exit window
  • acpi: Battery managing cli application, used by top bar widget to determine battery status
  • bluez, bluez-utils: Bluetooth cli application, used by top bar widget to determine if bluetooth is on
  • blueman: Bluetooth managing application, spawns when the bluetooth top panel icon is clicked
  • scrot: Screenshot tool, which is mapped to the Print Screen key in keys.lua. If you want to meet this dependency, ensure that the ~/Pictures folder exists, otherwise the program will save your screenshots to your home directory
  • alsa-utils: Provides kernel driven sound drivers, which the control of has been mapped to volume keys in keys.lua
  • xbacklight: Controls display brightness, which the control of has been mapped to brightness keys in keys.lua

Fonts You Should Install

  • SF Text: System font used by macOS, iOS, and watchOS. Used in this config as the WM font. Also used as font for firefox
  • MesloLGS: Terminal font, customized to work flawlessly with the zsh theme used, mentioned in the application theming section of the readme.

Installation

  1. Ensure all dependencies are met
  2. Clone this repository and place its contents into your .config folder
  3. edit the awesome/rc.lua file to select your theme, and define your desired default and startup applications, as well as network interfaces
  4. navigate to the awesome/wallpaper folder and place your desired wallpaper there, ensuring that it is named either wallpaper.jpg if using the pastel theme, or mirage.png if using the mirage theme. Remember to delete the blurredWallpaper file in order to make the blurring script recognize a new wallpaper has been added and needs to be blurred
  5. optional: edit the keys.lua file to change / add keybinds

Awesome Folder File Structure

In order to avoid a poorly organized rc.lua spanning thousands of lines, it has been split into multiple files / folders. I have taken extra care to create a logical directory structure that will hopefully allow those new to awesomewm to have an easy time navigating it.

  • rc.lua: The main script that runs when awesome starts. Defines theme and default applications, and selects them
  • keys.lua: Contains keybinds
  • rules.lua: Contains window rules
  • pastel.lua: Initializes the pastel theme (spawns all of the pastel theme components)
  • mirage.lua: Initializes the mirage theme (spawns all of the mirage theme components)
  • themes: Contains files with theme variables (ie colors, sizing, font, etc)
  • icons: stores icons used in WM
  • components: Folder that contains all of the components of the WM, such as panels, volume and brightness sliders, notification pop-ups, etc
  • configuration: Contains theme-based config files for applications (ie rofi, picom, etc)
  • widgets: Stores widgets used in the functionality of the components
  • wallpaper: Where wallpaper and its blurred varient is generated / stored

Other cool applications you should install

  • redshift: Changes screen warmth based on the time of day
  • neofetch: Displays system information in the terminal
  • cmatrix: Terminal base matrix text effect

Application Theming

Firefox

Pastel

  1. Set up my custom Firefox theme
  2. Use this homepage
  3. Use SF Text font

Mirage

  1. Set up the blurredfox theme
  2. Replace the colors/blurred.css with the one found in this repo under awesome/configuration/mirage/blurred.css

Spotify

  1. Install Spicetify
  2. chown spotify directory: sudo chown $USER -R /opt/spotify
  3. run spicetify once to generate config
  4. spicetify backup apply enable-devtool to enable devtools
  5. Copy my spicetify folder to ~/.config
  6. run spicetify update restart

Neovim

  1. Ensure the nvim folder from the repo has been copied into the ~/.config directory
  2. Install VimPlug with
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  1. Open neovim and run :PlugInstall
  2. Exit and reopen neovim

Zsh

  1. Install oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  1. Change the zsh theme to powerlevel10k
  • Download this font, and move it into your /usr/share/fonts directory
  • Install powerlevel10k with the command below:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
  • Open ~/.zshrc with your fave text editor
  • Set ZSH_THEME="powerlevel10k/powerlevel10k" and save the file
  1. Install Plugins (Note that the ~/.zshrc edits are already done in this repo)
  • Syntax highlighting (copy and paste the below command to install)
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
    
    • Edit ~/.zshrc, add zsh-syntax-highlighting to the plugins section
  • Autosuggestions (copy and paste the below command to install)
    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
    
    • Edit ~/.zshrc, add zsh-autosuggestions to the plugins section
  1. Fini! Reopen the terminal to view the fruit of your labor

Keybinds

Note that the modkey is set to be the windows / command key. If you would like to use a different modkey check out the keys.lua file.If you are new to awesomewm, note that tag refers to workspace, and client refers to window. Shown below are the main keybinds that most users will care about.

Keyboard

  • mod + enter: Spawn terminal
  • mod + d: Spawn rofi (an application menu)
  • mod + f: Make client fullscreen
  • mod + m: Maximize client
  • mod + n: Minimize client
  • mod + shift + n: Unminimize client
  • mod + [1-9]: Switch to tag [1-9]
  • mod + shift + [1-9]: Move client to tag [1-9]
  • mod + space: Change the tag layout, alternating between tiled, floating, and maximized
  • mod + [up / down / left / right / h / j / k / l]: Change client by direction
  • mod + Shift + [up / down / left / right / h / j / k / l]: Move client by direction
  • mod + Control + [up / down / left / right / h / j / k / l]: Resize client by direction
  • mod + Escape: Show exit screen

Mouse

  • mod + drag with left click: Move client
  • mod + drag with right click: Resize client

Notes

  • Awesome API Documentation
  • If you encounter any problems please open an issue in this repo and I will gladly investigate it
  • If you would like to change the wallpaper, ensure that the wallpaper is named "wallpaper" and is located in the ~/.config/awesome folder. Also ensure that you delete the blurred wallpaper file in order for the blurring script to recognize it needs to generate a new blurred wallpaper
 相关资料
  • Awesome Awesome Node.js A curated list of awesome lists that are about or related to Node.js. Inspired by the awesome list thing, going deeper down the rabbit hole. �� Meta stuff about this awesome li

  • A curated list of awesome things related to Vite.js This awesome list is for Vite 2.x and onward. Vite 1.x's list is archived. Resources Official Resources 文档 GitHub Repo Release Notes Vue 3 Docs Awes

  • Awesome Python 是一个资源整理集合,由 vinta 发起和维护。内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。 这个系列没有推荐 Python 书籍、经典博文、交互教程,所以另外推荐:《25本免费的Python电子书》、《学习Python编程的11个(教程)资源》、《PythonMonk:Py

  • Font Awesome 是一个图标工具包。其已经被重新设计并从头构建。除此之外,还增加了一些功能,比如 icon font ligature、SVG 框架、流行的前端库(如 React)的官方 NPM 包,以及对新 CDN 的访问。Font Awesome 已扩展至 7,865 个图标。

  • awesome-android 收录了来自 github 或其他网站的关于 Android 的大部分库。

  • The Lithe Project Development Team Awesome CryptoNote A curated list of awesome CryptoNote open-source blockchains, resources, projects, and shiny other things related.Many projects are derived from f