Repository: Barbaross93/Nebula
Branch: main
Commit: 94e5eb68eb5d
Files: 400
Total size: 359.6 KB
Directory structure:
gitextract_4xi39y78/
├── .config/
│ ├── BetterDiscord/
│ │ └── themes/
│ │ └── nordic.theme.css
│ ├── alacritty/
│ │ └── alacritty.yml
│ ├── btop/
│ │ └── btop.conf
│ ├── doom/
│ │ ├── config.el
│ │ ├── init.el
│ │ └── packages.el
│ ├── dunst/
│ │ └── dunstrc
│ ├── eww/
│ │ ├── eww.scss
│ │ ├── eww.yuck
│ │ └── scripts/
│ │ ├── getart
│ │ ├── getday
│ │ ├── gettitle
│ │ ├── getvol
│ │ ├── getweather
│ │ ├── getwethquote
│ │ ├── getwethquote2
│ │ ├── musicstatus
│ │ ├── quotes
│ │ ├── vol_icon.sh
│ │ └── weather-trimmer
│ ├── flashfocus/
│ │ └── flashfocus.yml
│ ├── fontconfig/
│ │ └── fonts.conf
│ ├── greenclip.toml
│ ├── gtk-3.0/
│ │ ├── bookmarks
│ │ ├── gtk.css
│ │ └── settings.ini
│ ├── jgmenu/
│ │ ├── append.csv
│ │ ├── backup/
│ │ │ ├── 20210328092350068293038/
│ │ │ │ └── jgmenurc
│ │ │ ├── 20210328092350083298148/
│ │ │ │ ├── append.csv
│ │ │ │ └── jgmenurc
│ │ │ ├── 20210328092354312474020/
│ │ │ │ ├── append.csv
│ │ │ │ ├── jgmenurc
│ │ │ │ └── prepend.csv
│ │ │ ├── 20210328092354319339759/
│ │ │ │ └── jgmenurc
│ │ │ └── 20210328092354330711136/
│ │ │ ├── append.csv
│ │ │ └── jgmenurc
│ │ ├── jgmenurc
│ │ └── qtile.csv
│ ├── neofetch/
│ │ └── config.conf
│ ├── paru/
│ │ └── paru.conf
│ ├── picom/
│ │ └── picom.conf
│ ├── qtile/
│ │ ├── autostart.sh
│ │ ├── config.py
│ │ ├── dunst.sh
│ │ ├── eww_vol.sh
│ │ ├── eww_vol_icon.sh
│ │ ├── focus_mode.sh
│ │ └── toggle_eww.sh
│ ├── rofi/
│ │ ├── config.rasi
│ │ ├── configNotif.rasi
│ │ ├── configPower.rasi
│ │ ├── configTall.rasi
│ │ └── nordic.rasi
│ ├── splatmoji/
│ │ └── splatmoji.config
│ ├── systemd/
│ │ └── user/
│ │ ├── barriers.service
│ │ ├── edges.service
│ │ ├── eww.service
│ │ ├── flashfocus.service
│ │ ├── greenclip.service
│ │ ├── picom.service
│ │ ├── redshift.service
│ │ ├── xbanish.service
│ │ └── xidlehook.service
│ ├── tmux/
│ │ └── tmux.conf
│ ├── user-dirs.dirs
│ ├── user-dirs.locale
│ ├── x11/
│ │ ├── Xresources
│ │ ├── xinitrc
│ │ └── xprofile
│ └── zsh/
│ ├── .p10k.zsh
│ ├── .zprofile
│ └── .zshrc
├── .gitignore
├── .local/
│ ├── bin/
│ │ ├── colorpick.sh
│ │ ├── dunst_logger.sh
│ │ ├── eww_mouse.sh
│ │ ├── gamer_mode.sh
│ │ ├── gif
│ │ ├── greenclip.sh
│ │ ├── linkhandler
│ │ ├── lockscreen.sh
│ │ ├── mp4
│ │ ├── power
│ │ ├── prtregion
│ │ ├── prtscr
│ │ ├── rofi-search.sh
│ │ ├── rofi-task
│ │ ├── rofi_notes.sh
│ │ ├── rofi_notif_center.sh
│ │ ├── screensaver
│ │ ├── toggle_qbar.sh
│ │ ├── toggledunst
│ │ ├── togglepicom
│ │ ├── updates.sh
│ │ └── vol
│ └── share/
│ └── icons/
│ ├── Nord-Icon/
│ │ └── index.theme
│ ├── cursor/
│ │ ├── cursors/
│ │ │ ├── X_cursor
│ │ │ ├── based_arrow_down
│ │ │ ├── based_arrow_up
│ │ │ ├── bottom_left_corner
│ │ │ ├── bottom_right_corner
│ │ │ ├── circle
│ │ │ ├── copy
│ │ │ ├── crossed_circle
│ │ │ ├── fleur
│ │ │ ├── hand1
│ │ │ ├── hand2
│ │ │ ├── left_ptr
│ │ │ ├── question_arrow
│ │ │ ├── right_ptr
│ │ │ ├── sb_down_arrow
│ │ │ ├── sb_h_double_arrow
│ │ │ ├── sb_left_arrow
│ │ │ ├── sb_right_arrow
│ │ │ ├── sb_up_arrow
│ │ │ ├── sb_v_double_arrow
│ │ │ ├── sizing
│ │ │ ├── top_left_corner
│ │ │ ├── top_right_corner
│ │ │ ├── watch
│ │ │ └── xterm
│ │ ├── index.theme
│ │ └── source/
│ │ ├── X_cursor.in
│ │ ├── based_arrow_down.in
│ │ ├── based_arrow_up.in
│ │ ├── beachball.xcf
│ │ ├── bottom_left_corner.in
│ │ ├── bottom_right_corner.in
│ │ ├── circle.in
│ │ ├── copy.in
│ │ ├── crossed_circle.in
│ │ ├── fleur.in
│ │ ├── hand1.in
│ │ ├── hand1.xcf
│ │ ├── left_ptr.in
│ │ ├── loading/
│ │ │ ├── watch
│ │ │ └── watch.in
│ │ ├── make.sh
│ │ ├── question_arrow.in
│ │ ├── right_ptr.in
│ │ ├── sb_down_arrow.in
│ │ ├── sb_h_double_arrow.in
│ │ ├── sb_left_arrow.in
│ │ ├── sb_right_arrow.in
│ │ ├── sb_up_arrow.in
│ │ ├── sb_v_double_arrow.in
│ │ ├── sizing.in
│ │ ├── top_left_corner.in
│ │ ├── top_right_corner.in
│ │ ├── watch
│ │ ├── watch.in
│ │ └── xterm.in
│ ├── default/
│ │ └── index.theme
│ ├── miniature/
│ │ ├── cursor.theme
│ │ ├── cursors/
│ │ │ ├── X_cursor
│ │ │ ├── arrow
│ │ │ ├── bd_double_arrow
│ │ │ ├── bottom_left_corner
│ │ │ ├── bottom_right_corner
│ │ │ ├── bottom_side
│ │ │ ├── busy.cursor
│ │ │ ├── circle
│ │ │ ├── color-picker
│ │ │ ├── copy
│ │ │ ├── cross
│ │ │ ├── crossed_circle
│ │ │ ├── crosshair
│ │ │ ├── default
│ │ │ ├── diag1.cursor
│ │ │ ├── diag2.cursor
│ │ │ ├── dnd-ask
│ │ │ ├── dnd-link
│ │ │ ├── dnd-move
│ │ │ ├── dnd-none
│ │ │ ├── fleur
│ │ │ ├── grabbing
│ │ │ ├── h_double_arrow
│ │ │ ├── hand
│ │ │ ├── hand2
│ │ │ ├── help.cursor
│ │ │ ├── hori.cursor
│ │ │ ├── left_ptr
│ │ │ ├── left_ptr_help
│ │ │ ├── left_ptr_watch
│ │ │ ├── left_side
│ │ │ ├── link
│ │ │ ├── link.cursor
│ │ │ ├── ll_angle
│ │ │ ├── lr_angle
│ │ │ ├── move
│ │ │ ├── move.cursor
│ │ │ ├── nope.cursor
│ │ │ ├── norm.cursor
│ │ │ ├── pencil
│ │ │ ├── pirate
│ │ │ ├── plus
│ │ │ ├── prec.cursor
│ │ │ ├── question_arrow
│ │ │ ├── right_side
│ │ │ ├── sb_down_arrow
│ │ │ ├── sb_h_double_arrow
│ │ │ ├── sb_left_arrow
│ │ │ ├── sb_right_arrow
│ │ │ ├── sb_up_arrow
│ │ │ ├── sb_v_double_arrow
│ │ │ ├── tcross
│ │ │ ├── text.cursor
│ │ │ ├── top_left_corner
│ │ │ ├── top_right_corner
│ │ │ ├── top_side
│ │ │ ├── ul_angle
│ │ │ ├── up.cursor
│ │ │ ├── ur_angle
│ │ │ ├── v_double_arrow
│ │ │ ├── vert.cursor
│ │ │ ├── watch
│ │ │ ├── work.cursor
│ │ │ ├── write.cursor
│ │ │ └── xterm
│ │ └── index.theme
│ ├── pixelfun3/
│ │ ├── cursor.theme
│ │ ├── cursors/
│ │ │ ├── all-scroll
│ │ │ ├── bottom_tee
│ │ │ ├── circle
│ │ │ ├── color-picker
│ │ │ ├── copy
│ │ │ ├── cross
│ │ │ ├── crossed_circle
│ │ │ ├── dnd-ask
│ │ │ ├── dnd-copy
│ │ │ ├── dnd-link
│ │ │ ├── dnd-move
│ │ │ ├── dnd-none
│ │ │ ├── dotbox
│ │ │ ├── e-resize
│ │ │ ├── grabbing
│ │ │ ├── hand2
│ │ │ ├── ibeam
│ │ │ ├── left_ptr
│ │ │ ├── left_ptr_help
│ │ │ ├── left_ptr_watch
│ │ │ ├── left_side
│ │ │ ├── left_tee
│ │ │ ├── link
│ │ │ ├── ll_angle
│ │ │ ├── lr_angle
│ │ │ ├── move
│ │ │ ├── not-allowed
│ │ │ ├── pencil
│ │ │ ├── plus
│ │ │ ├── pointer
│ │ │ ├── pointing_hand
│ │ │ ├── question_arrow
│ │ │ ├── right_ptr
│ │ │ ├── right_tee
│ │ │ ├── sb_down_arrow
│ │ │ ├── sb_left_arrow
│ │ │ ├── sb_right_arrow
│ │ │ ├── sb_up_arrow
│ │ │ ├── size_all
│ │ │ ├── size_bdiag
│ │ │ ├── size_fdiag
│ │ │ ├── size_hor
│ │ │ ├── size_ver
│ │ │ ├── split_h
│ │ │ ├── split_v
│ │ │ ├── text
│ │ │ ├── top_left_corner
│ │ │ ├── top_right_corner
│ │ │ ├── top_side
│ │ │ ├── top_tee
│ │ │ ├── ul_angle
│ │ │ ├── ur_angle
│ │ │ ├── wait
│ │ │ ├── watch
│ │ │ ├── whats_this
│ │ │ └── xterm
│ │ └── index.theme
│ └── pixelfun3-eclipse/
│ ├── cursor.theme
│ ├── cursors/
│ │ ├── all-scroll
│ │ ├── all-scroll.xmc
│ │ ├── bottom_tee
│ │ ├── bottom_tee.xmc
│ │ ├── circle
│ │ ├── circle.xmc
│ │ ├── color-picker
│ │ ├── color-picker.xmc
│ │ ├── copy
│ │ ├── copy.xmc
│ │ ├── cross
│ │ ├── cross.xmc
│ │ ├── crossed_circle
│ │ ├── crossed_circle.xmc
│ │ ├── dnd-ask
│ │ ├── dnd-ask.xmc
│ │ ├── dnd-copy
│ │ ├── dnd-copy.xmc
│ │ ├── dnd-link
│ │ ├── dnd-link.xmc
│ │ ├── dnd-move
│ │ ├── dnd-move.xmc
│ │ ├── dnd-none
│ │ ├── dnd-none.xmc
│ │ ├── dotbox
│ │ ├── dotbox.xmc
│ │ ├── e-resize
│ │ ├── e-resize.xmc
│ │ ├── grabbing
│ │ ├── grabbing.xmc
│ │ ├── hand2
│ │ ├── hand2.xmc
│ │ ├── ibeam
│ │ ├── ibeam.xmc
│ │ ├── left_ptr
│ │ ├── left_ptr.xmc
│ │ ├── left_ptr_help
│ │ ├── left_ptr_help.xmc
│ │ ├── left_ptr_watch
│ │ ├── left_ptr_watch.xmc
│ │ ├── left_side
│ │ ├── left_side.xmc
│ │ ├── left_tee
│ │ ├── left_tee.xmc
│ │ ├── link
│ │ ├── link.xmc
│ │ ├── ll_angle
│ │ ├── ll_angle.xmc
│ │ ├── lr_angle
│ │ ├── lr_angle.xmc
│ │ ├── move
│ │ ├── move.xmc
│ │ ├── not-allowed
│ │ ├── not-allowed.xmc
│ │ ├── pencil
│ │ ├── pencil.xmc
│ │ ├── plus
│ │ ├── plus.xmc
│ │ ├── pointer
│ │ ├── pointer.xmc
│ │ ├── pointing_hand
│ │ ├── pointing_hand.xmc
│ │ ├── question_arrow
│ │ ├── question_arrow.xmc
│ │ ├── right_ptr
│ │ ├── right_ptr.xmc
│ │ ├── right_tee
│ │ ├── right_tee.xmc
│ │ ├── sb_down_arrow
│ │ ├── sb_down_arrow.xmc
│ │ ├── sb_left_arrow
│ │ ├── sb_left_arrow.xmc
│ │ ├── sb_right_arrow
│ │ ├── sb_right_arrow.xmc
│ │ ├── sb_up_arrow
│ │ ├── sb_up_arrow.xmc
│ │ ├── size_all
│ │ ├── size_all.xmc
│ │ ├── size_bdiag
│ │ ├── size_bdiag.xmc
│ │ ├── size_fdiag
│ │ ├── size_fdiag.xmc
│ │ ├── size_hor
│ │ ├── size_hor.xmc
│ │ ├── size_ver
│ │ ├── size_ver.xmc
│ │ ├── split_h
│ │ ├── split_h.xmc
│ │ ├── split_v
│ │ ├── split_v.xmc
│ │ ├── text
│ │ ├── text.xmc
│ │ ├── top_left_corner
│ │ ├── top_left_corner.xmc
│ │ ├── top_right_corner
│ │ ├── top_right_corner.xmc
│ │ ├── top_side
│ │ ├── top_side.xmc
│ │ ├── top_tee
│ │ ├── top_tee.xmc
│ │ ├── ul_angle
│ │ ├── ul_angle.xmc
│ │ ├── ur_angle
│ │ ├── ur_angle.xmc
│ │ ├── wait
│ │ ├── wait.xmc
│ │ ├── watch
│ │ ├── watch.xmc
│ │ ├── whats_this
│ │ ├── whats_this.xmc
│ │ ├── xterm
│ │ └── xterm.xmc
│ └── index.theme
├── Boot/
│ ├── enkel/
│ │ ├── .Rhistory
│ │ ├── index.html
│ │ ├── index.theme
│ │ └── main.js
│ └── refind-black/
│ ├── README.md
│ └── theme.conf
├── LICENSE
└── README.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .config/BetterDiscord/themes/nordic.theme.css
================================================
/**
* @name Nordic
* @author orblazer#9152
* @version 3.7.1
* @description Complete theme for Nordic (https://www.nordtheme.com/)
* @source https://github.com/orblazer/discord-nordic
* @donate https://www.paypal.me/orblazer
* @authorId 179681974879911946
*/
/**
* SOURCE CODE
* /!\ DON'T TOUCH ! /!\
*/
@import url('https://orblazer.github.io/discord-nordic/base.css');
/**
* CUSTOMIZATION
*/
:root {
}
.theme-dark {
}
.theme-light {
}
================================================
FILE: .config/alacritty/alacritty.yml
================================================
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Import additional configuration files
#
# Imports are loaded in order, skipping all missing files, with the importing
# file being loaded last. If a field is already present in a previous import, it
# will be replaced.
#
# All imports must either be absolute paths starting with `/`, or paths relative
# to the user's home directory starting with `~/`.
#import:
# - /path/to/alacritty.yml
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
#env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used.
#TERM: alacritty
window:
# Window dimensions (changes require restart)
#
# Number of lines/columns (not pixels) in the terminal. The number of columns
# must be at least `2`, while using a value of `0` for columns and lines will
# fall back to the window manager's recommended size.
#dimensions:
# columns: 0
# lines: 0
# Window position (changes require restart)
#
# Specified in number of pixels.
# If the position is not set, the window manager will handle the placement.
#position:
# x: 0
# y: 0
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
padding:
x: 44
y: 44
# Spread additional padding evenly around the terminal content.
dynamic_padding: true
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
#
# Values for `decorations` (macOS only):
# - transparent: Title bar, transparent background and title bar buttons
# - buttonless: Title bar, transparent background and no title bar buttons
decorations: none
# Startup Mode (changes require restart)
#
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#
# Values for `startup_mode` (macOS only):
# - SimpleFullscreen
#startup_mode: Windowed
# Window title
#title: Alacritty
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
# Window class (Linux/BSD only):
#class:
# Application instance name
#instance: Alacritty
# General application class
#general: Alacritty
# GTK theme variant (Linux/BSD only)
#
# Override the variant of the GTK theme. Commonly supported values are `dark`
# and `light`. Set this to `None` to use the default theme variant.
gtk_theme_variant: None
scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
#history: 10000
# Scrolling distance multiplier.
multiplier: 3
# Font configuration
font:
# Normal (roman) font face
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: monospace
# The `style` can be specified to pick a specific face.
#style: Regular
# Bold font face
bold:
# Font family
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
family: monospace
# The `style` can be specified to pick a specific face.
#style: Bold
# Italic font face
italic:
# Font family
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
family: monospace
# The `style` can be specified to pick a specific face.
#style: Italic
# Bold italic font face
bold_italic:
# Font family
#
# If the bold italic family is not specified, it will fall back to the
# value specified for the normal font.
family: monospace
# The `style` can be specified to pick a specific face.
#style: Bold Italic
# Point size
size: 8.5
# Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter
# spacing.
#offset:
# x: 0
# y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the
# right, increasing `y` moves the glyph upward.
glyph_offset:
x: 0
y: 0
# Thin stroke font rendering (macOS only)
#
# Thin strokes are suitable for retina displays, but for non-retina screens
# it is recommended to set `use_thin_strokes` to `false`.
#use_thin_strokes: true
# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: false
# Colors (Nord)
colors:
primary:
background: '#2e3440'
foreground: '#d8dee9'
dim_foreground: '#a5abb6'
cursor:
text: '#2e3440'
cursor: '#d8dee9'
vi_mode_cursor:
text: '#2e3440'
cursor: '#d8dee9'
selection:
text: CellForeground
background: '#4c566a'
search:
matches:
foreground: CellBackground
background: '#88c0d0'
bar:
background: '#434c5e'
foreground: '#d8dee9'
normal:
black: '#3b4252'
red: '#bf616a'
green: '#a3be8c'
yellow: '#ebcb8b'
blue: '#81a1c1'
magenta: '#b48ead'
cyan: '#88c0d0'
white: '#e5e9f0'
bright:
black: '#4c566a'
red: '#bf616a'
green: '#a3be8c'
yellow: '#ebcb8b'
blue: '#81a1c1'
magenta: '#b48ead'
cyan: '#8fbcbb'
white: '#eceff4'
dim:
black: '#373e4d'
red: '#94545d'
green: '#809575'
yellow: '#b29e75'
blue: '#68809a'
magenta: '#8c738c'
cyan: '#6d96a5'
white: '#aeb3bb'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '#ff00ff' }`
#
indexed_colors:
- { index: 16, color: '#242831' }
#Colors (Tomorrow night)
#colors:
# Default colors
#primary:
# background: '#1d1f21'
# foreground: '#c5c8c6'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not
# present. If the bright foreground color is not set, or
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
# color will be used.
#dim_foreground: '#828482'
#bright_foreground: '#eaeaea'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor.
#
# Allowed values are CellForeground and CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#cursor:
# text: CellBackground
# cursor: CellForeground
# Vi mode cursor colors
#
# Colors for the cursor when the vi mode is active.
#
# Allowed values are CellForeground and CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#vi_mode_cursor:
# text: CellBackground
# cursor: CellForeground
# Search colors
#
# Colors used for the search bar and match highlighting.
#search:
# Allowed values are CellForeground and CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#matches:
# foreground: '#000000'
# background: '#ffffff'
#focused_match:
# foreground: CellBackground
# background: CellForeground
#bar:
# background: '#c5c8c6'
# foreground: '#1d1f21'
# Line indicator
#
# Color used for the indicator displaying the position in history during
# search and vi mode.
#
# By default, these will use the opposing primary color.
#line_indicator:
# foreground: None
# background: None
# Selection colors
#
# Colors which should be used to draw the selection area.
#
# Allowed values are CellForeground and CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#selection:
# text: CellBackground
# background: CellForeground
# Normal colors
#normal:
# black: '#1d1f21'
# red: '#cc6666'
# green: '#b5bd68'
# yellow: '#f0c674'
# blue: '#81a2be'
# magenta: '#b294bb'
# cyan: '#8abeb7'
# white: '#c5c8c6'
# Bright colors
#bright:
# black: '#666666'
# red: '#d54e53'
# green: '#b9ca4a'
# yellow: '#e7c547'
# blue: '#7aa6da'
# magenta: '#c397d8'
# cyan: '#70c0b1'
# white: '#eaeaea'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
#dim:
# black: '#131415'
# red: '#864343'
# green: '#777c44'
# yellow: '#9e824c'
# blue: '#556a7d'
# magenta: '#75617b'
# cyan: '#5b7d78'
# white: '#828482'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '#ff00ff' }`
#
#indexed_colors: []
# Bell
#
# The bell is rung every time the BEL control character is received.
#bell:
# Visual Bell Animation
#
# Animation effect for flashing the screen when the visual bell is rung.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#animation: EaseOutExpo
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
# disable the visual bell animation.
#duration: 0
# Visual bell animation color.
#color: '#ffffff'
# Bell Command
#
# This program is executed whenever the bell is rung.
#
# When set to `command: None`, no command will be executed.
#
# Example:
# command:
# program: notify-send
# args: ["Hello, World!"]
#
#command: None
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
#background_opacity: 1.0
#selection:
# This string contains all characters that are used as separators for
# "semantic words" in Alacritty.
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
# When set to `true`, selected text will be copied to the primary clipboard.
#save_to_clipboard: false
cursor:
# Cursor style
style:
# Cursor shape
#
# Values for `shape`:
# - ▇ Block
# - _ Underline
# - | Beam
shape: Beam
# Cursor blinking state
#
# Values for `blinking`:
# - Never: Prevent the cursor from ever blinking
# - Off: Disable blinking by default
# - On: Enable blinking by default
# - Always: Force the cursor to always blink
blinking: Always
# Vi mode cursor style
#
# If the vi mode cursor style is `None` or not specified, it will fall back to
# the style of the active value of the normal cursor.
#
# See `cursor.style` for available options.
#vi_mode_style: None
# Cursor blinking interval in milliseconds.
blink_interval: 750
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
unfocused_hollow: true
# Thickness of the cursor relative to the cell width as floating point number
# from `0.0` to `1.0`.
#thickness: 0.15
# Live config reload (changes require restart)
#live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g.
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
# shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
#shell:
# program: /bin/bash
# args:
# - --login
# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
#working_directory: None
# Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: true
#mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
#double_click: { threshold: 300 }
#triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
#hide_when_typing: false
#url:
# URL launcher
#
# This program is executed when clicking on a text which is recognized as a
# URL. The URL is always added to the command as the last parameter.
#
# When set to `launcher: None`, URL launching will be disabled completely.
#
# Default:
# - (macOS) open
# - (Linux/BSD) xdg-open
# - (Windows) explorer
#launcher:
# program: xdg-open
# args: []
# URL modifiers
#
# These are the modifiers that need to be held down for opening URLs when
# clicking on them. The available modifiers are documented in the key
# binding section.
#modifiers: None
# Mouse bindings
#
# Mouse bindings are specified as a list of objects, much like the key
# bindings further below.
#
# To trigger mouse bindings when an application running within Alacritty
# captures the mouse, the `Shift` modifier is automatically added as a
# requirement.
#
# Each mouse binding will specify a:
#
# - `mouse`:
#
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# - `action` (see key bindings)
#
# And optionally:
#
# - `mods` (see key bindings)
#mouse_bindings:
# - { mouse: Middle, action: PasteSelection }
# Key bindings
#
# Key bindings are specified as a list of objects. For example, this is the
# default paste binding:
#
# `- { key: V, mods: Control|Shift, action: Paste }`
#
# Each key binding will specify a:
#
# - `key`: Identifier of the key pressed
#
# - A-Z
# - F1-F24
# - Key0-Key9
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number. This command will allow you to display the hex scancodes
# for certain keys:
#
# `showkey --scancodes`.
#
# Then exactly one of:
#
# - `chars`: Send a byte sequence to the running application
#
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences. To find escape codes for bindings
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
# of tmux. Note that applications use terminfo to map escape sequences back
# to keys. It is therefore required to update the terminfo when changing an
# escape sequence.
#
# - `action`: Execute a predefined action
#
# - ToggleViMode
# - SearchForward
# Start searching toward the right of the search origin.
# - SearchBackward
# Start searching toward the left of the search origin.
# - Copy
# - Paste
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollHalfPageUp
# - ScrollHalfPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# Remove the terminal's scrollback history.
# - Hide
# Hide the Alacritty window.
# - Minimize
# Minimize the Alacritty window.
# - Quit
# Quit Alacritty.
# - ToggleFullscreen
# - SpawnNewInstance
# Spawn a new instance of Alacritty.
# - ClearLogNotice
# Clear Alacritty's UI warning and error notice.
# - ClearSelection
# Remove the active selection.
# - ReceiveChar
# - None
#
# - Vi mode exclusive actions:
#
# - Open
# Open URLs at the cursor location with the launcher configured in
# `url.launcher`.
# - ToggleNormalSelection
# - ToggleLineSelection
# - ToggleBlockSelection
# - ToggleSemanticSelection
# Toggle semantic selection based on `selection.semantic_escape_chars`.
#
# - Vi mode exclusive cursor motion actions:
#
# - Up
# One line up.
# - Down
# One line down.
# - Left
# One character left.
# - Right
# One character right.
# - First
# First column, or beginning of the line when already at the first column.
# - Last
# Last column, or beginning of the line when already at the last column.
# - FirstOccupied
# First non-empty cell in this terminal row, or first non-empty cell of
# the line when already at the first cell of the row.
# - High
# Top of the screen.
# - Middle
# Center of the screen.
# - Low
# Bottom of the screen.
# - SemanticLeft
# Start of the previous semantically separated word.
# - SemanticRight
# Start of the next semantically separated word.
# - SemanticLeftEnd
# End of the previous semantically separated word.
# - SemanticRightEnd
# End of the next semantically separated word.
# - WordLeft
# Start of the previous whitespace separated word.
# - WordRight
# Start of the next whitespace separated word.
# - WordLeftEnd
# End of the previous whitespace separated word.
# - WordRightEnd
# End of the next whitespace separated word.
# - Bracket
# Character matching the bracket at the cursor's location.
# - SearchNext
# Beginning of the next match.
# - SearchPrevious
# Beginning of the previous match.
# - SearchStart
# Start of the match to the left of the vi mode cursor.
# - SearchEnd
# End of the match to the right of the vi mode cursor.
#
# - Search mode exclusive actions:
# - SearchFocusNext
# Move the focus to the next search match.
# - SearchFocusPrevious
# Move the focus to the previous search match.
# - SearchConfirm
# - SearchCancel
# - SearchClear
# Reset the search regex.
# - SearchDeleteWord
# Delete the last word in the search regex.
# - SearchHistoryPrevious
# Go to the previous regex in the search history.
# - SearchHistoryNext
# Go to the next regex in the search history.
#
# - macOS exclusive actions:
# - ToggleSimpleFullscreen
# Enter fullscreen without occupying another space.
#
# - Linux/BSD exclusive actions:
#
# - CopySelection
# Copy from the selection buffer.
# - PasteSelection
# Paste from the selection buffer.
#
# - `command`: Fork and execute a specified command plus arguments
#
# The `command` field must be a map containing a `program` string and an
# `args` array of command line parameter strings. For example:
# `{ program: "alacritty", args: ["-e", "vttest"] }`
#
# And optionally:
#
# - `mods`: Key modifiers to filter binding actions
#
# - Command
# - Control
# - Option
# - Super
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this:
# `mods: Control|Shift`.
# Whitespace and capitalization are relevant and must match the example.
#
# - `mode`: Indicate a binding for only specific terminal reported modes
#
# This is mainly used to send applications the correct escape sequences
# when in different modes.
#
# - AppCursor
# - AppKeypad
# - Search
# - Alt
# - Vi
#
# A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`.
#
# Bindings are always filled by default, but will be replaced when a new
# binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding.
#
# If the same trigger is assigned to multiple actions, all of them are executed
# in the order they were defined in.
#key_bindings:
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, }
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, }
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
# Vi Mode
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
#- { key: Y, mode: Vi|~Search, action: Copy }
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
#- { key: Return, mode: Vi|~Search, action: Open }
#- { key: K, mode: Vi|~Search, action: Up }
#- { key: J, mode: Vi|~Search, action: Down }
#- { key: H, mode: Vi|~Search, action: Left }
#- { key: L, mode: Vi|~Search, action: Right }
#- { key: Up, mode: Vi|~Search, action: Up }
#- { key: Down, mode: Vi|~Search, action: Down }
#- { key: Left, mode: Vi|~Search, action: Left }
#- { key: Right, mode: Vi|~Search, action: Right }
#- { key: Key0, mode: Vi|~Search, action: First }
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
#- { key: W, mode: Vi|~Search, action: SemanticRight }
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
#- { key: N, mode: Vi|~Search, action: SearchNext }
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
# Search Mode
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
#- { key: Escape, mode: Search, action: SearchCancel }
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
#- { key: U, mods: Control, mode: Search, action: SearchClear }
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
#- { key: Down, mode: Search, action: SearchHistoryNext }
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
# (Windows, Linux, and BSD only)
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
#- { key: Insert, mods: Shift, action: PasteSelection }
#- { key: Key0, mods: Control, action: ResetFontSize }
#- { key: Equals, mods: Control, action: IncreaseFontSize }
#- { key: Plus, mods: Control, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
#- { key: Minus, mods: Control, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
# (Windows only)
#- { key: Return, mods: Alt, action: ToggleFullscreen }
# (macOS only)
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Plus, mods: Command, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
#- { key: H, mods: Command, action: Hide }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: N, mods: Command, action: SpawnNewInstance }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - Off
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false
================================================
FILE: .config/btop/btop.conf
================================================
#? Config file for btop v. 1.2.6
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "/usr/share/btop/themes/nord.theme"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use withespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu direct"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "total"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "total"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = False
#* Starts with the Network Interface specified here.
net_iface = ""
#* Show battery stats in top right if battery is present.
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
================================================
FILE: .config/doom/config.el
================================================
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here! Remember, you do not need to run 'doom
;; sync' after modifying this file!
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets.
(setq user-full-name "Cullen Ross"
user-mail-address "cullen.ross@som.umaryland.edu")
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
;; are the three important ones:
;;
;; + `doom-font'
;; + `doom-variable-pitch-font'
;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for
;; presentations or streaming.
;;
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
;; font string. You generally only need these two:
(setq doom-font (font-spec :family "FiraCode Nerd Font Mono" :size 22)
doom-big-font (font-spec :family "FiraCode Nerd Font Mono" :size 30)
doom-unicode-font (font-spec :family "Font Awesome 5 Free Solid" :size 22)
doom-variable-pitch-font (font-spec :family "FiraCode Nerd Font" :size 22))
(custom-set-faces!
'(font-lock-comment-face :slant italic))
;(setq inhibit-compacting-font-caches t)
(setq doom-themes-enable-bold t
doom-themes-enable-italic t)
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
;; `load-theme' function. This is the default:
(setq doom-theme 'doom-nord)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/Documents/org/")
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type t)
;; window margins
(set-frame-parameter (selected-frame) 'internal-border-width 24)
(set-face-background 'internal-border "#2e3440")
;; Disable annoying quit message
(setq confirm-kill-emacs nil)
;; Custom dashboard splash image
;;(setq fancy-splash-image "~/.doom.d/blackhole-lines.svg")
;; Custom doom dashboard menu
(setq +doom-dashboard-menu-sections
'(("Find or create file"
:icon (all-the-icons-faicon "file-o" :face 'doom-dashboard-menu-title)
:action find-file)
("Reload last session"
:icon (all-the-icons-octicon "history" :face 'doom-dashboard-menu-title)
:when (cond ((require 'persp-mode nil t)
(file-exists-p (expand-file-name persp-auto-save-fname persp-save-dir)))
((require 'desktop nil t)
(file-exists-p (desktop-full-file-name))))
:face (:inherit (doom-dashboard-menu-title bold))
:action doom/quickload-session)
("Open org-agenda"
:icon (all-the-icons-octicon "calendar" :face 'doom-dashboard-menu-title)
:when (fboundp 'org-agenda)
:action org-agenda)
("Recently opened files"
:icon (all-the-icons-octicon "file-text" :face 'doom-dashboard-menu-title)
:action recentf-open-files)
("Open project"
:icon (all-the-icons-octicon "briefcase" :face 'doom-dashboard-menu-title)
:action projectile-switch-project)
("Jump to bookmark"
:icon (all-the-icons-octicon "bookmark" :face 'doom-dashboard-menu-title)
:action bookmark-jump)
("Open private configuration"
:icon (all-the-icons-octicon "tools" :face 'doom-dashboard-menu-title)
:when (file-directory-p doom-private-dir)
:action doom/open-private-config)
("Open documentation"
:icon (all-the-icons-octicon "book" :face 'doom-dashboard-menu-title)
:action doom/help)))
;; tecosaur's sweet splash config
(defvar fancy-splash-sizes
`((:height 400 :min-height 50 :padding (-5 . 4) :template ,(expand-file-name "misc/splash-images/blackhole-lines-0.svg" doom-private-dir))
(:height 380 :min-height 42 :padding (1 . 4) :template ,(expand-file-name "misc/splash-images/blackhole-lines-1.svg" doom-private-dir))
(:height 360 :min-height 38 :padding (1 . 4) :template ,(expand-file-name "misc/splash-images/blackhole-lines-2.svg" doom-private-dir))
(:height 350 :min-height 36 :padding (1 . 3) :template ,(expand-file-name "misc/splash-images/blackhole-lines-3.svg" doom-private-dir))
(:height 300 :min-height 34 :padding (1 . 3) :template ,(expand-file-name "misc/splash-images/blackhole-lines-4.svg" doom-private-dir))
(:height 250 :min-height 32 :padding (1 . 2) :template ,(expand-file-name "misc/splash-images/blackhole-lines-5.svg" doom-private-dir))
(:height 200 :min-height 30 :padding (1 . 2) :template ,(expand-file-name "misc/splash-images/blackhole-lines-6.svg" doom-private-dir))))
(defvar fancy-splash-template-colours
'(("$colour1" . keywords) ("$colour2" . type) ("$colour3" . base5) ("$colour4" . base8))
"list of colour-replacement alists of the form (\"$placeholder\" . 'theme-colour) which applied the template")
(unless (file-exists-p (expand-file-name "theme-splashes" doom-cache-dir))
(make-directory (expand-file-name "theme-splashes" doom-cache-dir) t))
(defun fancy-splash-filename (theme-name height)
(expand-file-name (concat (file-name-as-directory "theme-splashes")
theme-name
"-" (number-to-string height) ".svg")
doom-cache-dir))
(defun fancy-splash-clear-cache ()
"Delete all cached fancy splash images"
(interactive)
(delete-directory (expand-file-name "theme-splashes" doom-cache-dir) t)
(message "Cache cleared!"))
(defun fancy-splash-generate-image (template height)
"Read TEMPLATE and create an image if HEIGHT with colour substitutions as
described by `fancy-splash-template-colours' for the current theme"
(with-temp-buffer
(insert-file-contents template)
(re-search-forward "$height" nil t)
(replace-match (number-to-string height) nil nil)
(dolist (substitution fancy-splash-template-colours)
(goto-char (point-min))
(while (re-search-forward (car substitution) nil t)
(replace-match (doom-color (cdr substitution)) nil nil)))
(write-region nil nil
(fancy-splash-filename (symbol-name doom-theme) height) nil nil)))
(defun fancy-splash-generate-images ()
"Perform `fancy-splash-generate-image' in bulk"
(dolist (size fancy-splash-sizes)
(unless (plist-get size :file)
(fancy-splash-generate-image (or (plist-get size :template)
fancy-splash-image-template)
(plist-get size :height)))))
(defun ensure-theme-splash-images-exist (&optional height)
(unless (file-exists-p (fancy-splash-filename
(symbol-name doom-theme)
(or height
(plist-get (car fancy-splash-sizes) :height))))
(fancy-splash-generate-images)))
(defun get-appropriate-splash ()
(let ((height (frame-height)))
(cl-some (lambda (size) (when (>= height (plist-get size :min-height)) size))
fancy-splash-sizes)))
(setq fancy-splash-last-size nil)
(setq fancy-splash-last-theme nil)
(defun set-appropriate-splash (&rest _)
(let ((appropriate-image (get-appropriate-splash)))
(unless (and (equal appropriate-image fancy-splash-last-size)
(equal doom-theme fancy-splash-last-theme)))
(unless (plist-get appropriate-image :file)
(ensure-theme-splash-images-exist (plist-get appropriate-image :height)))
(setq fancy-splash-image
(or (plist-get appropriate-image :file)
(fancy-splash-filename (symbol-name doom-theme) (plist-get appropriate-image :height))))
(setq +doom-dashboard-banner-padding (plist-get appropriate-image :padding))
(setq fancy-splash-last-size appropriate-image)
(setq fancy-splash-last-theme doom-theme)
(+doom-dashboard-reload)))
(add-hook 'window-size-change-functions #'set-appropriate-splash)
(add-hook 'doom-load-theme-hook #'set-appropriate-splash)
;; Change cursor style
(blink-cursor-mode)
;; Here are some additional functions/macros that could help you configure Doom:
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
================================================
FILE: .config/doom/init.el
================================================
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
;;nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
tabs ; a tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:editor
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
:emacs
dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
;;ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:term
;;eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
;;debugger ; FIXME stepping through code, to help you add bugs
;;direnv
;;docker
editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs
;;pass ; password manager for nerds
;;pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
tmux ; an API for interacting with tmux
;;upload ; map local to remote projects via ssh/ftp
:os
(:if IS-MAC macos) ; improve compatibility with macOS
tty ; improve the terminal Emacs experience
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
;;(cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(graphql +lsp) ; Give queries a REST
;;(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
json ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
;;latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
org ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
python ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
web ; the tubes
yaml ; JSON, but readable
;;zig ; C, but simpler
:email
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:app
;;calendar
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens))
================================================
FILE: .config/doom/packages.el
================================================
;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
;; To install a package with Doom you must declare them here and run 'doom sync'
;; on the command line, then restart Emacs for the changes to take effect -- or
;; use 'M-x doom/reload'.
;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/raxod502/straight.el#the-recipe-format
;(package! another-package
; :recipe (:host github :repo "username/repo"))
;; If the package you are trying to install does not contain a PACKAGENAME.el
;; file, or is located in a subdirectory of the repo, you'll need to specify
;; `:files' in the `:recipe':
;(package! this-package
; :recipe (:host github :repo "username/repo"
; :files ("some-file.el" "src/lisp/*.el")))
;; If you'd like to disable a package included with Doom, you can do so here
;; with the `:disable' property:
;(package! builtin-package :disable t)
;; You can override the recipe of a built in package without having to specify
;; all the properties for `:recipe'. These will inherit the rest of its recipe
;; from Doom or MELPA/ELPA/Emacsmirror:
;(package! builtin-package :recipe (:nonrecursive t))
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
;; Specify a `:branch' to install a package from a particular branch or tag.
;; This is required for some packages whose default branch isn't 'master' (which
;; our package manager can't deal with; see raxod502/straight.el#279)
;(package! builtin-package :recipe (:branch "develop"))
;; Use `:pin' to specify a particular commit to install.
;(package! builtin-package :pin "1a2b3c4d5e")
;; Doom's packages are pinned to a specific commit and updated from release to
;; release. The `unpin!' macro allows you to unpin single packages...
;(unpin! pinned-package)
;; ...or multiple packages
;(unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;(unpin! t)
;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; BEGIN PACKAGE LIST ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;
;; For email
;(package! mu4e-alert)
;
;; For taskwarrior-emacs
;(package! ts)
;(package! taskwarrior.el
; :recipe (:host github :repo "winpat/taskwarrior.el"))
;; To plat audio in emacs
;(package! emms)
================================================
FILE: .config/dunst/dunstrc
================================================
[colors]
background = "#2e3440"
frame = "#3b4252"
#foreground = "#e5e9f0"
[global]
### Display ###
monitor = 0
follow = keyboard
### Geometry ###
# dynamic width from 0 to 300
# width = (0, 300)
# constant width of 300
width = (0, 500)
# The maximum height of a single notification, excluding the frame.
height = 300
# Position the notification in the top right corner
origin = top-right
# Offset from the origin
offset = 10x68
# Scale factor. It is auto-detected if value is 0.
scale = 0
# Maximum number of notification (0 means no limit)
notification_limit = 5
indicate_hidden = yes
transparency = 0
gap_size = 8
padding = 36
horizontal_padding = 36
frame_width = 3
corner_radius = 12
#frame_color =
separator_color = auto
sort = yes
idle_threshold = 120
### Text ###
font = FiraCode Nerd Font, Font Awesome 5 Free Solid 9
line_height = 0
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "%a\n%s\n%b"
alignment = left
vertical_alignment = center
show_age_threshold = 60
word_wrap = true
ellipsize = middle
ignore_newline = false
stack_duplicates = true
hide_duplicate_count = true
show_indicators = true
### Icons ###
icon_position = left
max_icon_size = 128
icon_path = /usr/share/icons/Nord-Icon/48x48/status/:/usr/share/icons/Nord-Icon/48x48/devices/:/usr/share/icons/Nord-Icon/48x48/apps
### History ###
sticky_history = yes
history_length = 20
### Misc/Advanced ###
dmenu = /usr/bin/rofi -dmenu:
browser = /usr/bin/linkhandler
always_run_script = false
title = Dunst
class = Dunst
startup_notification = true
force_xinerama = false
[experimental]
per_monitor_dpi = false
[log_notifs]
script = ~/.local/bin/dunst_logger.sh
[qtile]
appname = Qtile
new_icon = /usr/share/icons/Nord-Icon/48x48/apps/python.svg
[pomodoro]
appname = Pomod
new_icon = /usr/share/icons/Nord-Icon/48x48/apps/pomodoro-indicator.svg
[slack]
desktop_entry = Slack
new_icon = /usr/share/icons/Nord-Icon/48x48/apps/slack.svg
[dunst_icon]
appname = dunst
new_icon = /usr/share/icons/Nord-Icon/48x48/apps/bell.svg
[notify_send_icon]
appname = notify-send
new_icon = /usr/share/icons/Nord-Icon/48x48/apps/bell.svg
[giph]
appname = giph
new_icon = /usr/share/icons/Nord-Icon/48x48/apps/simplescreenrecorder.svg
[zsh]
appname = zsh
new_icon = /usr/share/icons/Nord-Icon/48x48/apps/terminal.svg
[giph_summary]
summary = giph
new_icon = /usr/share/icons/Nord-Icon/48x48/apps/simplescreenrecorder.svg
#[shortcuts]
# close = ctrl+space
# close_all = ctrl+shift+space
# #context = ctrl+shift+period
# history = ctrl+grave
[urgency_low]
foreground = "#81a1c1"
frame_color = "#3b4252"
timeout = 5
[urgency_normal]
foreground = "#e5e9f0"
frame_color = "#3b4252"
timeout = 5
[urgency_critical]
foreground = "#bf616a"
frame_color = "#3b4252"
timeout = 0
# vim: ft=conf
================================================
FILE: .config/eww/eww.scss
================================================
// general
*{
all: unset;
}
window {
background-color: #2e3440;
color: #e5e9f0;
font-family: monospace;
}
button {
all: unset;
//background-color: #2e3440;
padding: 20px;
}
.main_box {
border-width: 3px;
border-style: solid;
border-color: #3b4252;
border-radius: 12px;
}
.vol {
border-width: 3px;
border-style: solid;
border-color: #3b4252;
border-radius: 12px;
}
.bright {
border-width: 3px;
border-style: solid;
border-color: #3b4252;
border-radius: 12px;
}
//player
.player {
background-color: #232831;
border-radius: 12px;
//border-top-width: 5px;
//border-style: solid;
//border-color: #66cccc;
margin: 40px 20px 40px 20px;
//width: 250px;
}
.musicart {
background-size: 250px;
background-repeat: no-repeat;
min-height: 250px;
min-width: 250px;
margin: 30px;
border-radius: 12px;
// padding: 10px;
}
.musictitle {
font-size: 24px;
font-weight: bold;
//margin-top: 80px;
margin-bottom: 10px;
margin-right: 30px;
color: #a3be8c;
}
.musicalbum {
font-size: 24px;
margin-bottom: 10px;
margin-right: 30px;
//color: #8fbcbb;
}
.musicartist {
font-size: 24px;
margin-bottom: 0px;
margin-right: 30px;
//color: #88c0d0;
}
.musicbtn {
margin-right: 30px;
}
.musicbtn button {
font-size: 24px;
font-family: icons;
color: #434c5e;
}
.musicbtn button:hover {
color: #bf616a;
}
.music-info scale trough highlight {
all: unset;
background-color: #8fbcbb;;
color: #000000;
border-radius: 50px;
}
.music-info scale trough {
all: unset;
background-color: #434c5e;
border-radius: 50px;
min-height: 25px;
min-width: 250px;
margin-top: 10px;
margin-left: 0px;
margin-right: 30px;
}
//weather
.weather {
background-color: #232831;
border-radius: 12px;
//border-top-width: 5px;
//border-style: solid;
//border-color: #66cccc;
margin: 40px 20px 40px 20px;
}
.weather-icon-side {
font-size: 82px;
font-family: icons;
margin: 30px 0px 5px 30px;
}
.weather-stat-side {
font-size: 28px;
//padding-top: 10px;
//padding-bottom: 5px;
font-weight: bold;
margin-right: 30px;
margin-left: 30px;
margin-bottom: 25px;
color: #88c0d0;
}
.temp-info {
margin: 30px;
}
.temperature-side {
//font-family: icons;
font-size: 52px;
font-weight: 900;
margin-right: 30px;
//color: #88c0d0;
}
.thermometer {
font-family: icons;
font-size: 52px;
font-weight: 900;
color: #d08770;
}
//system-info
.sliders-side {
all: unset;
background-color: #232831;
border-radius: 12px;
//border-top-width: 5px;
//border-style: solid;
//border-color: #66cccc;
margin: 40px 40px 40px 20px;
padding: 20px;
font-family: icons;
font-size: 32;
}
.circprog-ram-side {
color: #ebcb8b;
background-color: #434c5e;
}
.circprog-cpu-side {
color: #b48ead;
background-color: #434c5e;
}
.circprog-hdd-side {
color: #a3be8c;
background-color: #434c5e;
}
//profile
.profile {
background-color: #232831;
border-radius: 12px;
//border-top-width: 5px;
//border-style: solid;
//border-color: #66cccc;
margin: 40px 20px 40px 40px;
//width: 300px;
}
.pfp {
//background-image: url("/var/lib/AccountsService/icons/barbarossa.png");
//background-repeat: no-repeat;
//background-size: 300px;
//min-height: 300px;
//min-width: 300px;
margin: 30px 30px 30px 30px;
border-radius: 30px;
}
.pfptxt {
//margin-top: 0px;
color: #81a1c1;
font-size: 36px;
margin: 0px 30px 0px 30px;
}
.subpfptxt {
margin-bottom: 30px;
font-size: 24px;
//color: #5e81ac;
}
//launch
.launch {
background-color: #232831;
border-radius: 12px;
//border-top-width: 5px;
//border-style: solid;
//border-color: #66cccc;
margin: 40px 20px 40px 20px;
font-family: icons;
font-size: 80px;
color: #4c566a;
}
.launch1 {
background-color: #232831;
margin: 50px 30px 15px 30px;
}
.internet:hover {
color: #5e81ac;
}
.mail:hover {
color: #81a1c1;
}
.music:hover {
color: #a3be8c;
}
.file:hover {
color: #bf616a;
}
.editor:hover {
color: #b48ead;
}
.launch2 {
background-color: #232831;
margin: 15px 30px 30px 30px;
}
.pomo:hover {
color: #d08770;
}
.notes:hover {
color: #88c0d0;
}
.rstudio:hover {
color: #8fbcbb;
}
.slack:hover {
color: #ebcb8b;
}
.terminal:hover {
color: #e5e9f0;
}
//vol
.vol scale trough highlight {
all: unset;
background-color: #88c0d0;
color: #000000;
border-radius: 100px;
}
.vol scale trough {
all: unset;
background-color: #434c5e;
border-radius: 50px;
min-height: 35px;
min-width: 250px;
margin: 30px;
}
.vol-icon {
font-family: icons;
font-size: 96px;
margin-top: 80px;
//margin-right: 9px;
color: #88c0d0;
}
//bright
.bright scale trough highlight {
all: unset;
background-color: #ebcb8b;
color: #000000;
border-radius: 100px;
}
.bright scale trough {
all: unset;
background-color: #434c5e;
border-radius: 50px;
min-height: 35px;
min-width: 250px;
margin: 30px;
}
.bright-icon {
font-family: icons;
font-size: 96px;
margin-top: 80px;
//margin-right: 9px;
color: #ebcb8b;
}
//bottom-border
.border {
background-color: #3b4252;
}
================================================
FILE: .config/eww/eww.yuck
================================================
;-*-Lisp-*-
(defwidget player []
(box :orientation "h" :space-evenly "false" :class "player"
(box :class "musicart" :halign "center" :valign "center" :style "background-image: url('${cover}')")
(box :orientation "v" :class "music-info" :valign "center" :halign "center" :space-evenly "false"
(box :class "musictitle" music3)
(box :class "musicalbum" music2)
(box :class "musicartist" music)
(box :orientation "h" :halign "center" :valign "center" :class "musicbtn" :space-evenly "false"
(button :onclick "playerctl -p Lollypop previous" "")
(button :onclick "playerctl -p Lollypop play-pause" musicstat)
(button :onclick "playerctl -p Lollypop next" ""))
(scale :min 0 :max duration :active "false" :value position :class "progress-bar"))))
(defwidget system_info []
(box :orientation "v" :space-evenly "true" :class "sliders-side"
(circular-progress :class "circprog-cpu-side" :width 200 :thickness 25 :value {EWW_CPU.avg} "")
(box :orientation "h" :space-evenly "false" :vexpand "false"
(circular-progress :halign "baseline" :class "circprog-ram-side":width 200 :thickness 25 :value {EWW_RAM.used_mem_perc} "")
(circular-progress :halign "baseline" :class "circprog-hdd-side":width 200 :thickness 25 :value {EWW_DISK["/"].used_perc} ""))))
(defwidget profile []
(box :orientation "v" :space-evenly "false" :class "profile"
(box :orientation "h" :space-evenly "true"
(image :path "/home/barbarossa/Pictures/barbarossaCircle.png" :image-width 200 :image-height 200 :class "pfp"))
(box :orientation "v" :space-evenly "false"
(box :class "pfptxt" :valign "center" user)
(box :class "subpfptxt" :halign "center" "@${host}"))))
(defwidget launch []
(box :orientation "v" :space-evenly "false" :class "launch"
(box :orientation "h" :halign "center" :class "launch1" :space-evenly "false"
(button :class "internet" :onclick "wmctrl -xa firefox || setsid -f firefox" "")
(button :class "mail" :onclick "wmctrl -xa geary || setsid -f geary" "")
(button :class "music" :style "font-family: 'Font Awesome 6 Free Solid'" :onclick "wmctrl -xa lollypop || setsid -f lollypop" "")
(button :class "file" :onclick "setsid -f nautilus" "")
(button :class "editor" :onclick "wmctrl -xa emacs || setsid -f emacs" ""))
(box :orientation "h" :halign "center" :class "launch2" :space-evenly "false"
(button :class "pomo" :onclick "wmctrl -xa io.elementary.calendar || setsid -f io.elementary.calendar" "")
(button :class "notes" :onclick "wmctrl -xa gtg || setsid -f gtg" "")
(button :class "rstudio" :onclick "wmctrl -xa Steam || setsid -f steam" "")
(button :class "slack" :onclick "wmctrl -xa discord || setsid -f discord" "")
(button :class "terminal" :onclick "setsid -f alacritty" ""))))
(defwidget weather []
(box :class "weather" :orientation "v" :space-evenly "false"
(box :class "weather-icon-side" :style "color: ${weather-hex}" weather-icon)
(box :class "temp-info" :orientation "h" :halign "center" :space-evenly "false"
(box :class "temperature-side" temperature)
(box :class "thermometer" ""))
(box :class "weather-stat-side" (label :halign "center" :wrap "true" :text weather-stat-side))))
(defwidget vol []
(box :orientation "v" :space-evenly "true" :class "vol"
(box :class "vol-icon" vol-icon)
(scale :min 0 :max 100 :active "false" :value current-vol)))
(defwidget bright []
(box :orientation "v" :space-evenly "true" :class "bright"
(box :class "bright-icon" "")
(scale :min 0 :max 100 :active "false" :value current-bright)))
;; Player vars
(deflisten music "playerctl -F -p Lollypop metadata --format '{{ artist }}'")
(deflisten music2 "playerctl -F -p Lollypop metadata --format '{{ album }}'")
(deflisten music3 "playerctl -F -p Lollypop metadata --format '{{ title }}'")
(deflisten musicstat "~/.config/eww/scripts/musicstatus")
(defpoll position :interval "2s" "playerctl -p Lollypop position | sed 's/..\{6\}$//'")
(deflisten duration "playerctl -F -p Lollypop metadata mpris:length | sed 's/.\{6\}$//'")
(deflisten cover :initial "/home/barbarossa/.config/eww/images/image.png" "playerctl -F -p Lollypop metadata mpris:artUrl")
;; (defpoll art :interval "1s" "~/.config/eww/scripts/getart || cp ~/.config/eww/images/image.png /tmp/mpd/cover.png")
; (defpoll like_status :interval "1s" "~/.config/eww/scripts/mpd/mpd_to_like_or_not.sh -s")
;; Calendar vars
(defpoll time :interval "5s"
"date '+%H:%M'")
(defpoll date :interval "30s"
"date'+%b %d, %Y'")
;; Profile vars
(defpoll user :interval "1h" "echo $USER")
(defpoll host :interval "1h" "uname -n")
;; Launcher vars
;; Weather vars
(defpoll weather-icon :interval "5s" "cat /tmp/weather/weather-icon")
(defpoll weather-hex :interval "5s" "cat /tmp/weather/weather-hex")
(defpoll temperature :interval "5s" "cat /tmp/weather/weather-degree")
(defpoll weather-stat-side :interval "5s" "~/.config/eww/scripts/weather-trimmer")
;(defpoll weather-quote :interval "5s" "~/.config/eww/scripts/getwethquote")
(defvar pango "<span foreground=\"#d08770\" font_family=\"icons\"></span>")
;; Vol vars
(deflisten vol-icon "tail -F /tmp/vol-icon")
(deflisten current-vol "tail -F /tmp/vol")
;; Bright vars
(deflisten current-bright "tail -F /tmp/bright")
(defwindow main_bottom
:geometry (geometry :anchor "bottom center" :y "12px")
(box :class "main_box" :orientation "h" :space-evenly "false"
(profile)
(player)
(launch)
(weather)
(system_info)))
(defwindow vol
:geometry (geometry :height "16%" :y "18%" :anchor "center")
(vol))
(defwindow bright
:geometry (geometry :height "16%" :y "18%" :anchor "center")
(bright))
================================================
FILE: .config/eww/scripts/getart
================================================
#!/bin/bash
set -e
set -o pipefail
tmp_dir="/tmp/spotify"
tmp_cover_path=$tmp_dir/cover.png
if [ ! -d $tmp_dir ]; then
mkdir -p $tmp_dir
fi
if [ ! -f "$tmp_cover_path" ]; then
cp ~/.config/eww/images/image.png $tmp_cover_path;
fi
stdbuf -o0 playerctl metadata mpris:artUrl | sed -e 's/open.spotify.com/i.scdn.co/g' |
while read arturl; do
if [[ "$arturl" == http?(s)://* ]]; then
curl -s "$arturl" --output $tmp_cover_path;
else
cp ~/.config/eww/images/image.png $tmp_cover_path;
fi
done
#upd_art () {
# if [ $(playerctl metadata mpris:artUrl) ]; then
# curl -s "$current_artlink" --output $tmp_cover_path;
# else
# cp ~/.config/eww/images/image.png $tmp_cover_path;
# fi
#}
#declare -t current_artlink
#trap 'cp ~/.config/eww/images/image.png $tmp_cover_path' DEBUG
#while true; do
# artlink="$(playerctl metadata mpris:artUrl | sed -e 's/open.spotify.com/i.scdn.co/g')"
# if [ "$artlink" != "$current_artlink" ]; then
# current_artlink="$artlink"
# fi
# sleep 5
#done
================================================
FILE: .config/eww/scripts/getday
================================================
#!/bin/bash
day_num=$(date "+%u")
if [ $day_num == 1 ]; then
day="Monday"
elif [ $day_num == 2 ]; then
day="Tuesday"
elif [ $day_num == 3 ]; then
day="Wednesday"
elif [ $day_num == 4 ]; then
day="Thursday"
elif [ $day_num == 5 ]; then
day="Friday"
elif [ $day_num == 6 ]; then
day="Saturday"
else
day="Sunday"
fi
echo $day;
================================================
FILE: .config/eww/scripts/gettitle
================================================
#!/bin/bash
title=$(playerctl metadata --format '{{ title }}')
count=$(echo -n "$title" | wc -c)
if [ -z "$title" ]; then
echo "Nothing Playing...";
else
if [ "$count" -le 18 ]; then
echo $title
else
echo $(playerctl metadata --format '{{ title }}' | awk '{print $1, $2}')...
fi
fi
================================================
FILE: .config/eww/scripts/getvol
================================================
#!/bin/bash
amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%'
================================================
FILE: .config/eww/scripts/getweather
================================================
#!/bin/bash
tmp_weather="/tmp/weather"
tmp_weather_stat=$tmp_weather/weather-stat
tmp_weather_degree=$tmp_weather/weather-degree
tmp_weather_quote=$tmp_weather/weather-quote
tmp_weather_hex=$tmp_weather/weather-hex
tmp_weather_icon=$tmp_weather/weather-icon
if [ ! -d $tmp_weather ]; then
mkdir -p $tmp_weather
fi
# Put in your api and stuff link here
# If you dunno, head to openweathermap.org, and make and account
#(completely free I swear, and then get your API Key and your City ID)
# I wish I was smart enough to do it like Elena, but this is the top I could do lol
KEY="b4b2cdde83a8a5f8d5690cb28bd722f1"
ID="4347778"
UNIT="imperial" #Options are 'metric' and 'imperial'
weather=$(curl -sf "http://api.openweathermap.org/data/2.5/weather?APPID="$KEY"&id="$ID"&units="$UNIT"")
echo $weather
if [ ! -z "$weather" ]; then
weather_temp=$(echo "$weather" | jq ".main.temp" | cut -d "." -f 1)
weather_icon_code=$(echo "$weather" | jq -r ".weather[].icon" | head -1)
weather_description=$(echo "$weather" | jq -r ".weather[].description" | head -1 | sed -e "s/\b\(.\)/\u\1/g")
#Big long if statement of doom
if [ "$weather_icon_code" == "50d" ]; then
weather_icon=" "
weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..."
weather_hex="#81a1c1" #a7b8b2
elif [ "$weather_icon_code" == "50n" ]; then
weather_icon=" "
weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..."
weather_hex="#81a1c1"
elif [ "$weather_icon_code" == "01d" ]; then
weather_icon=" "
weather_quote="It's a sunny day, gonna be fun! \nDon't go wandering all by yourself though..."
weather_hex="#d08770"
elif [ "$weather_icon_code" == "01n" ]; then
weather_icon=" "
weather_quote="It's a clear night \nYou might want to take a evening stroll to relax..."
weather_hex="#eceff4"
elif [ "$weather_icon_code" == "02d" ]; then
weather_icon=" "
weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
weather_hex="#b48ead"
elif [ "$weather_icon_code" == "02n" ]; then
weather_icon=" "
weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
weather_hex="#b48ead"
elif [ "$weather_icon_code" == "03d" ]; then
weather_icon=" "
weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
weather_hex="#b48ead"
elif [ "$weather_icon_code" == "03n" ]; then
weather_icon=" "
weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
weather_hex="#b48ead"
elif [ "$weather_icon_code" == "04d" ]; then
weather_icon=" "
weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
weather_hex="#b48ead"
elif [ "$weather_icon_code" == "04n" ]; then
weather_icon=" "
weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
weather_hex="#b48ead"
elif [ "$weather_icon_code" == "09d" ]; then
weather_icon=" "
weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..."
weather_hex="#5e81ac"
elif [ "$weather_icon_code" == "09n" ]; then
weather_icon=" "
weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..."
weather_hex="#5e81ac"
elif [ "$weather_icon_code" == "10d" ]; then
weather_icon=" "
weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..."
weather_hex="#5e81ac"
elif [ "$weather_icon_code" == "10n" ]; then
weather_icon=" "
weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..."
weather_hex="#5e81ac"
elif [ "$weather_icon_code" == "11d" ]; then
weather_icon=""
weather_quote="There's storm for forecast today \nMake sure you don't get blown away..."
weather_hex="#ebcb8b"
elif [ "$weather_icon_code" == "11n" ]; then
weather_icon=""
weather_quote="There's gonna be storms tonight \nMake sure you're warm in bed and the windows are shut..."
weather_hex="#ebcb8b"
elif [ "$weather_icon_code" == "13d" ]; then
weather_icon=" "
weather_quote="It's gonna snow today \nYou'd better wear thick clothes and make a snowman as well!"
weather_hex="#d8dee9"
elif [ "$weather_icon_code" == "13n" ]; then
weather_icon=" "
weather_quote="It's gonna snow tonight \nMake sure you get up early tomorrow to see the sights..."
weather_hex="#d8dee9"
elif [ "$weather_icon_code" == "40d" ]; then
weather_icon=" "
weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..."
weather_hex="#81a1c1"
elif [ "$weather_icon_code" == "40n" ]; then
weather_icon=" "
weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..."
weather_hex="#81a1c1"
else
weather_icon=" "
weather_quote="Sort of odd, I don't know what to forecast \nMake sure you have a good time!"
weather_hex="#b48ead"
fi
echo "$weather_icon" > $tmp_weather_icon
echo "$weather_description" > $tmp_weather_stat
echo "$weather_temp""°F" > $tmp_weather_degree
echo "$weather_quote" > $tmp_weather_quote
echo "$weather_hex" > $tmp_weather_hex
else
echo "Weather Unavailable" > $tmp_weather_stat
echo " " > $tmp_weather_icon
echo "Ah well, no weather huh? \nEven if there's no weather, it's gonna be a great day!" > $tmp_weather_quote
echo "-" > $tmp_weather_degree
echo "#b48ead" > $tmp_weather_hex
fi
================================================
FILE: .config/eww/scripts/getwethquote
================================================
#!/bin/zsh
#Works only with zsh, I had bad experiences with bash. Feel free to modify for bash!
echo $(cat /tmp/weather/weather-quote) | head -n1
================================================
FILE: .config/eww/scripts/getwethquote2
================================================
#!/bin/zsh
#Works only with zsh, I had bad experiences with bash. Feel free to modify for bash!
echo $(cat /tmp/weather/weather-quote) | tail -n1
================================================
FILE: .config/eww/scripts/musicstatus
================================================
#!/bin/sh
playerctl -F -p Lollypop status |
while read -r STATUS; do
if [ "$STATUS" = "Playing" ]; then
STATUS=""
else
STATUS=""
fi
echo "$STATUS"
done
================================================
FILE: .config/eww/scripts/quotes
================================================
#!/bin/bash
num=$(echo $((1 + $RANDOM % 500)))
cat /tmp/xmonad/quotes/quotes.json | jq --arg num "$num" ".[$num]" | jq -r ".text" > /tmp/xmonad/quotes/quote
cat /tmp/xmonad/quotes/quotes.json | jq --arg num "$num" ".[$num]" | jq -r ".author" > /tmp/xmonad/quotes/author
quote=$(cat /tmp/xmonad/quotes/quote)
qc=$(cat /tmp/xmonad/quotes/quote | wc -c)
rm /tmp/xmonad/quotes/quote
rm /tmp/xmonad/quotes/quote-tail
if [ "$qc" -le 58 ]; then
echo "$quote" > /tmp/xmonad/quotes/quote
echo "" > /tmp/xmonad/quotes/quote-tail
else
printf '%s\n' "${quote:0:${#quote}/2}" > /tmp/xmonad/quotes/quote
printf '%s\n' "${quote:${#quote}/2}" > /tmp/xmonad/quotes/quote-tail
fi
================================================
FILE: .config/eww/scripts/vol_icon.sh
================================================
#!/usr/bin/env bash
set -euo pipefail
muted=$(pulsemixer --get-mute)
if [[ "$muted" == "0" ]]; then
echo -n ""
else
echo -n ""
fi
================================================
FILE: .config/eww/scripts/weather-trimmer
================================================
#!/bin/bash
weather=$(cat /tmp/weather/weather-stat)
weather_count=$(cat /tmp/weather/weather-stat | wc -c)
if [ "$weather_count" -lt 50 ]; then
echo $weather;
else
echo $(cat /tmp/weather/weather-stat | cut -c1-6)...
fi
================================================
FILE: .config/flashfocus/flashfocus.yml
================================================
## @@@@@@@@@@@@@@@@@@@@@@
## Flashfocus config file
## @@@@@@@@@@@@@@@@@@@@@@
# Opacity of window during flash.
flash-opacity: 0.8
# Windows are restored to this opacity value at the end of a flash.
default-opacity: 1
# Length of flash in milliseconds.
time: 500
# If true, flashes are not faded out. This will improve performance but flashes
# won't be smooth.
simple: false
# Number of animation frames in a flash.
ntimepoints: 10
# Set this to false if you don't want windows to flash on focus.
flash-on-focus: true
# Set this to false if you don't want fullscreen windows to flash.
flash-fullscreen: true
# Whether or not to flash windows if they are the only window on the desktop.
# Possible values:
# 'always':
# Always flash lone windows
# 'never':
# Never flash lone windows
# 'on_open_close':
# Lone windows will be flashed only if a) if they were just opened and b)
# if another window was just closed.
# 'on_switch':
# Lone windows will be flashed only upon switching desktops.
flash-lone-windows: 'always'
# Defining window-specific flash rules
#
# X11-based window managers (e.g i3, bspwm)
# -----------------------------------------
# Flash rules are defined by matching the WM_CLASS property of a window. To get
# the WM_CLASS property use 'xprop WM_CLASS' and click on a window. The
# property is a tuple of the form (window-id, window-class). The window-class
# is usually the name of the application, but not always.
#
#
# Say I'd like to set all 'termite' windows to 80% opacity but leave other
# windows at full opacity:
#
# rules:
# - window-class: Termite
# default-opacity: 0.8
#
#
# I also would prefer that firefox windows are not flashed on focus:
#
# rules:
# - window-class: firefox
# flash-on-focus: False
# - window-class: Termite
# default-opacity: 0.8
#
#
# For more complicated rules, you can use (python-style) regexes:
#
# rules:
# - window-id: ^(?!termite)$
# default-opacity: 0.8
#
#
# Sway
# ----
# Native wayland apps can be matched using the app_id and window name. These
# can be found using `swaymsg -t get_tree`. XWayland apps are matched with
# using WM_CLASS as above (this can also be found with `swaymsg`)
#
# Given that termite is wayland native and firefox is not, the rules above
# could instead be written:
#
# rules:
# - window-class: firefox
# flash-on-focus: False
# - app-id: termite
# default-opacity: 0.8
#
# rules:
# - window-name: ^(?!termite)$
# default-opacity: 0.8
================================================
FILE: .config/fontconfig/fonts.conf
================================================
icons
Fira Code
Font Awesome 6 Brands
Font Awesome 6 Free Solid
Twemoji
monospace
Fira Code
FiraCode Nerd Font Mono
Font Awesome 6 Free Solid>
Twemoji
================================================
FILE: .config/greenclip.toml
================================================
[greenclip]
blacklisted_applications = []
enable_image_support = true
history_file = "/home/barbarossa/.cache/greenclip.history"
image_cache_directory = "/tmp/greenclip"
max_history_length = 100
max_selection_size_bytes = 0
static_history = ["Greenclip has been updated to v4.0, update your new config file at ~/.config/greenclip.toml"]
trim_space_from_selection = true
use_primary_selection_as_input = false
================================================
FILE: .config/gtk-3.0/bookmarks
================================================
file:///home/barbarossa/Documents
file:///home/barbarossa/Downloads
file:///home/barbarossa/Pictures
file:///home/barbarossa/Public
file:///home/barbarossa/Videos
================================================
FILE: .config/gtk-3.0/gtk.css
================================================
.window-frame, .window-frame:backdrop {
box-shadow: 0 0 0 black;
border-style: none;
margin: 0;
border-radius: 0;
}
.titlebar {
border-radius: 0;
}
/* remove window title from Client-Side Decorations */
.solid-csd headerbar .title {
font-size: 0;
}
/* hide extra window decorations/double border */
window decoration {
margin: 0;
border: none;
padding: 0;
}
* {
text-shadow: none;
}
VteTerminal, vte-terminal {
padding: 44px;
}
window.thunar grid *:selected,
window.thunar grid *:active {
/*background: #3b4252;*/
border-radius: 3px; }
window.thunar .sidebar {
background-color: #2e3440;
/*box-shadow: inset 0px 0px 0px 0px rgba(0, 0, 0, 1);*/
padding: 1rem; }
window.thunar treeview {
padding: 3px; }
window.thunar .frame {
border: 0px; }
window.thunar toolbar box {
padding: 5px; }
window.thunar toolbar {
padding: 5px 0; }
.pavucontrol-window tabs tab {
padding: 16px; }
.pavucontrol-window .show-volume-meters-check-button {
padding: 8px; }
================================================
FILE: .config/gtk-3.0/settings.ini
================================================
[Settings]
gtk-icon-theme-name=Nord-Icon
gtk-theme-name=Nordic-darker
gtk-font-name=Fira Code 9
gtk-cursor-theme-name=capitaine-cursors
gtk-cursor-theme-size=48
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-shell-shows-menubar=1
gtk-application-prefer-dark-theme=0
================================================
FILE: .config/jgmenu/append.csv
================================================
^sep()
Lock,lockscreen.sh,system-lock-screen
Exit,^checkout(exit),system-shutdown
^tag(exit)
Suspend,systemctl -i suspend,system-log-out
Reboot,systemctl -i reboot,system-reboot
Poweroff,systemctl -i poweroff,system-shutdown
================================================
FILE: .config/jgmenu/backup/20210328092350068293038/jgmenurc
================================================
stay_alive = 1
tint2_look = 0
position_mode = fixed
terminal_exec = termite
terminal_args = -e
menu_width = 200
menu_padding_top = 10
menu_padding_right = 2
menu_padding_bottom = 5
menu_padding_left = 2
menu_radius = 0
menu_border = 1
menu_halign = left
sub_hover_action = 1
item_margin_y = 5
item_height = 30
item_padding_x = 8
item_radius = 0
item_border = 0
sep_height = 5
font = Ubuntu 12px
icon_size = 24
color_menu_bg = #2b303b 100
color_norm_bg = #2b303b 0
color_norm_fg = #8fa1b3 100
color_sel_bg = #8fa1b3 60
color_sel_fg = #2b303b 100
color_sep_fg = #8fa1b3 40
================================================
FILE: .config/jgmenu/backup/20210328092350083298148/append.csv
================================================
^sep()
Lock,i3lock -c 000000,system-lock-screen
Exit,^checkout(exit),system-shutdown
^tag(exit)
Suspend,systemctl -i suspend,system-log-out
Reboot,systemctl -i reboot,system-reboot
Poweroff,systemctl -i poweroff,system-shutdown
================================================
FILE: .config/jgmenu/backup/20210328092350083298148/jgmenurc
================================================
stay_alive = 1
tint2_look = 0
position_mode = fixed
terminal_exec = termite
terminal_args = -e
menu_width = 200
menu_padding_top = 10
menu_padding_right = 2
menu_padding_bottom = 5
menu_padding_left = 2
menu_radius = 0
menu_border = 1
menu_halign = left
sub_hover_action = 1
item_margin_y = 5
item_height = 30
item_padding_x = 8
item_radius = 0
item_border = 0
sep_height = 5
font = Ubuntu 12px
icon_size = 24
color_menu_bg = #2b303b 100
color_norm_bg = #2b303b 0
color_norm_fg = #8fa1b3 100
color_sel_bg = #8fa1b3 60
color_sel_fg = #2b303b 100
color_sep_fg = #8fa1b3 40
================================================
FILE: .config/jgmenu/backup/20210328092354312474020/append.csv
================================================
^sep()
Lock,i3lock -c 000000,system-lock-screen
Exit,^checkout(exit),system-shutdown
^tag(exit)
Suspend,systemctl -i suspend,system-log-out
Reboot,systemctl -i reboot,system-reboot
Poweroff,systemctl -i poweroff,system-shutdown
================================================
FILE: .config/jgmenu/backup/20210328092354312474020/jgmenurc
================================================
stay_alive = 1
tint2_look = 0
position_mode = fixed
terminal_exec = termite
terminal_args = -e
menu_width = 200
menu_padding_top = 10
menu_padding_right = 2
menu_padding_bottom = 5
menu_padding_left = 2
menu_radius = 0
menu_border = 1
menu_halign = left
sub_hover_action = 1
item_margin_y = 5
item_height = 30
item_padding_x = 8
item_radius = 0
item_border = 0
sep_height = 5
font = Ubuntu 12px
icon_size = 24
color_menu_bg = #2b303b 100
color_norm_bg = #2b303b 0
color_norm_fg = #8fa1b3 100
color_sel_bg = #8fa1b3 60
color_sel_fg = #2b303b 100
color_sep_fg = #8fa1b3 40
================================================
FILE: .config/jgmenu/backup/20210328092354312474020/prepend.csv
================================================
File manager,nautilus,system-file-manager
^sep()
================================================
FILE: .config/jgmenu/backup/20210328092354319339759/jgmenurc
================================================
stay_alive = 1
tint2_look = 0
position_mode = fixed
terminal_exec = termite
terminal_args = -e
menu_width = 200
menu_padding_top = 10
menu_padding_right = 2
menu_padding_bottom = 5
menu_padding_left = 2
menu_radius = 0
menu_border = 1
menu_halign = left
sub_hover_action = 1
item_margin_y = 5
item_height = 30
item_padding_x = 8
item_radius = 0
item_border = 0
sep_height = 5
font = Ubuntu 12px
icon_size = 24
color_menu_bg = #2b303b 100
color_norm_bg = #2b303b 0
color_norm_fg = #8fa1b3 100
color_sel_bg = #8fa1b3 60
color_sel_fg = #2b303b 100
color_sep_fg = #8fa1b3 40
================================================
FILE: .config/jgmenu/backup/20210328092354330711136/append.csv
================================================
^sep()
Lock,i3lock -c 000000,system-lock-screen
Exit,^checkout(exit),system-shutdown
^tag(exit)
Suspend,systemctl -i suspend,system-log-out
Reboot,systemctl -i reboot,system-reboot
Poweroff,systemctl -i poweroff,system-shutdown
================================================
FILE: .config/jgmenu/backup/20210328092354330711136/jgmenurc
================================================
stay_alive = 1
tint2_look = 0
position_mode = fixed
terminal_exec = termite
terminal_args = -e
menu_width = 200
menu_padding_top = 10
menu_padding_right = 2
menu_padding_bottom = 5
menu_padding_left = 2
menu_radius = 0
menu_border = 1
menu_halign = left
sub_hover_action = 1
item_margin_y = 5
item_height = 30
item_padding_x = 8
item_radius = 0
item_border = 0
sep_height = 5
font = Ubuntu 12px
icon_size = 24
color_menu_bg = #2b303b 100
color_norm_bg = #2b303b 0
color_norm_fg = #8fa1b3 100
color_sel_bg = #8fa1b3 60
color_sel_fg = #2b303b 100
color_sep_fg = #8fa1b3 40
================================================
FILE: .config/jgmenu/jgmenurc
================================================
stay_alive = 0
tint2_look = 0
position_mode = pointer
terminal_exec = alacritty
terminal_args = -e
menu_width = 200
menu_padding_top = 10
menu_padding_right = 2
menu_padding_bottom = 5
menu_padding_left = 2
menu_radius = 12
menu_border = 3
menu_halign = left
sub_hover_action = 1
item_margin_y = 5
item_height = 30
item_padding_x = 8
item_radius = 6
item_border = 0
sep_height = 5
font = FiraCode Nerd Font 12px
icon_size = 24
color_menu_bg = #2e3440 100
color_norm_bg = #2e3440 0
color_norm_fg = #e5e9f0 100
color_menu_border = #3b4252 100
color_sel_bg = #e5e9f0 60
color_sel_fg = #2e3440 100
color_sep_fg = #e5e9f0 400
================================================
FILE: .config/jgmenu/qtile.csv
================================================
Qtile,,
^sep()
State,^checkout(state)
Move,^checkout(move)
Orient,^checkout(orient)
^sep()
Close,qtile cmd-obj -o window -f kill
^tag(state)
Floating,qtile cmd-obj -o window -f toggle_floating
Fullscreen,qtile cmd-obj -o window -f toggle_fullscreen
Maximize,qtile cmd-obj -o window -f toggle_maximize
Minimize,qtile cmd-obj -o window -f toggle_minimize
Unminimize,qtile cmd-obj -o group -f unminimize_all
^tag(move)
Up,qtile cmd-obj -o layout -f shuffle_up
Left,qtile cmd-obj -o layout -f shuffle_left
Right,qtile cmd-obj -o layout -f shuffle_right
Down,qtile cmd-obj -o layout -f shuffle_down
To desktop...,^checkout(desktop)
^tag(desktop)
One,qtile cmd-obj -o window -f togroup -a
Two,qtile cmd-obj -o window -f togroup -a
Three,qtile cmd-obj -o window -f togroup -a
Four,qtile cmd-obj -o window -f togroup -a
Five,qtile cmd-obj -o window -f togroup -a
Six,qtile cmd-obj -o window -f togroup -a
Seven,qtile cmd-obj -o window -f togroup -a
Eight,qtile cmd-obj -o window -f togroup -a
Nine,qtile cmd-obj -o window -f togroup -a
Ten,qtile cmd-obj -o window -f togroup -a
^tag(orient)
Layout,^checkout(layout)
Flip,^checkout(flip)
^sep()
Normalize,qtile cmd-obj -o layout -f normalize
^tag(layout)
Bsp,qtile cmd-obj -o group -f setlayout -a bsp
Floating,qtile cmd-obj -o group -f setlayout -a floating
Columns,qtile cmd-obj -o group -f setlayout -a columns
^tag(flip)
Up,qtile cmd-obj -o layout -f flip_up
Left,qtile cmd-obj -o layout -f flip_left
Right,qtile cmd-obj -o layout -f flip_right
Down,qtile cmd-obj -o layout -f flip_down
================================================
FILE: .config/neofetch/config.conf
================================================
# See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
print_info() {
#printf "\n"
#printf "\n"
#info title
#info underline
printf "\n"
printf "\n"
printf "\n"
info " " distro
#info "Host" model
info " " kernel
#info "" uptime
info " " packages
info " " shell #""
info " " term
printf "\n"
info " " resolution
#info "DE" de
info " " wm
#info "WM Theme" wm_theme
printf "\n"
info " " theme
info " " icons
#info "ﯔ " term_font
info "ﯔ " font
#printf "\n"
#info "CPU" cpu
#info "GPU" gpu
#info "Memory" memory
# info "GPU Driver" gpu_driver # Linux/macOS only
# info "CPU Usage" cpu_usage
# info "Disk" disk
# info "Battery" battery
# info "Song" song
# [[ "$player" ]] && prin "Music Player" "$player"
# info "Local IP" local_ip
# info "Public IP" public_ip
# info "Users" users
# info "Locale" locale # This only works on glibc systems.
#~/.config/neofetch/hex-block
#printf "$(bash ~/.config/neofetch/panes)"
#info cols
}
# Kernel
# Shorten the output of the kernel function.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --kernel_shorthand
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
#
# Example:
# on: '4.8.9-1-ARCH'
# off: 'Linux 4.8.9-1-ARCH'
kernel_shorthand="on"
# Distro
# Shorten the output of the distro function
#
# Default: 'off'
# Values: 'on', 'tiny', 'off'
# Flag: --distro_shorthand
# Supports: Everything except Windows and Haiku
distro_shorthand="tiny"
# Show/Hide OS Architecture.
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --os_arch
#
# Example:
# on: 'Arch Linux x86_64'
# off: 'Arch Linux'
os_arch="off"
# Uptime
# Shorten the output of the uptime function
#
# Default: 'on'
# Values: 'on', 'tiny', 'off'
# Flag: --uptime_shorthand
#
# Example:
# on: '2 days, 10 hours, 3 mins'
# tiny: '2d 10h 3m'
# off: '2 days, 10 hours, 3 minutes'
uptime_shorthand="on"
# Memory
# Show memory pecentage in output.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --memory_percent
#
# Example:
# on: '1801MiB / 7881MiB (22%)'
# off: '1801MiB / 7881MiB'
memory_percent="off"
# Packages
# Show/Hide Package Manager names.
#
# Default: 'tiny'
# Values: 'on', 'tiny' 'off'
# Flag: --package_managers
#
# Example:
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
# tiny: '908 (pacman, flatpak, snap)'
# off: '908'
package_managers="on"
# Shell
# Show the path to $SHELL
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --shell_path
#
# Example:
# on: '/bin/bash'
# off: 'bash'
shell_path="off"
# Show $SHELL version
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --shell_version
#
# Example:
# on: 'bash 4.4.5'
# off: 'bash'
shell_version="on"
# CPU
# CPU speed type
#
# Default: 'bios_limit'
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
# Flag: --speed_type
# Supports: Linux with 'cpufreq'
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
speed_type="bios_limit"
# CPU speed shorthand
#
# Default: 'off'
# Values: 'on', 'off'.
# Flag: --speed_shorthand
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
#
# Example:
# on: 'i7-6500U (4) @ 3.1GHz'
# off: 'i7-6500U (4) @ 3.100GHz'
speed_shorthand="on"
# Enable/Disable CPU brand in output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_brand
#
# Example:
# on: 'Intel i7-6500U'
# off: 'i7-6500U (4)'
cpu_brand="off"
# CPU Speed
# Hide/Show CPU speed.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_speed
#
# Example:
# on: 'Intel i7-6500U (4) @ 3.1GHz'
# off: 'Intel i7-6500U (4)'
cpu_speed="on"
# CPU Cores
# Display CPU cores in output
#
# Default: 'logical'
# Values: 'logical', 'physical', 'off'
# Flag: --cpu_cores
# Support: 'physical' doesn't work on BSD.
#
# Example:
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
# off: 'Intel i7-6500U @ 3.1GHz'
cpu_cores="logical"
# CPU Temperature
# Hide/Show CPU temperature.
# Note the temperature is added to the regular CPU function.
#
# Default: 'off'
# Values: 'C', 'F', 'off'
# Flag: --cpu_temp
# Supports: Linux, BSD
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
# coretemp kernel module. This only supports newer Intel processors.
#
# Example:
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
# off: 'Intel i7-6500U (4) @ 3.1GHz'
cpu_temp="off"
# GPU
# Enable/Disable GPU Brand
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gpu_brand
#
# Example:
# on: 'AMD HD 7950'
# off: 'HD 7950'
gpu_brand="off"
# Which GPU to display
#
# Default: 'all'
# Values: 'all', 'dedicated', 'integrated'
# Flag: --gpu_type
# Supports: Linux
#
# Example:
# all:
# GPU1: AMD HD 7950
# GPU2: Intel Integrated Graphics
#
# dedicated:
# GPU1: AMD HD 7950
#
# integrated:
# GPU1: Intel Integrated Graphics
gpu_type="all"
# Resolution
# Display refresh rate next to each monitor
# Default: 'off'
# Values: 'on', 'off'
# Flag: --refresh_rate
# Supports: Doesn't work on Windows.
#
# Example:
# on: '1920x1080 @ 60Hz'
# off: '1920x1080'
refresh_rate="off"
# Gtk Theme / Icons / Font
# Shorten output of GTK Theme / Icons / Font
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --gtk_shorthand
#
# Example:
# on: 'Numix, Adwaita'
# off: 'Numix [GTK2], Adwaita [GTK3]'
gtk_shorthand="on"
# Enable/Disable gtk2 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk2
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Adwaita [GTK3]'
gtk2="on"
# Enable/Disable gtk3 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk3
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Numix [GTK2]'
gtk3="on"
# IP Address
# Website to ping for the public IP
#
# Default: 'http://ident.me'
# Values: 'url'
# Flag: --ip_host
public_ip_host="http://ident.me"
# Public IP timeout.
#
# Default: '2'
# Values: 'int'
# Flag: --ip_timeout
public_ip_timeout=2
# Disk
# Which disks to display.
# The values can be any /dev/sdXX, mount point or directory.
# NOTE: By default we only show the disk info for '/'.
#
# Default: '/'
# Values: '/', '/dev/sdXX', '/path/to/drive'.
# Flag: --disk_show
#
# Example:
# disk_show=('/' '/dev/sdb1'):
# 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
#
# disk_show=('/'):
# 'Disk (/): 74G / 118G (66%)'
#
disk_show=('/')
# Disk subtitle.
# What to append to the Disk subtitle.
#
# Default: 'mount'
# Values: 'mount', 'name', 'dir'
# Flag: --disk_subtitle
#
# Example:
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
#
# mount: 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
#
# dir: 'Disk (/): 74G / 118G (66%)'
# 'Disk (Local Disk): 74G / 118G (66%)'
# 'Disk (Videos): 74G / 118G (66%)'
disk_subtitle="dir"
# Song
# Manually specify a music player.
#
# Default: 'auto'
# Values: 'auto', 'player-name'
# Flag: --music_player
#
# Available values for 'player-name':
#
# amarok
# audacious
# banshee
# bluemindo
# clementine
# cmus
# deadbeef
# deepin-music
# dragon
# elisa
# exaile
# gnome-music
# gmusicbrowser
# gogglesmm
# guayadeque
# iTunes
# juk
# lollypop
# mocp
# mopidy
# mpd
# netease-cloud-music
# pogo
# pragha
# qmmp
# quodlibet
# rhythmbox
# sayonara
# smplayer
# spotify
# strawberry
# tomahawk
# vlc
# xmms2d
# xnoise
# yarock
music_player="auto"
# Format to display song information.
#
# Default: '%artist% - %album% - %title%'
# Values: '%artist%', '%album%', '%title%'
# Flag: --song_format
#
# Example:
# default: 'Song: Jet - Get Born - Sgt Major'
song_format="%artist% - %album% - %title%"
# Print the Artist, Album and Title on separate lines
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --song_shorthand
#
# Example:
# on: 'Artist: The Fratellis'
# 'Album: Costello Music'
# 'Song: Chelsea Dagger'
#
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
song_shorthand="off"
# 'mpc' arguments (specify a host, password etc).
#
# Default: ''
# Example: mpc_args=(-h HOST -P PASSWORD)
mpc_args=()
# Text Colors
# Text Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --colors
#
# Each number represents a different part of the text in
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
#
# Example:
# colors=(distro) - Text is colored based on Distro colors.
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
colors=(5 4 8 6 8 7)
# Text Options
# Toggle bold text
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bold
bold="on"
# Enable/Disable Underline
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --underline
underline_enabled="on"
# Underline character
#
# Default: '-'
# Values: 'string'
# Flag: --underline_char
underline_char="─"
# Info Separator
# Replace the default separator with the specified string.
#
# Default: ':'
# Flag: --separator
#
# Example:
# separator="->": 'Shell-> bash'
# separator=" =": 'WM = dwm'
separator=" ● " #" ⟫"
# Color Blocks
# Color block range
# The range of colors to print.
#
# Default: '0', '15'
# Values: 'num'
# Flag: --block_range
#
# Example:
#
# Display colors 0-7 in the blocks. (8 colors)
# neofetch --block_range 0 7
#
# Display colors 0-15 in the blocks. (16 colors)
# neofetch --block_range 0 15
block_range=(0 15)
# Toggle color blocks
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --color_blocks
color_blocks="on"
# Color block width in spaces
#
# Default: '3'
# Values: 'num'
# Flag: --block_width
block_width=3
# Color block height in lines
#
# Default: '1'
# Values: 'num'
# Flag: --block_height
block_height=1
# Progress Bars
# Bar characters
#
# Default: '-', '='
# Values: 'string', 'string'
# Flag: --bar_char
#
# Example:
# neofetch --bar_char 'elapsed' 'total'
# neofetch --bar_char '-' '='
bar_char_elapsed="-"
bar_char_total="="
# Toggle Bar border
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bar_border
bar_border="on"
# Progress bar length in spaces
# Number of chars long to make the progress bars.
#
# Default: '15'
# Values: 'num'
# Flag: --bar_length
bar_length=15
# Progress bar colors
# When set to distro, uses your distro's logo colors.
#
# Default: 'distro', 'distro'
# Values: 'distro', 'num'
# Flag: --bar_colors
#
# Example:
# neofetch --bar_colors 3 4
# neofetch --bar_colors distro 5
bar_color_elapsed="distro"
bar_color_total="distro"
# Info display
# Display a bar with the info.
#
# Default: 'off'
# Values: 'bar', 'infobar', 'barinfo', 'off'
# Flags: --cpu_display
# --memory_display
# --battery_display
# --disk_display
#
# Example:
# bar: '[---=======]'
# infobar: 'info [---=======]'
# barinfo: '[---=======] info'
# off: 'info'
cpu_display="off"
memory_display="off"
battery_display="off"
disk_display="off"
# Backend Settings
# Image backend.
#
# Default: 'ascii'
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
# 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', "ueberzug"
# Flag: --backend
image_backend="ueberzug"
# Image Source
#
# Which image or ascii file to display.
#
# Default: 'auto'
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
# Flag: --source
#
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
# In ascii mode, distro ascii art will be used and in an image mode, your
# wallpaper will be used.
image_source="/home/barbarossa/.config/neofetch/chun-lo-deat2-crop.png" #"/home/barbarossa/.config/neofetch/dna_ascii"
# Ascii Options
# Ascii distro
# Which distro's ascii art to display.
#
# Default: 'auto'
# Values: 'auto', 'distro_name'
# Flag: --ascii_distro
#
# NOTE: Arch and Ubuntu have 'old' logo variants.
# Change this to 'arch_old' or 'ubuntu_old' to use the old logos.
# NOTE: Ubuntu has flavor variants.
# Change this to 'Lubuntu', 'Xubuntu', 'Ubuntu-GNOME' or 'Ubuntu-Budgie' to use the flavors.
# NOTE: Arch, Crux and Gentoo have a smaller logo variant.
# Change this to 'arch_small', 'crux_small' or 'gentoo_small' to use the small logos.
ascii_distro="auto"
# Ascii Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --ascii_colors
#
# Example:
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
ascii_colors=(5 4 3 4 5 6)
# Bold ascii logo
# Whether or not to bold the ascii logo.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --ascii_bold
ascii_bold="on"
# Image Options
# Image loop
# Setting this to on will make neofetch redraw the image constantly until
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --loop
image_loop="off"
# Thumbnail directory
#
# Default: '~/.cache/thumbnails/neofetch'
# Values: 'dir'
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
# Crop mode
#
# Default: 'normal'
# Values: 'normal', 'fit', 'fill'
# Flag: --crop_mode
#
# See this wiki page to learn about the fit and fill options.
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
crop_mode="normal"
# Crop offset
# Note: Only affects 'normal' crop mode.
#
# Default: 'center'
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
# 'east', 'southwest', 'south', 'southeast'
# Flag: --crop_offset
crop_offset="center"
# Image size
# The image is half the terminal width by default.
#
# Default: 'auto'
# Values: 'auto', '00px', '00%', 'none'
# Flags: --image_size
# --size
image_size="440px"
# Gap between image and text
#
# Default: '3'
# Values: 'num', '-num'
# Flag: --gap
gap=5
# Image offsets
# Only works with the w3m backend.
#
# Default: '0'
# Values: 'px'
# Flags: --xoffset
# --yoffset
yoffset=0
xoffset=0
# Image background color
# Only works with the w3m backend.
#
# Default: ''
# Values: 'color', 'blue'
# Flag: --bg_color
background_color=
# Misc Options
# Stdout mode
# Turn off all colors and disables image backend (ASCII/Image).
# Useful for piping into another command.
# Default: 'off'
# Values: 'on', 'off'
stdout="off"
================================================
FILE: .config/paru/paru.conf
================================================
#########################
#.-----.---.-.----.--.--.
#| _ | _ | _| | |
#| __|___._|__| |_____|
#|__|
#########################
#
# $PARU_CONF
# /etc/paru.conf
# ~/.config/paru/paru.conf
#
# See the paru.conf(5) manpage for options
#
# GENERAL OPTIONS
#
[options]
PgpFetch
Devel
Provides
DevelSuffixes = -git -cvs -svn -bzr -darcs -always
BottomUp
RemoveMake
SudoLoop
#UseAsk
CombinedUpgrade
CleanAfter
#UpgradeMenu
NewsOnUpgrade
#LocalRepo
#Chroot
#MovePkgs
#
# Binary OPTIONS
#
[bin]
#FileManager = vifm
Bat = bat
#MFlags = --skippgpcheck
#Sudo = doas
================================================
FILE: .config/picom/picom.conf
================================================
# vim: filetype=conf
#
#################################
# _
# _ __ (_) ___ ___ _ __ ___
#| '_ \| |/ __/ _ \| '_ ` _ \
#| |_) | | (_| (_) | | | | | |
#| .__/|_|\___\___/|_| |_| |_|
#|_|
#################################
backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
xrender-sync-fence = true;
#force-win-blend = false;
unredir-if-possible = true;
#resize-damage = 7;
#vsync = true;
corner-radius = 12.0;
round-borders = 1;
rounded-corners-exclude = [
"class_g = 'dunst'",
"class_g = 'Polybar'",
"class_g = 'Rofi'",
"QTILE_INTERNAL:32c = 1"
#"! name~=''",
];
rounded-borders-exclude = [
"class_g = 'dunst'",
"class_g = 'Polybar'",
"class_g = 'Rofi'",
"QTILE_INTERNAL:32c = 1"
#"! name~=''",
]
#Shadow
shadow = true; # Enabled client-side shadows on windows.
shadow-radius = 40; # The blur radius for shadows. (default 12)
shadow-offset-x = -40; # The left offset for shadows. (default -15)
shadow-offset-y = -20; # The top offset for shadows. (default -15)
shadow-opacity = 0.35;
shadow-exclude = [
"class_g = 'Plank'",
"! name~=''",
"class_g = 'conky'",
"name = 'cpt_frame_window'",
"class_g = 'slop'",
"name = 'lead'",
"name = 'Eww - border1'",
"name = 'Eww - border2'",
#"name = 'Eww - border'",
"class_g = 'firefox' && argb",
#"QTILE_INTERNAL:32c = 1",
"class_g = 'i3lock'",
"class_g = 'stalonetray'",
#"name = 'polybar-bar_DP-4'",
"name = 'Polybar tray window'",
"name = 'polybar-tray_DP-4'"
];
# Fading
fading = true; # Fade windows during opacity changes.
fade-delta = 5; # The time between steps in a fade in milliseconds. (default 10).
fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028).
fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03).
#no-fading-openclose = true; # Fade windows in/out when opening/closing
## Opacity
#inactive-opacity = 0.90;
#active-opacity = 1;
#frame-opacity = 1;
#inactive-opacity-override = false;
#inactive-dim = 0.2;
#inactive-dim-fixed = true;
## Opacity rules, do "xprop | grep WM_CLASS" to find class name
#opacity-rule = ["100:class_g = 'firefox'", "100:class_g = 'Chromium'", "100:class_g = 'Polybar'", "100:class_g = 'Thunderbird'", "100:name *? = 'i3lock'", "90:class_i = 'urxvt'", "100:class_i = 'cmatrixterm'", "90:class_i = 'dropdown'", "100:class_g = 'Zathura'", "100:class_g = 'Emacs'", "100:class_g = 'mpv'", "100:class_g = 'Joplin'", "90:class_i = 'applauncher'", "90:class_i = 'greenclip'", "90:class_i = 'bsphidwins'", "90:class_i = 'findFiles'", "90:class_i = 'sxhkdhelp'", "90:class_i = 'splatmoji'", "90:class_i = 'powermenu'", "90:class_i = 'fzfnotes'", "90:class_i = 'google'", "90:class_i = 'Spotify'", "90:class_g *? = 'xob'", "90:class_i = 'notifHistory'"];
detect-client-opacity = true; # This prevents opacity being ignored for some apps. For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
opacity-rule = [
#"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
#"40:class_g = 'Bspwm' &&
"40:class_i = 'presel_feedback'",
];
# Blur
blur-method = "dual_kawase";
blur-strength = 10;
blur-background = true;
#blur-background-frame = true;
blur-background-fixed = true;
blur-background-exclude = [
#"class_g = 'Plank'",
"class_g = 'slop'",
#"class_g != 'i3lock'",
#"name != 'rofi - ' &&
"class_i != 'presel_feedback'",
]
# Animation settings
transition-length = 300;
transition-pow-x = 0.7;
transition-pow-y = 0.7;
transition-pow-w = 0.7;
transition-pow-h = 0.7;
size-transition = true;
animations = true;
animation-for-open-window = "none";
animation-delta = 10;
# Window type settings
wintypes:
{
tooltip = { fade = true; full-shadow = true; opacity = 1; };
dock = { full-shadow = true;};
popup_menu = { opacity = 1; full-shadow = true; };
normal = {full-shadow = true;};
dropdown_menu = { opacity = 1; full-shadow = true; }
};
================================================
FILE: .config/qtile/autostart.sh
================================================
#!/usr/bin/env bash
set -euo pipefail
playerctld daemon
blueberry-tray &
greenclip daemon &
mkfifo /tmp/vol && echo "$(pulsemixer --get-volume | awk '{print $1}')" > /tmp/vol &
mkfifo /tmp/vol-icon && ~/.config/qtile/eww_vol_icon.sh &
~/.config/eww/scripts/getweather &
#default_startup.sh &
================================================
FILE: .config/qtile/config.py
================================================
# -*- coding: utf-8 -*-
import os
import subprocess
from typing import List # noqa: F401
import psutil
from libqtile.config import (
Key,
Screen,
Group,
Drag,
Click,
ScratchPad,
DropDown,
Match,
)
from libqtile import layout, bar, widget, hook
from libqtile.lazy import lazy
from libqtile import qtile
from qtile_extras import widget
from qtile_extras.widget.decorations import BorderDecoration
from qtile_extras.widget.decorations import RectDecoration
# from plasma import Plasma
mod = "mod4"
terminal = "alacritty"
# Resize functions for bsp layout
def resize(qtile, direction):
layout = qtile.current_layout
child = layout.current
parent = child.parent
while parent:
if child in parent.children:
layout_all = False
if (direction == "left" and parent.split_horizontal) or (
direction == "up" and not parent.split_horizontal
):
parent.split_ratio = max(5, parent.split_ratio - layout.grow_amount)
layout_all = True
elif (direction == "right" and parent.split_horizontal) or (
direction == "down" and not parent.split_horizontal
):
parent.split_ratio = min(95, parent.split_ratio + layout.grow_amount)
layout_all = True
if layout_all:
layout.group.layout_all()
break
child = parent
parent = child.parent
@lazy.function
def resize_left(qtile):
current = qtile.current_layout.name
layout = qtile.current_layout
if current == "bsp":
resize(qtile, "left")
elif current == "columns":
layout.cmd_grow_left()
@lazy.function
def resize_right(qtile):
current = qtile.current_layout.name
layout = qtile.current_layout
if current == "bsp":
resize(qtile, "right")
elif current == "columns":
layout.cmd_grow_right()
@lazy.function
def resize_up(qtile):
current = qtile.current_layout.name
layout = qtile.current_layout
if current == "bsp":
resize(qtile, "up")
elif current == "columns":
layout.cmd_grow_up()
@lazy.function
def resize_down(qtile):
current = qtile.current_layout.name
layout = qtile.current_layout
if current == "bsp":
resize(qtile, "down")
elif current == "columns":
layout.cmd_grow_down()
def show_keys():
key_help = ""
for k in keys:
mods = ""
for m in k.modifiers:
if m == "mod4":
mods += "Super + "
else:
mods += m.capitalize() + " + "
if len(k.key) > 1:
mods += k.key.capitalize()
else:
mods += k.key
key_help += "{:<30} {}".format(mods, k.desc + "\n")
return key_help
# Padding
def padding(qtile, direction):
if direction == "+":
qtile.current_screen.left.size += 18
qtile.current_screen.top.size += 9
qtile.current_screen.right.size += 18
qtile.current_screen.bottom.size += 9
qtile.current_group.layout_all()
elif direction == "-":
qtile.current_screen.left.size -= 18
qtile.current_screen.top.size -= 9
qtile.current_screen.right.size -= 18
qtile.current_screen.bottom.size -= 9
qtile.current_group.layout_all()
else:
qtile.current_screen.left.size = 18
qtile.current_screen.top.size = 77
qtile.current_screen.right.size = 18
qtile.current_screen.bottom.size = 18
qtile.current_layout.margin = 9
qtile.current_group.layout_all()
@lazy.function
def inc_pad(qtile):
padding(qtile, "+")
@lazy.function
def dec_pad(qtile):
padding(qtile, "-")
@lazy.function
def reset_pad(qtile):
padding(qtile, "reset")
@lazy.function
def inc_margins(qtile):
qtile.current_layout.margin += 9
qtile.current_group.layout_all()
@lazy.function
def dec_margins(qtile):
qtile.current_layout.margin -= 9
qtile.current_group.layout_all()
keys = [
# The essentials
Key([mod], "Return", lazy.spawn(terminal), desc="Launches My Terminal"),
Key(
[mod],
"d",
lazy.group["scratchpad"].dropdown_toggle("term"),
desc="Toggle dropdown terminal",
),
Key(
[mod],
"e",
lazy.spawn("rofi -show drun"),
desc="Rofi app launcher",
),
Key([mod], "Tab", lazy.next_layout(), desc="Toggle forward layout"),
Key([mod, "shift"], "Tab", lazy.prev_layout(), desc="Toggle last layout"),
Key([mod], "q", lazy.window.kill(), desc="Kill active window"),
Key(
[mod, "shift"],
"r",
lazy.restart(),
# lazy.spawn("reopen_eww.sh"),
desc="Restart Qtile",
),
Key(
[mod, "shift"],
"e",
lazy.spawn("power"),
desc="Power Menu",
),
Key(
[mod, "shift"],
"a",
lazy.spawn("emacs /home/barbarossa/.config/qtile/config.py"),
desc="Config qtile",
),
Key(
[mod, "control", "mod1"],
"grave",
lazy.spawn("jgmenu --csv-file=/home/barbarossa/.config/jgmenu/qtile.csv"),
desc="Mouse menu (thumb button)",
),
# Switch focus to specific monitor (out of three)
# Key([mod], "w", lazy.to_screen(0), desc="Keyboard focus to monitor 1"),
# Key([mod], "e", lazy.to_screen(1), desc="Keyboard focus to monitor 2"),
# Key([mod], "r", lazy.to_screen(2), desc="Keyboard focus to monitor 3"),
# Switch focus of monitors
# Key([mod], "period", lazy.next_screen(), desc="Move focus to next monitor"),
# Key([mod], "comma", lazy.prev_screen(), desc="Move focus to prev monitor"),
# Window controls
# Change Focus
Key(
[mod], "Down", lazy.layout.down(), desc="Move focus down in current stack pane"
),
Key([mod], "Up", lazy.layout.up(), desc="Move focus up in current stack pane"),
Key(
[mod],
"Left",
lazy.layout.left(),
# lazy.layout.next(),
desc="Move focus left in current stack pane",
),
Key(
[mod],
"Right",
lazy.layout.right(),
# lazy.layout.previous(),
desc="Move focus right in current stack pane",
),
# Move windows within group
Key(
[mod, "shift"],
"Down",
lazy.layout.shuffle_down(),
lazy.layout.move_down(),
desc="Move windows down in current stack",
),
Key(
[mod, "shift"],
"Up",
lazy.layout.shuffle_up(),
lazy.layout.move_up(),
desc="Move windows up in current stack",
),
Key(
[mod, "shift"],
"Left",
lazy.layout.shuffle_left(),
# lazy.layout.swap_left(),
# lazy.layout.client_to_previous(),
lazy.layout.move_left(),
desc="Move windows left in current stack",
),
Key(
[mod, "shift"],
"Right",
lazy.layout.shuffle_right(),
# lazy.layout.swap_right(),
# lazy.layout.client_to_next(),
lazy.layout.move_right(),
desc="Move windows right in the current stack",
),
# Flip layouts for bsp
Key(
[mod, "control"],
"Down",
lazy.layout.flip_down(),
# lazy.layout.section_down(),
# lazy.layout.integrate_down(),
desc="Flip layout down",
),
Key(
[mod, "control"],
"Up",
lazy.layout.flip_up(),
# lazy.layout.section_up(),
# lazy.layout.integrate_up(),
desc="Flip layout up",
),
Key(
[mod, "control"],
"Left",
lazy.layout.flip_left(),
lazy.layout.swap_column_left(),
# lazy.layout.integrate_left(),
desc="Flip layout left",
),
Key(
[mod, "control"],
"Right",
lazy.layout.flip_right(),
lazy.layout.swap_column_left(),
# lazy.layout.integrate_right(),
desc="Flip layout right",
),
# Resize windows
Key(
[mod, "mod1"],
"Left",
resize_left,
# lazy.layout.grow_width(-30),
desc="Resize window left",
),
Key(
[mod, "mod1"],
"Right",
resize_right,
# lazy.layout.grow_width(30),
desc="Resize window Right",
),
Key(
[mod, "mod1"],
"Up",
resize_up,
# lazy.layout.grow_height(30),
desc="Resize windows upward",
),
Key(
[mod, "mod1"],
"Down",
resize_down,
# lazy.layout.grow_height(-30),
desc="Resize windows downward",
),
Key(
[mod],
"n",
lazy.layout.normalize(),
# lazy.layout.reset_size(),
desc="Normalize window size ratios",
),
# Window States
Key(
[mod],
"m",
lazy.window.toggle_maximize(),
desc="Toggle window between minimum and maximum sizes",
),
Key([mod, "shift"], "f", lazy.window.toggle_fullscreen(), desc="Toggle fullscreen"),
Key(
[mod],
"t",
lazy.window.toggle_floating(),
desc="Toggle floating on focused window",
),
Key(
[mod],
"h",
lazy.window.toggle_minimize(),
desc="Toggle minimization on focused window",
),
Key(
[mod, "shift"],
"h",
lazy.group.unminimize_all(),
desc="Unminimize all windows on current group",
),
# Adjust paddings/margins
Key([mod, "mod1"], "equal", reset_pad, desc="Reset padding"),
Key([mod], "minus", dec_pad, desc="Decrease padding"),
Key([mod], "equal", inc_pad, desc="Increase padding"),
Key([mod, "shift"], "minus", dec_margins, desc="Decrease layout margins"),
Key([mod, "shift"], "equal", inc_margins, desc="Increase layout margins"),
# Plasma controls
# Key(
# [mod],
# "o",
# lazy.layout.mode_horizontal(),
# desc="Horizontal Mode in Plasma Layout",
# ),
# Key(
# [mod, "shift"],
# "o",
# lazy.layout.mode_horizontal_split(),
# desc="Horizontal Split mode in Plasma Layout",
# ),
# Key(
# [mod],
# "u",
# lazy.layout.mode_vertical(),
# desc="Vertical Mode in Plasma Layout",
# ),
# Key(
# [mod, "shift"],
# "u",
# lazy.layout.mode_vertical_split(),
# desc="Vertical Split Mode in Plasma Layout",
# ),
# Split direction in Bsp/ Split stack in columns
Key(
[mod],
"s",
lazy.layout.toggle_split(),
desc="Toggle between split and unsplit sides of stack",
),
# Floating controls
Key(
[mod],
"bracketleft",
lazy.group.prev_window(),
lazy.window.bring_to_front(),
desc="Cycle previous floating window",
),
Key(
[mod],
"bracketright",
lazy.group.next_window(),
lazy.window.bring_to_front(),
desc="Cycle next floating windows",
),
# TreeTab controls
# Key(
# [mod],
# "v",
# lazy.layout.expand_branch(),
# desc="Expand a branch in the treetab panel",
# ),
# Key(
# [mod, "shift"],
# "v",
# lazy.layout.collapse_branch(),
# desc="Collapse a branch in the treetab panel",
# ),
### Misc. Commands
Key(
[mod],
"b",
lazy.spawn("./.config/qtile/toggle_eww.sh"),
desc="Toggle bottom eww bar visibility",
),
Key(
[mod, "shift"],
"b",
lazy.spawn("toggle_qbar.sh"),
desc="Toggle visibility of qtile bar",
),
Key(
[mod],
"backslash",
lazy.spawn("nautilus"),
desc="Launch nautilus",
),
Key([mod, "shift"], "m", lazy.spawn("splatmoji copy"), desc="*moji selector"),
Key(
[mod],
"w",
lazy.spawn(
"rofi -theme ~/.config/rofi/configTall.rasi -show window -window-format '{c} {t}' -window-thumbnail"
),
desc="Rofi window select",
),
Key(
[mod, "shift"],
"w",
lazy.spawn(
"rofi -theme ~/.config/rofi/configTall.rasi -show windowcd -window-format '{c} {t}' -window-thumbnail"
),
desc="Rofi window select for current desktop",
),
Key(
[mod, "control"],
"w",
lazy.spawn("nc_flash_window"),
desc="Flash currently focused window",
),
Key(
[mod],
"space",
lazy.spawn("rofi_notes.sh"),
desc="Rofi quick notes",
),
Key(
[],
"Print",
lazy.spawn("prtscr"),
desc="Print Screen",
),
Key(
[mod],
"Print",
lazy.spawn("prtregion -d"),
desc="Print region of screen",
),
Key(
[mod, "shift"],
"Print",
lazy.spawn("prtregion -c"),
desc="Print region of screen to clipboard",
),
Key(
[],
"XF86AudioRaiseVolume",
lazy.spawn("./.config/qtile/eww_vol.sh up"),
desc="Increase volume",
),
Key(
[],
"XF86AudioLowerVolume",
lazy.spawn("./.config/qtile/eww_vol.sh down"),
desc="Decrease volume",
),
Key(
[],
"XF86AudioMute",
lazy.spawn("./.config/qtile/eww_vol.sh mute"),
desc="Toggle mute",
),
Key(
[mod],
"XF86AudioRaiseVolume",
lazy.spawn("vol pulsemic up"),
desc="Increase mic volume",
),
Key(
[mod],
"XF86AudioLowerVolume",
lazy.spawn("vol pulsemic down"),
desc="Decrease mic volume",
),
Key(
[mod],
"XF86AudioMute",
lazy.spawn("vol pulsemic mute"),
desc="Toggle mic mute",
),
Key(
[mod],
"F7",
lazy.spawn("playerctl previous"),
desc="Play last audio",
),
Key([mod], "F8", lazy.spawn("playerctl next"), desc="Play next audio"),
Key(
[mod], "F5", lazy.spawn("playerctl play-pause"), desc="Toggle play/pause audio"
),
Key([mod], "F6", lazy.spawn("playerctl stop"), desc="Stop audio"),
Key(
[mod],
"z",
lazy.spawn(
"rofi -show file-browser-extended -file-browser-show-hidden -theme ~/.config/rofi/configTall.rasi -file-browser-cmd 'xdg-open'"
),
desc="Rofi find files",
),
Key(
[mod, "shift"],
"z",
lazy.spawn("rofi-search.sh"),
desc="Rofi google search",
),
Key(
[mod, "control"],
"r",
lazy.spawn("mp4"),
desc="Record selected part of screen in mp4",
),
Key(
[mod, "control", "shift"],
"r",
lazy.spawn("gif"),
desc="Record selected part of screen as gif",
),
Key(
[mod, "shift"],
"p",
lazy.spawn("togglepicom"),
desc="Toggle picom",
),
Key([mod], "x", lazy.spawn("greenclip.sh"), desc="Greenclip"),
Key([mod, "shift"], "c", lazy.spawn("colorpick.sh"), desc="Color picker"),
Key(
[mod, "control"],
"c",
lazy.spawn("toggledunst"),
desc="Toggle dunst",
),
Key(
[mod, "mod1"],
"c",
lazy.spawn(
"sh -c 'xdotool mousemove --window \"$(xdotool getwindowfocus)\" --polar 0 0'"
),
desc="Teleport cursor to center of focused window",
),
Key(
[mod],
"grave",
lazy.spawn("rofi_notif_center.sh"),
desc="Open notification center",
),
Key(
[],
"XF86Calculator",
lazy.spawn("io.elementary.calculator"),
desc="Launch calculator",
),
]
keys.extend(
[
Key(
[mod],
"a",
lazy.spawn(
"sh -c 'echo \""
+ show_keys()
+ '" | rofi -dmenu -theme ~/.config/rofi/configTall.rasi -i -p "?"\''
),
desc="Print keyboard bindings",
),
]
)
workspaces = [
{"name": "", "key": "1", "matches": [Match(wm_class="firefox")], "lay": "bsp"},
{
"name": "",
"key": "2",
"matches": [
Match(wm_class="geary"),
Match(wm_class="ptask"),
Match(wm_class="io.elementary.calendar"),
],
"lay": "bsp",
},
{"name": "", "key": "3", "matches": [], "lay": "bsp"},
{"name": "", "key": "4", "matches": [Match(wm_class="emacs")], "lay": "bsp"},
{
"name": "",
"key": "5",
"matches": [
Match(wm_class="joplin"),
Match(wm_class="libreoffice"),
Match(wm_class="evince"),
],
"lay": "columns",
},
{
"name": "",
"key": "6",
"matches": [
Match(wm_class="slack"),
Match(wm_class="discord"),
Match(wm_class="srain"),
],
"lay": "bsp",
},
{
"name": "",
"key": "7",
"matches": [Match(wm_class="lollypop")],
"lay": "bsp",
},
{"name": "", "key": "8", "matches": [Match(wm_class="Steam")], "lay": "bsp"},
{
"name": "",
"key": "9",
"matches": [Match(wm_class="org.gnome.Nautilus")],
"lay": "bsp",
},
{
"name": "",
"key": "0",
"matches": [
Match(wm_class="lxappearance"),
Match(wm_class="pavucontrol"),
],
"lay": "floating",
},
]
groups = [
ScratchPad(
"scratchpad",
[
# define a drop down terminal.
DropDown(
"term",
"alacritty --class dropdown -e tmux new -As Dropdown",
height=0.6,
on_focus_lost_hide=False,
opacity=1,
warp_pointer=False,
),
],
),
]
for workspace in workspaces:
matches = workspace["matches"] if "matches" in workspace else None
groups.append(Group(workspace["name"], matches=matches, layout=workspace["lay"]))
keys.append(
Key(
[mod],
workspace["key"],
lazy.group[workspace["name"]].toscreen(toggle=True),
desc="Focus this desktop",
)
)
keys.append(
Key(
[mod, "shift"],
workspace["key"],
lazy.window.togroup(workspace["name"]),
desc="Move focused window to another group",
)
)
# Define colors
colors = [
["#2e3440", "#2e3440"], # 0 background
["#d8dee9", "#d8dee9"], # 1 foreground
["#3b4252", "#3b4252"], # 2 background lighter
["#bf616a", "#bf616a"], # 3 red
["#a3be8c", "#a3be8c"], # 4 green
["#ebcb8b", "#ebcb8b"], # 5 yellow
["#81a1c1", "#81a1c1"], # 6 blue
["#b48ead", "#b48ead"], # 7 magenta
["#88c0d0", "#88c0d0"], # 8 cyan
["#e5e9f0", "#e5e9f0"], # 9 white
["#4c566a", "#4c566a"], # 10 grey
["#d08770", "#d08770"], # 11 orange
["#8fbcbb", "#8fbcbb"], # 12 super cyan
["#5e81ac", "#5e81ac"], # 13 super blue
["#242831", "#242831"], # 14 super dark background
]
layout_theme = {
"border_width": 3,
"margin": 9,
"border_focus": "3b4252",
"border_normal": "3b4252",
"font": "FiraCode Nerd Font",
"grow_amount": 2,
}
layouts = [
# layout.MonadWide(**layout_theme),
layout.Bsp(**layout_theme, fair=False, border_on_single=True),
layout.Columns(
**layout_theme,
border_on_single=True,
num_columns=2,
border_focus_stack="#3b4252",
border_normal_stack="#3b4252",
split=False,
wrap_focus_columns=True,
wrap_focus_rows=True,
wrap_focus_stacks=True,
),
# Plasma(**layout_theme, border_normal_fixed='#3b4252', border_focus_fixed='#3b4252', border_width_single=3),
# layout.RatioTile(**layout_theme),
# layout.VerticalTile(**layout_theme),
# layout.Matrix(**layout_theme, columns=3),
# layout.Zoomy(**layout_theme),
# layout.Slice(**layout_theme, width=1920, fallback=layout.TreeTab(), match=Match(wm_class="joplin"), side="right"),
# layout.MonadTall(**layout_theme),
# layout.Max(**layout_theme),
# layout.Tile(shift_windows=True, **layout_theme),
# layout.Stack(num_stacks=2, **layout_theme),
layout.Floating(**layout_theme),
]
# Setup bar
widget_defaults = dict(
font="FiraCode Nerd Font",
fontsize=18,
padding=3,
background=colors[0],
decorations=[
BorderDecoration(
colour=colors[0],
border_width=[11, 0, 10, 0],
)
],
)
extension_defaults = widget_defaults.copy()
group_box_settings = {
"padding": 5,
"borderwidth": 4,
"active": colors[9],
"inactive": colors[10],
"disable_drag": True,
"rounded": True,
"highlight_color": colors[2],
"block_highlight_text_color": colors[6],
"highlight_method": "block",
"this_current_screen_border": colors[14],
"this_screen_border": colors[7],
"other_current_screen_border": colors[14],
"other_screen_border": colors[14],
"foreground": colors[1],
"background": colors[14],
"urgent_border": colors[3],
}
# Define functions for bar
def dunst():
return subprocess.check_output(["./.config/qtile/dunst.sh"]).decode("utf-8").strip()
def toggle_dunst():
qtile.cmd_spawn("./.config/qtile/dunst.sh --toggle")
def toggle_notif_center():
qtile.cmd_spawn("./.config/qtile/dunst.sh --notif-center")
# Mouse_callback functions
def open_launcher():
qtile.cmd_spawn("rofi -show drun")
def kill_window():
qtile.cmd_spawn("xdotool getwindowfocus windowkill")
def open_pavu():
qtile.cmd_spawn("pavucontrol")
def open_powermenu():
qtile.cmd_spawn("power")
screens = [
Screen(
wallpaper="~/Pictures/nordspace2.png",
wallpaper_mode="fill",
top=bar.Bar(
[
widget.TextBox(
text="",
foreground=colors[13],
background=colors[0],
font="Font Awesome 6 Free Solid",
fontsize=28,
padding=20,
mouse_callbacks={"Button1": open_launcher},
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.GroupBox(
font="Font Awesome 6 Brands",
visible_groups=[""],
**group_box_settings,
),
widget.GroupBox(
font="Font Awesome 6 Free Solid",
visible_groups=["", "", "", "", "", "", "", "", ""],
**group_box_settings,
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.Sep(
linewidth=0,
foreground=colors[2],
background=colors[0],
padding=10,
size_percent=40,
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.CurrentLayoutIcon(
custom_icon_paths=[os.path.expanduser("~/.config/qtile/icons")],
foreground=colors[2],
background=colors[14],
padding=-10,
scale=0.40,
),
widget.WindowCount(
background=colors[14],
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.Sep(
linewidth=0,
foreground=colors[2],
padding=10,
size_percent=50,
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.GenPollText(
func=dunst,
update_interval=1,
foreground=colors[11],
background=colors[14],
padding=8,
mouse_callbacks={
"Button1": toggle_dunst,
"Button3": toggle_notif_center,
},
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.Spacer(),
widget.TextBox(
text=" ",
foreground=colors[12],
background=colors[0],
# fontsize=38,
font="Font Awesome 6 Free Solid",
),
widget.WindowName(
background=colors[0],
foreground=colors[12],
width=bar.CALCULATED,
empty_group_string="Desktop",
max_chars=130,
mouse_callbacks={"Button2": kill_window},
),
widget.Spacer(),
widget.Systray(
icon_size=26,
background=colors[0],
padding=7,
),
widget.Sep(
linewidth=0,
foreground=colors[2],
padding=10,
size_percent=50,
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.TextBox(
text=" ",
foreground=colors[8],
background=colors[14],
font="Font Awesome 6 Free Solid",
# fontsize=38,
),
widget.PulseVolume(
foreground=colors[8],
background=colors[14],
limit_max_volume="True",
mouse_callbacks={"Button3": open_pavu},
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.Sep(
linewidth=0,
foreground=colors[2],
padding=10,
size_percent=50,
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.TextBox(
text=" ",
font="Font Awesome 6 Free Solid",
foreground=colors[7], # fontsize=38
background=colors[14],
),
widget.Net(
interface="enp4s0",
format="{down} ↓↑ {up}",
foreground=colors[7],
background=colors[14],
prefix="k",
padding=5,
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.Sep(
linewidth=0,
foreground=colors[2],
padding=10,
size_percent=50,
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.TextBox(
text=" ",
font="Font Awesome 6 Free Solid",
foreground=colors[5], # fontsize=38
background=colors[14],
),
widget.Clock(
format="%a, %b %d",
background=colors[14],
foreground=colors[5],
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.Sep(
linewidth=0,
foreground=colors[2],
padding=10,
size_percent=50,
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.TextBox(
text=" ",
font="Font Awesome 6 Free Solid",
foreground=colors[4], # fontsize=38
background=colors[14],
),
widget.Clock(
format="%I:%M %p",
foreground=colors[4],
background=colors[14],
),
widget.TextBox(
text="",
foreground=colors[14],
background=colors[0],
fontsize=28,
padding=0,
),
widget.TextBox(
text="⏻",
foreground=colors[13],
font="Font Awesome 6 Free Solid",
fontsize=34,
padding=20,
mouse_callbacks={"Button1": open_powermenu},
),
],
56,
margin=[0, 0, 21, 0],
border_width=[0, 0, 3, 0],
border_color="#3b4252",
),
bottom=bar.Gap(18),
left=bar.Gap(18),
right=bar.Gap(18),
),
]
# Drag floating layouts.
mouse = [
Drag(
[mod],
"Button1",
lazy.window.set_position_floating(),
start=lazy.window.get_position(),
),
Drag(
[mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()
),
Click([mod], "Button2", lazy.window.bring_to_front()),
]
dgroups_key_binder = None
dgroups_app_rules = [] # type: List
follow_mouse_focus = True
bring_front_click = "floating_only"
cursor_warp = False
floating_layout = layout.Floating(
**layout_theme,
float_rules=[
# Run the utility of `xprop` to see the wm class and name of an X client.
*layout.Floating.default_float_rules,
Match(title="pinentry"), # GPG key password entry
Match(wm_class="ssh-askpass"), # ssh-askpass
Match(wm_class="pomotroid"),
Match(wm_class="cmatrixterm"),
Match(title="Farge"),
Match(wm_class="org.gnome.Nautilus"),
Match(wm_class="feh"),
Match(wm_class="eog"),
Match(wm_class="io.elementary.calculator"),
Match(wm_class="blueberry.py"),
],
)
auto_fullscreen = True
focus_on_window_activation = "focus"
# Startup scripts
@hook.subscribe.startup_once
def start_once():
home = os.path.expanduser("~")
subprocess.call([home + "/.config/qtile/autostart.sh"])
# Window swallowing ;)
@hook.subscribe.client_new
def _swallow(window):
pid = window.window.get_net_wm_pid()
ppid = psutil.Process(pid).ppid()
cpids = {
c.window.get_net_wm_pid(): wid for wid, c in window.qtile.windows_map.items()
}
for i in range(5):
if not ppid:
return
if ppid in cpids:
parent = window.qtile.windows_map.get(cpids[ppid])
parent.minimized = True
window.parent = parent
return
ppid = psutil.Process(ppid).ppid()
@hook.subscribe.client_killed
def _unswallow(window):
if hasattr(window, "parent"):
window.parent.minimized = False
# Go to group when app opens on matched group
@hook.subscribe.client_new
def modify_window(client):
# if (client.window.get_wm_transient_for() or client.window.get_wm_type() in floating_types):
# client.floating = True
for group in groups: # follow on auto-move
match = next((m for m in group.matches if m.compare(client)), None)
if match:
targetgroup = client.qtile.groups_map[
group.name
] # there can be multiple instances of a group
targetgroup.cmd_toscreen(toggle=False)
break
# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this
# string besides java UI toolkits; you can see several discussions on the
# mailing lists, GitHub issues, and other WM documentation that suggest setting
# this string if your java app doesn't work correctly. We may as well just lie
# and say that we're a working one by default.
#
# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in
# java that happens to be on java's whitelist.
wmname = "qtile"
================================================
FILE: .config/qtile/dunst.sh
================================================
#!/usr/bin/env bash
status() {
state=$(dunstctl is-paused)
if [[ "$state" == "false" ]]; then
echo ""
else
echo ""
fi
}
case "$1" in
--toggle|-t)
dunstctl set-paused toggle
;;
--notif-center|-nc)
rofi_notif_center.sh
;;
*)
status
;;
esac
================================================
FILE: .config/qtile/eww_vol.sh
================================================
#!/usr/bin/env bash
set -euo pipefail
mute () {
muted=$(pulsemixer --get-mute)
if [[ "$muted" == "0" ]]; then
echo "" > /tmp/vol-icon
else
echo "" > /tmp/vol-icon
fi
}
if [ -p /tmp/vol ] && [ -p /tmp/vol-icon ]; then
true
else
mkfifo /tmp/vol && echo "$(pulsemixer --get-volume | awk '{print $1}')" > /tmp/vol
mkfifo /tmp/vol-icon && mute
fi
script_name="eww_vol.sh"
for pid in $(pgrep -f $script_name); do
if [ $pid != $$ ]; then
kill -9 $pid
fi
done
start=$SECONDS
value=5
eww_wid="$(xdotool search --name 'Eww - vol' || true)"
if [ ! -n "$eww_wid" ]; then
eww open vol
eww_wid="$(xdotool search --name 'Eww - vol' || true)"
fi
case $1 in
up)
currentVolume=$(pulsemixer --get-volume | awk '{print $1}')
if [[ "$currentVolume" -ge "100" ]]; then
pulsemixer --max-volume 100
else
pulsemixer --change-volume +"$value"
fi
;;
down)
pulsemixer --change-volume -"$value"
;;
mute)
muted=$(pulsemixer --get-mute)
if [[ "$muted" == "0" ]]; then
pulsemixer --toggle-mute
echo "" > /tmp/vol-icon
else
pulsemixer --toggle-mute
echo "" > /tmp/vol-icon
fi
;;
esac
echo $(pulsemixer --get-volume | awk '{print $1}') > /tmp/vol
while [ -n "$eww_wid" ]; do
duration=$(( SECONDS - start ))
if [[ $duration -gt 1 ]]; then
eww close vol
eww_wid="$(xdotool search --name 'Eww - vol' || true)"
fi
sleep 0.2
done
================================================
FILE: .config/qtile/eww_vol_icon.sh
================================================
#!/usr/bin/env bash
set -euo pipefail
muted=$(pulsemixer --get-mute)
if [[ "$muted" == "0" ]]; then
echo "" > /tmp/vol-icon
else
echo "" > /tmp/vol-icon
fi
================================================
FILE: .config/qtile/focus_mode.sh
================================================
#!/usr/bin/env bash
#set -euo pipefail
if pgrep conky; then
pkill conky
eww open border &
eww open border1 &
eww open border2 &
~/.fehbg &
blurwal --backend feh -m 1 -b 30 &
qtile cmd-obj -o cmd -f hide_show_bar --args top
else
pkill blurwal
eww close-all
feh --no-fehbg --bg-tile '/home/barbarossa/Pictures/colors/4C566A.png'
~/.config/bspwm/cky
qtile cmd-obj -o cmd -f hide_show_bar --args top
fi
================================================
FILE: .config/qtile/toggle_eww.sh
================================================
#!/usr/bin/env bash
set -euo pipefail
state=$(eww windows | grep main_bottom)
if [ "$state" == "*main_bottom" ]; then
eww close main_bottom
else
eww open main_bottom
fi
================================================
FILE: .config/rofi/config.rasi
================================================
configuration {
modi: "drun";
font: "monospace 10";
show-icons: true;
icon-theme: "Nord-Icon";
display-drun: "";
drun-display-format: "{name}";
sidebar-mode: false;
}
@theme "/dev/null"
* {
bg: #2e3440;
bg-alt: #232831;
fg: #eceff4;
accent: #8fbcbb;
accent-alt: #3b4252;
button: #4c566a;
background-color: @bg;
text-color: @fg;
}
window {
border: 3px;
border-color: @bg-alt;
border-radius: 7px;
width: 50%;
padding: 32px;
}
prompt {
background-color: @bg-alt;
enabled: true;
padding: 0.5% 32px 0% -0.5%;
font: "monospace 10";
}
entry {
placeholder: "Search";
background-color: @bg-alt;
placeholder-color: @fg;
expand: true;
padding: 0.15% 0% 0% 0%;
}
inputbar {
children: [ prompt, entry ];
background-color: @bg-alt;
border: 0 5px solid 0 5px solid;
border-color: @accent;
expand: false;
border-radius: 6px;
margin: 0%;
padding: 10px;
}
listview {
columns: 5;
lines: 3;
cycle: false;
dynamic: true;
layout: vertical;
}
mainbox {
children: [ inputbar, listview ];
spacing: 2%;
padding: 2% 1% 2% 1%;
}
element {
background-color: @bg-alt;
border: 5px solid 0 5px solid 0;
border-color: @accent-alt;
orientation: vertical;
padding: 2% 0% 2% 0%;
margin: 12px;
}
element-icon {
size: 48px;
horizontal-align: 0.5;
}
element-text {
expand: true;
horizontal-align: 0.5;
vertical-align: 0.5;
margin: 0.5% 0.5% -0.5% 0.5%;
}
element-text, element-icon {
background-color: inherit;
text-color: inherit;
}
element selected {
background-color: @button;
border: 5px solid 0 5px solid 0;
border-color: @accent;
border-radius: 6px;
}
================================================
FILE: .config/rofi/configNotif.rasi
================================================
configuration {
display-drun: " Apps";
display-window: "缾 Windows";
show-icons:true;
font: "monospace 14";
}
* {
background-color: #2e3440;
bg: #232831;
text-color: #eceff4;
selbg: #81a1c1;
actbg: #4c566a;
urgbg: #bf616a;
winbg: #66cccc;
selected-normal-foreground: @text-color;
normal-foreground: @text-color;
selected-normal-background: @actbg;
normal-background: @background-color;
selected-urgent-foreground: @urgbg;
urgent-foreground: @text-color;
selected-urgent-background: @actbg;
urgent-background: @background-color;
urgent-foreground: @urgbg;
selected-active-foreground: @selbg;
active-foreground: @selbg;
selected-active-background: @actbg;
active-background: @background-color;
line-margin: 2;
line-padding: 2;
separator-style: "none";
hide-scrollbar: "true";
margin: 0;
padding: 10;
}
window {
location: northeast;
anchor: northeast;
//height: 85%;
y-offset: 68px;
x-offset: 12px;
width: 20%;
orientation: horizontal;
children: [mainbox];
border-radius: 12px;
border: 3px solid;
border-color: #3b4252;
}
mainbox {
spacing: 0.8em;
orientation: vertical;
children: [ inputbar, listview ];
}
button { padding: 5px 2px; }
button selected {
background-color: @active-background;
text-color: @background-color;
}
inputbar {
padding: 5px;
spacing: 5px;
}
listview {
spacing: 0.5em;
dynamic: true;
cycle: false;
}
element {
padding: 10px;
}
prompt {
padding: 35px 20px 20px 25px;
font: "monospace 18";
}
entry {
expand: true;
text-color: @normal-foreground;
vertical-align: 0;
padding: 5px 0px 0px 20px;
enabled: false;
}
element normal.normal {
background-color: @bg;
border-radius: 8px;
text-color: @normal-foreground;
}
element normal.urgent {
background-color: @bg;
border-radius: 8px;
text-color: @urgent-foreground;
}
element normal.active {
background-color: @bg;
border-radius: 8px;
text-color: @active-foreground;
}
element selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element alternate.normal {
background-color: @bg;
border-radius: 8px;
text-color: @normal-foreground;
}
element alternate.urgent {
background-color: @bg;
border-radius: 8px;
text-color: @urgent-foreground;
}
element alternate.active {
background-color: @bg;
border-radius: 8px;
text-color: @active-foreground;
}
element-icon {
size: 7ch;
}
element.selected {
border-radius: 8px;
border: 0 0 0 5px solid;
border-color: @winbg;
}
element-text, element-icon {
background-color: inherit;
text-color: inherit;
}
================================================
FILE: .config/rofi/configPower.rasi
================================================
configuration {
display-drun: " Apps";
display-window: "缾 Windows";
show-icons:true;
font: "icons 22";
}
@theme "/dev/null"
* {
background-color: #2e3440;
bg: #232831;
text-color: #eceff4;
selbg: #81a1c1;
actbg: #4c566a;
urgbg: #bf616a;
winbg: #66cccc;
selected-normal-foreground: @text-color;
normal-foreground: @text-color;
selected-normal-background: @actbg;
normal-background: @background-color;
selected-urgent-foreground: @urgbg;
urgent-foreground: @text-color;
selected-urgent-background: @actbg;
urgent-background: @background-color;
urgent-foreground: @urgbg;
selected-active-foreground: @selbg;
active-foreground: @selbg;
selected-active-background: @actbg;
active-background: @background-color;
line-margin: 2;
line-padding: 2;
separator-style: "none";
hide-scrollbar: "true";
margin: 0;
padding: 10;
}
window {
location: northeast;
anchor: northeast;
height: 32%;
y-offset: 68px;
x-offset: 12px;
width: 20%;
orientation: horizontal;
children: [mainbox];
border-radius: 12px;
border: 3px solid;
border-color: #3b4252;
}
mainbox {
spacing: 0.8em;
orientation: vertical;
children: [ inputbar, listview ];
}
button { padding: 5px 2px; }
button selected {
background-color: @active-background;
text-color: @background-color;
}
inputbar {
padding: 5px;
spacing: 5px;
children: [prompt];
}
listview {
spacing: 0.5em;
dynamic: true;
cycle: false;
}
element {
padding: 10px;
expand: false;
}
prompt {
padding: 20px 20px 20px 20px;
font: "monospace 24";
}
entry {
expand: false;
text-color: @normal-foreground;
vertical-align: 0;
padding: 5px 0px 0px 20px;
enabled: false;
}
element normal.normal {
background-color: @bg;
border-radius: 8px;
text-color: @normal-foreground;
}
element normal.urgent {
background-color: @bg;
border-radius: 8px;
text-color: @urgent-foreground;
}
element normal.active {
background-color: @bg;
border-radius: 8px;
text-color: @active-foreground;
}
element selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element alternate.normal {
background-color: @bg;
border-radius: 8px;
text-color: @normal-foreground;
}
element alternate.urgent {
background-color: @bg;
border-radius: 8px;
text-color: @urgent-foreground;
}
element alternate.active {
background-color: @bg;
border-radius: 8px;
text-color: @active-foreground;
}
element.selected {
border-radius: 8px;
border: 0 0 0 5px solid;
border-color: @winbg;
}
element-text, element-icon {
background-color: inherit;
text-color: inherit;
}
================================================
FILE: .config/rofi/configTall.rasi
================================================
configuration {
display-drun: " Apps";
display-window: "缾";
display-windowcd: "缾";
display-file-browser-extended: "";
show-icons:true;
font: "monospace 16";
}
* {
background-color: #2e3440;
bg: #232831;
text-color: #eceff4;
selbg: #8fbcbb;
actbg: #4c566a;
urgbg: #bf616a;
winbg: #8fbcbb;
selected-normal-foreground: @winbg;
normal-foreground: @text-color;
selected-normal-background: @actbg;
normal-background: @background-color;
selected-urgent-foreground: @background-color;
urgent-foreground: @text-color;
selected-urgent-background: @urgbg;
urgent-background: @background-color;
selected-active-foreground: @winbg;
active-foreground: @text-color;
selected-active-background: @actbg;
active-background: @selbg;
line-margin: 2;
line-padding: 2;
separator-style: "none";
hide-scrollbar: "true";
margin: 0;
padding: 10;
}
window {
location: west;
anchor: west;
height: 85%;
//y-offset: 3%;
x-offset: -12px;
width: 25%;
orientation: horizontal;
children: [mainbox];
border-radius: 12px;
border: 3px solid;
border-color: #3b4252;
}
mainbox {
spacing: 0.8em;
orientation: vertical;
children: [ inputbar, listview ];
}
button { padding: 5px 2px; }
button selected {
background-color: @active-background;
text-color: @background-color;
}
inputbar {
padding: 5px;
spacing: 5px;
}
listview {
spacing: 0.5em;
dynamic: false;
cycle: true;
}
element {
padding: 10px;
}
prompt {
padding: 20px 0px 0px 25px;
}
entry {
expand: true;
text-color: @normal-foreground;
vertical-align: 0;
padding: 23px 0px 0px 25px;
font: "monospace 14";
}
element normal.normal {
background-color: @bg;
border-radius: 8px;
text-color: @normal-foreground;
}
element normal.urgent {
background-color: @bg;
border-radius: 8px;
text-color: @urgent-foreground;
}
element normal.active {
background-color: @bg;
border-radius: 8px;
text-color: @active-foreground;
}
element selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
border: 0 5px solid 0 0;
border-color: @active-background;
}
element selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element alternate.normal {
background-color: @bg;
border-radius: 8px;
text-color: @normal-foreground;
}
element alternate.urgent {
background-color: @bg;
border-radius: 8px;
text-color: @urgent-foreground;
}
element alternate.active {
background-color: @bg;
border-radius: 8px;
text-color: @active-foreground;
}
element-icon {
size: 2.65ch;
}
element.selected {
border-radius: 8px;
}
element-text, element-icon {
background-color: inherit;
text-color: inherit;
}
================================================
FILE: .config/rofi/nordic.rasi
================================================
* {
background: #2e3440ff;
background-alt: #3b4252ff;
foreground: #e5e9f0cc;
border: #8fbcbbff;
border-alt: #81a1c1ff;
selected: #3b4252ff;
urgent: #bf616aFF;
}
================================================
FILE: .config/splatmoji/splatmoji.config
================================================
# These are the 3 commands you will need for everything to work
# you can modify these commands as shown below in the respective subsections
xsel_command=xclip -selection clipboard
xdotool_command=xdotool copy
rofi_command=rofi -theme ~/.config/rofi/configTall.rasi -dmenu -p '☺' -1
================================================
FILE: .config/systemd/user/barriers.service
================================================
[Unit]
Description=Barrier Server
[Service]
ExecStart=/usr/bin/barriers -f --disable-client-cert-checking
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=default.target
================================================
FILE: .config/systemd/user/edges.service
================================================
[Unit]
Description=Edges
[Service]
ExecStart=/usr/bin/edges --bottom eww_mouse.sh
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=default.target
================================================
FILE: .config/systemd/user/eww.service
================================================
[Unit]
Description=Eww Daemon
[Service]
ExecStart=/usr/bin/eww --no-daemonize daemon
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=default.target
================================================
FILE: .config/systemd/user/flashfocus.service
================================================
[Unit]
Description=Flashfocus
[Service]
ExecStart=/usr/bin/flashfocus
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=default.target
================================================
FILE: .config/systemd/user/greenclip.service
================================================
[Unit]
Description=Greenclip Daemon
[Service]
ExecStart=/usr/bin/greenclip daemon
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=default.target
================================================
FILE: .config/systemd/user/picom.service
================================================
[Unit]
Description=Picom
[Service]
ExecStart=/usr/bin/picom --experimental-backends
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=default.target
================================================
FILE: .config/systemd/user/redshift.service
================================================
[Unit]
Description=Redshift
[Service]
ExecStart=/usr/bin/redshift-gtk -l 39.2904:-76.6122
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=default.target
================================================
FILE: .config/systemd/user/xbanish.service
================================================
[Unit]
Description=xbanish
[Service]
ExecStart=/usr/bin/xbanish
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=default.target
================================================
FILE: .config/systemd/user/xidlehook.service
================================================
[Unit]
Description=Xidlehook
[Service]
ExecStart=/usr/bin/xidlehook --not-when-fullscreen --not-when-audio --timer 420 'screensaver' '' --timer 180 'light-locker-command -l' ''
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=default.target
================================================
FILE: .config/tmux/tmux.conf
================================================
# Set terminfo
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",alacritty:Tc"
# set terminal title
set -g set-titles on
# boost history
set -g history-limit 10000
# allow terminal scrolling
set-option -ga terminal-overrides 'xterm*:smcup@:rmcup@'
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# split panes using | and -
bind _ split-window -h
bind - split-window -v
unbind '"'
unbind %
# reload config file
bind r source-file ~/.config/tmux/tmux.conf
# switch panes using Ctrl-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# Enable mouse mode (tmux 2.1 and above)
set -g mouse on
# Start windows and panes at 1, not 0
set -g base-index 1
setw -g pane-base-index 1
# Renumber windows when they close
set-option -g renumber-windows on
#Statusbar stuff
set -g status 2
set -Fg status-format[1] '#{status-format[0]}'
set -g status-format[0] '#[fill=#2e3440]'
set -g status-justify "centre"
set -g status-left-style "none"
set -g message-command-style "fg=#88c0d0,bg=#2e3440"
set -g status-right-style "none"
set -g pane-active-border-style "fg=#88c0d0"
set -g status-style "none,bg=#2e3440"
set -g message-style "fg=#88c0d0,bg=#2e3440"
set -g pane-border-style "fg=#2e3440"
set -g status-right-length "100"
set -g status-left-length "100"
setw -g window-status-activity-style "fg=#88c0d0,bg=#2e3440"
setw -g window-status-separator ""
setw -g window-status-style "BOLD,fg=#88c0d0,bg=#2e3440"
set -g status-left ""
set -g status-right ""
setw -g window-status-format "#[fg=#4c566a,bg=#2e3440] #[fg=#242831,bg=#4c566a]#I #[fg=#e5e9f0,bg=#242831] #W#[fg=#242831,bg=#2e3440] "
setw -g window-status-current-format "#[fg=#81a1c1,bg=#2e3440] #[fg=#242831,bg=#81a1c1,BOLD]#I #[fg=#e5e9f0,bg=#242831,BOLD] #W#[fg=#242831,bg=#2e3440] "
================================================
FILE: .config/user-dirs.dirs
================================================
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
XDG_DESKTOP_DIR="$HOME/"
XDG_TEMPLATES_DIR="$HOME/"
================================================
FILE: .config/user-dirs.locale
================================================
en_US
================================================
FILE: .config/x11/Xresources
================================================
Xcursor.theme: capitaine-cursors
Xcursor.size: 48
Xft.dpi: 161
Xft.antialias: 1
Xft.autohint: 1
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.rgba: rgb
Xft.lcdfilter: lcddefault
#define FONT Fira Code
#define ICON FiraCode Nerd Font Mono
#define EMOJI Noto Color Emoji
#define NERD_FONT Font Awesome 5 Free Solid
!Font Awesome 5 Brands
#define FONT_SIZE 9
#define ICON_SIZE 9
#define EMOJI_SIZE 9
#define NERD_SIZE 9
URxvt.font: xft:FONT:style=Medium:size=FONT_SIZE:antialias=true, xft:ICON:size=ICON_SIZE:antialias=true, xft:NERD_FONT:size=NERD_SIZE:antialias=true, xft:EMOJI:size=EMOJI_SIZE:antialias=true
URxvt.boldFont: xft:FONT:style=Bold:size=FONT_SIZE:antialias=true, xft:ICON:size=ICON_SIZE:antialias=true, xft:NERD_FONT:size=NERD_SIZE:antialias=true, xft:EMOJI:size=EMOJI_SIZE:antialias=true
URxvt.italicFont: xft:FONT:style=Italic:size=FONT_SIZE:antialias=true, xft:ICON:size=ICON_SIZE:antialias=true, xft:NERD_FONT:size=NERD_SIZE:antialias=true, xft:EMOJI:size=EMOJI_SIZE:antialias=true
URxvt.boldItalicFont: xft:FONT:style=Bold Italic:size=FONT_SIZE:antialias=true, xft:ICON:size=ICON_SIZE:antialias=true, xft:NERD_FONT:size=NERD_SIZE:antialias=true, xft:EMOJI:size=EMOJI_SIZE:antialias=true
!Colors
#include "/home/barbarossa/Public/neat-things/colorschemes/nord-xresources/src/nord"
!*.font: xft:FiraCode Nerd Font Mono:style=Medium:size=14:antialias=true
URxvt.depth: 32
URxvt*lineSpace: 0
URxvt*letterSpace: -1
URxvt.iso14755: false
URxvt.iso14755_52: false
URxvt*geometry: 184x44
URxvt.scrollBar: false
URxvt*loginShell: true
URxvt.internalBorder: 88
URxvt.perl-ext: default,matcher,resize-font
URxvt.url-launcher: linkhandler
URxvt.matcher.button: 1
URxvt.keysym.M-r: perl:matcher:last
URxvt.keysym.M-l: perl:matcher:list
URxvt.keysym.M-e: perl:matcher:select
URxvt.saveLine: 10000
URxvt.cursorBlink: true
URxvt.cursorUnderline: true
URxvt*inheritPixmap: false
URxvt*transparent: false
! do not scroll with output
URxvt*scrollTtyOutput: false
! scroll in relation to buffer (with mouse scroll or Shift+Page Up)
URxvt*scrollWithBuffer: true
! scroll back to the bottom on keypress
URxvt*scrollTtyKeypress: true
! Resize font keybindings
URxvt.keysym.C-minus: resize-font:smaller
URxvt.keysym.C-plus: resize-font:bigger
URxvt.keysym.C-equal: resize-font:reset
URxvt.keysym.C-question: resize-font:show
URxvt.resize-font.step: 0.5
! scroll by single line
URxvt.keysym.Shift-Up: command:\033]720;1\007
URxvt.keysym.Shift-Down: command:\033]721;1\007
! Helps with man/less/pagers
URxvt.secondaryScreen: 1
URxvt.secondaryScroll: 0
URxvt.secondaryWheel: 1
! Change keybinding for copying/pasting
URxvt.keysym.Control-Meta-c: builtin-string:
URxvt.keysym.Control-Meta-v: builtin-string:
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
! xterm settings
xterm.vt100.termName: xterm-256color
xterm.vt100.scaleHeight: 1.0
XTerm.vt100.geometry: 80x32
xterm.vt100.internalBorder: 44
xterm.vt100.borderWidth: 0
! Every shell is a login shell by default (for inclusion of all necessary environment variables)
XTerm*loginshell: true
XTerm*savelines: 16384
XTerm*charClass: 33:48,36-47:48,58-59:48,61:48,63-64:48,95:48,126:48
!XTerm.vt100.metaSendsEscape: true
xterm.vt100.utf8: true
XTerm.vt100.locale: true
xterm.vt100.scrollBar: false
xterm.vt100.cursorBlink: true
!xterm.vt100.cursorUnderline: true
xterm.vt100.selectToClipboard: true
xterm.vt100.trimSelection: true
xterm.vt100.renderFont: true
xterm.vt100.wideChars: true
xterm.vt100.visualBell: false
xterm.vt100.forceBoxChars: true
xterm.vt100.font-linedrawing: true
*VT100*translations: #override Shift : exec-formatted("linkhandler '%t'", PRIMARY)
xterm.vt100.translations: #override \n\
Shift Ctrl v:insert-selection(CLIPBOARD) \n\
Shift Ctrl c:select-set(CLIPBOARD)
XTerm*faceSize: 10
xterm.vt100.faceName: monospace
!xterm.vt100.faceNameDoublesize: Symbola:antialias=true
!xterm.vt100.wideFont: FiraCode Nerd Font Mono:size=9:antialias=true
! stop output to terminal from jumping down to bottom of scroll again
XTerm*scrollTtyOutput: false
! xst configs
!st.font: spectrum berry:pixelsize=12:antialias=false:autohint=false;,Cozette:pixelsize=12:antialias=false:autohint=false;,Twemoji:pixelsize=10:antialias=true:autohint=true;,FiraCode Nerd Font Mono:pixelsoze=10:antialias=true:autohint=true
st.font: monospace:pixelsize=20:antialias=true:autohint=true
st.alpha: 1
st.borderpx: 44
st.cursorshape: 3
st.disablebold: 0
st.disableitalics: 0
st.boxdraw: 1
st.boxdraw_bold: 1
st.boxdraw_braille: 1
st.chscale: 1.0
st.cwscale: 1.0
================================================
FILE: .config/x11/xinitrc
================================================
#!/bin/sh
userresources=$HOME/.config/x11/Xresources
usermodmap=$HOME/.config/x11/Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
#Source env vars
source ~/.config/x11/xprofile
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
## X specific settings
xset s 0 0
xset dpms 0 0 0
xset r rate 440 50
numlockx &
lockscreen.sh &
sleep 1
exec qtile start -b x11
================================================
FILE: .config/x11/xprofile
================================================
# Env settings
export XDG_CURRENT_DESKTOP="GNOME"
#New path
export PATH="/home/barbarossa/.local/bin:/home/barbarossa/.node_modules/bin:$PATH"
#default editor
export EDITOR="/usr/bin/emacs"
#export EDITOR="TERM=xterm-24bit /usr/bin/emacsclient -nw -s term"
#export SUDO_EDITOR="/usr/bin/emacs"
#Default browser
export BROWSER=/usr/bin/firefox
# Spotipy variables
export SPOTIPY_CLIENT_ID="$(pass spotipy/client_id)"
export SPOTIPY_CLIENT_SECRET="$(pass spotipy/client_secret)"
export SPOTIPY_REDIRECT_URI="http://localhost:8888/callback"
# Enable Neovide multigrid
export NEOVIDE_MULTIGRID=1
### Non-standard folder/file locations (moving out of the home dir)
export XDG_CONFIG_HOME="${HOME}/.config"
export XDG_DATA_HOME="${HOME}/.local/share"
export XDG_CACHE_HOME="${HOME}/.cache"
export XDG_RUNTIME_DIR="/run/user/$(id -u)"
#export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus"
export XDG_STATE_HOME="${HOME}/.local/state"
# xsession start script
export USERXSESSION="$XDG_CACHE_HOME/x11/xsession"
export USERXSESSIONRC="$XDG_CACHE_HOME/x11/xsessionrc"
export ALTUSERXSESSION="$XDG_CACHE_HOME/x11/Xsession"
export ERRFILE="$XDG_CACHE_HOME/x11/xsession-errors"
# Move bash history file
export HISTFILE="$XDG_STATE_HOME"/bash/history
# Move readline config
export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
# Move apsell configs
export ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/en.pws; repl $XDG_CONFIG_HOME/aspell/en.prepl"
#Move vimrc
export MYVIMRC="${XDG_CONFIG_HOME}/vim/vimrc"
export VIMINIT="source ${MYVIMRC}"
#Move CUDA
export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
# Change zoom dir
export SSB_HOME="${XDG_DATA_HOME}/zoom"
# Change password store
export PASSWORD_STORE_DIR="${XDG_DATA_HOME}/pass"
# Move rust dirs
export CARGO_HOME="${XDG_DATA_HOME}/cargo"
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
# Move pylint dir
export PYLINTHOME="${XDG_CACHE_HOME}/pylint"
# Move python history file
export PYTHONSTARTUP="${HOME}/.local/bin/startup.py"
# Move notmuch
export NOTMUCH_CONFIG="${XDG_CONFIG_HOME}/notmuch/notmuchrc"
# Move gtk2 config
export GTK2_RC_FILES="${XDG_CONFIG_HOME}/gtk-2.0/gtkrc"
# Disable less histfile
export LESSHISTFILE=-
# Move z data
export _Z_DATA="${XDG_DATA_HOME}/z"
# Move weechat home
export WEECHAT_HOME="${XDG_CONFIG_HOME}/weechat"
#Move isync's mbsync config (I think mutt-wizzard is the only one to recognize this)
export MBSYNCRC="${XDG_CONFIG_HOME}/isync/mbsyncrc"
# Move go directory
export GOPATH="${XDG_DATA_HOME}/go"
# Move vit dir
export VIT_DIR="${XDG_CONFIG_HOME}/vit"
# Move taskwarrior data and rc file
export TASKDATA="${XDG_DATA_HOME}/task"
export TASKRC="${XDG_CONFIG_HOME}/task/taskrc"
# Move terminfo database
export TERMINFO="$XDG_DATA_HOME"/terminfo
# Move timewarrior dir
export TIMEWARRIORDB="${XDG_CONFIG_HOME}/timewarrior"
#Move urxvt socket
export RXVT_SOCKET="/tmp/urxvtd"
#Move java home
export _JAVA_OPTIONS=-"Djava.util.prefs.userRoot=${XDG_CONFIG_HOME}/java -Dsun.java2d.opengl=true"
### Deprecated (not needed but here for archival reasons)
# Enable trucolor in lf (needed for proper image previews w/ chafa)
export TCELL_TRUECOLOR=on
systemctl --user import-environment
================================================
FILE: .config/zsh/.p10k.zsh
================================================
# Generated by Powerlevel10k configuration wizard on 2021-04-09 at 17:29 EDT.
# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 00302.
# Wizard options: nerdfont-complete + powerline, small icons, rainbow, unicode,
# round separators, round heads, round tails, 1 line, sparse, few icons, fluent,
# instant_prompt=verbose.
# Type `p10k configure` to generate another config.
#
# Config for Powerlevel10k with powerline prompt style with colorful background.
# Type `p10k configure` to generate your own config based on it.
#
# Tip: Looking for a nice color? Here's a one-liner to print colormap.
#
# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
# Temporarily change options.
'builtin' 'local' '-a' 'p10k_config_opts'
[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
() {
emulate -L zsh -o extended_glob
# Unset all configuration options. This allows you to apply configuration changes without
# restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`.
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
# Zsh >= 5.1 is required.
autoload -Uz is-at-least && is-at-least 5.1 || return
# The list of segments shown on the left. Fill it with the most important segments.
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
os_icon # os identifier
dir # current directory
vcs # git status
prompt_char # prompt symbol
)
# The list of segments shown on the right. Fill it with less important segments.
# Right prompt on the last prompt line (where you are typing your commands) gets
# automatically hidden when the input line reaches it. Right prompt above the
# last prompt line gets hidden if it would overlap with left prompt.
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
status # exit code of the last command
command_execution_time # duration of the last command
background_jobs # presence of background jobs
direnv # direnv status (https://direnv.net/)
asdf # asdf version manager (https://github.com/asdf-vm/asdf)
virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html)
anaconda # conda environment (https://conda.io/)
pyenv # python environment (https://github.com/pyenv/pyenv)
goenv # go environment (https://github.com/syndbg/goenv)
nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
nodeenv # node.js environment (https://github.com/ekalinin/nodeenv)
# node_version # node.js version
# go_version # go version (https://golang.org)
# rust_version # rustc version (https://www.rust-lang.org)
# dotnet_version # .NET version (https://dotnet.microsoft.com)
# php_version # php version (https://www.php.net/)
# laravel_version # laravel php framework version (https://laravel.com/)
# java_version # java version (https://www.java.com/)
# package # name@version from package.json (https://docs.npmjs.com/files/package.json)
rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv)
rvm # ruby version from rvm (https://rvm.io)
fvm # flutter version management (https://github.com/leoafarias/fvm)
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
jenv # java version from jenv (https://github.com/jenv/jenv)
plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
haskell_stack # haskell version from stack (https://haskellstack.org/)
kubecontext # current kubernetes context (https://kubernetes.io/)
terraform # terraform workspace (https://www.terraform.io)
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
gcloud # google cloud cli account and project (https://cloud.google.com/)
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
context # user@hostname
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
nnn # nnn shell (https://github.com/jarun/nnn)
vim_shell # vim shell indicator (:sh)
midnight_commander # midnight commander shell (https://midnight-commander.org/)
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
vi_mode # vi mode (you don't need this if you've enabled prompt_char)
# vpn_ip # virtual private network indicator
# load # CPU load
# disk_usage # disk usage
# ram # free RAM
# swap # used swap
todo # todo items (https://github.com/todotxt/todo.txt-cli)
timewarrior # timewarrior tracking status (https://timewarrior.net/)
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
# time # current time
# ip # ip address and bandwidth usage for a specified network interface
# public_ip # public IP address
# proxy # system-wide http/https/ftp proxy
# battery # internal battery
# wifi # wifi speed
# example # example user-defined segment (see prompt_example function below)
)
# Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
typeset -g POWERLEVEL9K_MODE=nerdfont-complete
# When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
# icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
typeset -g POWERLEVEL9K_ICON_PADDING=none
# When set to true, icons appear before content on both sides of the prompt. When set
# to false, icons go after content. If empty or not set, icons go before content in the left
# prompt and after content in the right prompt.
#
# You can also override it for a specific segment:
#
# POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false
#
# Or for a specific segment in specific state:
#
# POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false
typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=
# Add an empty line before each prompt.
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
# Connect left prompt lines with these symbols. You'll probably want to use the same color
# as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below.
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%242F╭─'
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%242F├─'
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%242F╰─'
# Connect right prompt lines with these symbols.
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%242F─╮'
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%242F─┤'
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%242F─╯'
# Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or
# '─'. The last two make it easier to see the alignment between left and right prompt and to
# separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
# for more compact prompt if using using this option.
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND=
if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
# The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE
# ornaments defined above.
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242
# Start filler from the edge of the screen if there are no left segments on the first line.
typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}'
# End filler on the edge of the screen if there are no right segments on the first line.
typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}'
fi
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE='' # no surrounding whitespace
# Separator between same-color segments on the left.
typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR=$'%F{016}%K{reset_color} %f%k' #'\uE0B5'
# Separator between same-color segments on the right.
typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR=$'%F{016}%K{reset_color} %f%k' #'\uE0B7'
# Separator between different-color segments on the left.
typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='' #'\uE0B4'
# Separator between different-color segments on the right.
typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='' #'\uE0B6'
# The right end of left prompt.
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B4'
# The left end of right prompt.
typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B6'
# The left end of left prompt.
typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B6'
# The right end of right prompt.
typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B4'
# Left prompt terminator for lines without any segments.
typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=
#################################[ os_icon: os identifier ]##################################
# OS identifier color.
typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=6
typeset -g POWERLEVEL9K_OS_ICON_BACKGROUND=16
# Custom icon.
typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='' #ﮂ
################################[ prompt_char: prompt symbol ]################################
# Transparent background.
typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND=16
# Green prompt symbol if the last command succeeded.
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=2
# Red prompt symbol if the last command failed.
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=1
# Default prompt symbol.
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='●'
# Prompt symbol in command vi mode.
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮'
# Prompt symbol in visual vi mode.
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V'
# Prompt symbol in overwrite vi mode.
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶'
typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
# No line terminator if prompt_char is the last segment.
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=''
# No line introducer if prompt_char is the first segment.
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=''
# No surrounding whitespace.
typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE=''
##################################[ dir: current directory ]##################################
# Current directory background color.
typeset -g POWERLEVEL9K_DIR_BACKGROUND=16
# Default current directory foreground color.
typeset -g POWERLEVEL9K_DIR_FOREGROUND=4
# If directory is too long, shorten some of its segments to the shortest possible unique
# prefix. The shortened directory can be tab-completed to the original.
typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique
# Replace removed segment suffixes with this symbol.
typeset -g POWERLEVEL9K_SHORTEN_DELIMITER=
# Color of the shortened directory segments.
typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=4
# Color of the anchor directory segments. Anchor segments are never shortened. The first
# segment is always an anchor.
typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=4
# Display anchor directory segments in bold.
typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true
# Don't shorten directories that contain any of these files. They are anchors.
local anchor_files=(
.bzr
.citc
.git
.hg
.node-version
.python-version
.go-version
.ruby-version
.lua-version
.java-version
.perl-version
.php-version
.tool-version
.shorten_folder_marker
.svn
.terraform
CVS
Cargo.toml
composer.json
go.mod
package.json
stack.yaml
)
typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})"
# If set to "first" ("last"), remove everything before the first (last) subdirectory that contains
# files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is
# /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first)
# or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers
# and other directories don't.
#
# Optionally, "first" and "last" can be followed by ":" where is an integer.
# This moves the truncation point to the right (positive offset) or to the left (negative offset)
# relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0"
# respectively.
typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false
# Don't shorten this many last directory segments. They are anchors.
typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
# Shorten directory if it's longer than this even if there is space for it. The value can
# be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty,
# directory will be shortened only when prompt doesn't fit or when other parameters demand it
# (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below).
# If set to `0`, directory will always be shortened to its minimum length.
typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80
# When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this
# many columns for typing commands.
typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40
# When `dir` segment is on the last prompt line, try to shorten it enough to leave at least
# COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands.
typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50
# If set to true, embed a hyperlink into the directory. Useful for quickly
# opening a directory in the file manager simply by clicking the link.
# Can also be handy when the directory is shortened, as it allows you to see
# the full directory that was used in previous commands.
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
# Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and
# POWERLEVEL9K_DIR_CLASSES below.
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2
# The default icon shown next to non-writable directories when POWERLEVEL9K_DIR_SHOW_WRITABLE is
# set to v2.
# typeset -g POWERLEVEL9K_LOCK_ICON='⭐'
# POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different
# directories. It must be an array with 3 * N elements. Each triplet consists of:
#
# 1. A pattern against which the current directory ($PWD) is matched. Matching is done with
# extended_glob option enabled.
# 2. Directory class for the purpose of styling.
# 3. An empty string.
#
# Triplets are tried in order. The first triplet whose pattern matches $PWD wins.
#
# If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v2 and the current directory is not writable,
# its class gets suffix _NOT_WRITABLE.
#
# For example, given these settings:
#
# typeset -g POWERLEVEL9K_DIR_CLASSES=(
# '~/work(|/*)' WORK ''
# '~(|/*)' HOME ''
# '*' DEFAULT '')
#
# Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with class
# WORK or WORK_NOT_WRITABLE.
#
# Simply assigning classes to directories doesn't have any visible effects. It merely gives you an
# option to define custom colors and icons for different directory classes.
#
# # Styling for WORK.
# typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_DIR_WORK_BACKGROUND=4
# typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=254
# typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=250
# typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=255
#
# # Styling for WORK_NOT_WRITABLE.
# typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_BACKGROUND=4
# typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=254
# typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=250
# typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=255
#
# If a styling parameter isn't explicitly defined for some class, it falls back to the classless
# parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls
# back to POWERLEVEL9K_DIR_FOREGROUND.
#
typeset -g POWERLEVEL9K_DIR_CLASSES=()
# Custom prefix.
# typeset -g POWERLEVEL9K_DIR_PREFIX='in '
#####################################[ vcs: git status ]######################################
# Version control system colors.
typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=16
typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=16
typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=16
typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=16
typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=16
typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=3
typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=3
typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=3
typeset -g POWERLEVEL9K_VCS_CONFLICTED_FOREGROUND=3
typeset -g POWERLEVEL9K_VCS_LOADING_FOREGROUND=3
# Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon.
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
# Untracked files icon. It's really a question mark, your font isn't broken.
# Change the value of this parameter to show a different icon.
typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?'
# Formatter for Git status.
#
# Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
#
# You can edit the function to customize how Git status looks.
#
# VCS_STATUS_* parameters are set by gitstatus plugin. See reference:
# https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh.
function my_git_formatter() {
emulate -L zsh
if [[ -n $P9K_CONTENT ]]; then
# If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from
# gitstatus plugin). VCS_STATUS_* parameters are not available in this case.
typeset -g my_git_format=$P9K_CONTENT
return
fi
# Styling for different parts of Git status.
local meta='%7F' # white foreground
local clean='%0F' # black foreground
local modified='%0F' # black foreground
local untracked='%0F' # black foreground
local conflicted='%1F' # red foreground
local res
local where # branch or tag
if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}"
where=${(V)VCS_STATUS_LOCAL_BRANCH}
elif [[ -n $VCS_STATUS_TAG ]]; then
res+="${meta}#"
where=${(V)VCS_STATUS_TAG}
fi
# If local branch name or tag is at most 32 characters long, show it in full.
# Otherwise show the first 12 … the last 12.
# Tip: To always show local branch name in full without truncation, delete the next line.
(( $#where > 32 )) && where[13,-13]="…"
res+="${clean}${where//\%/%%}" # escape %
# Display the current Git commit if there is no branch or tag.
# Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line.
[[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
# Show tracking branch name if it differs from local branch.
if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape %
fi
# ⇣42 if behind the remote.
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
# ⇠42 if behind the push remote.
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
# ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42.
(( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}"
# *42 if have stashes.
(( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}"
# 'merge' if the repo is in an unusual state.
[[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}"
# ~42 if have merge conflicts.
(( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}"
# +42 if have staged changes.
(( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}"
# !42 if have unstaged changes.
(( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}"
# ?42 if have untracked files. It's really a question mark, your font isn't broken.
# See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon.
# Remove the next line if you don't want to see untracked files at all.
(( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}"
# "─" if the number of unstaged files is unknown. This can happen due to
# POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower
# than the number of files in the Git index, or due to bash.showDirtyState being set to false
# in the repository config. The number of staged and untracked files may also be unknown
# in this case.
(( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─"
typeset -g my_git_format=$res
}
functions -M my_git_formatter 2>/dev/null
# Don't count the number of unstaged, untracked and conflicted files in Git repositories with
# more than this many files in the index. Negative value means infinity.
#
# If you are working in Git repositories with tens of millions of files and seeing performance
# sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output
# of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's
# config: `git config bash.showDirtyState false`.
typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1
# Don't show Git status in prompt for repositories whose workdir matches this pattern.
# For example, if set to '~', the Git repository at $HOME/.git will be ignored.
# Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'.
typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~'
# Disable the default Git status formatting.
typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true
# Install our own Git status formatter.
typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter()))+${my_git_format}}'
# Enable counters for staged, unstaged, etc.
typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1
# Custom icon.
typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION=
# Custom prefix.
typeset -g POWERLEVEL9K_VCS_PREFIX='on '
# Show status of repositories of these types. You can add svn and/or hg if you are
# using them. If you do, your prompt may become slow even when your current directory
# isn't in an svn or hg reposotiry.
typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
##########################[ status: exit code of the last command ]###########################
# Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and
# style them independently from the regular OK and ERROR state.
typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true
# Status on success. No content, just an icon. No need to show it if prompt_char is enabled as
# it will signify success by turning green.
typeset -g POWERLEVEL9K_STATUS_OK=false
typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔'
# typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=2
# typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND=0
# Status when some part of a pipe command fails but the overall exit status is zero. It may look
# like this: 1|0.
typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true
typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔'
typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=2
typeset -g POWERLEVEL9K_STATUS_OK_PIPE_BACKGROUND=16
# Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as
# it will signify error by turning red.
typeset -g POWERLEVEL9K_STATUS_ERROR=true
typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘'
typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=1
typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=16
# Status when the last command was terminated by a signal.
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true
# Use terse signal names: "INT" instead of "SIGINT(2)".
typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘'
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=1
typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_BACKGROUND=16
# Status when some part of a pipe command fails and the overall exit status is also non-zero.
# It may look like this: 1|0.
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘'
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=1
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_BACKGROUND=16
###################[ command_execution_time: duration of the last command ]###################
# Execution time color.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=3
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=16
# Show duration of the last command if takes at least this many seconds.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3
# Show this many fractional digits. Zero means round to seconds.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
# Duration format: 1d 2h 3m 4s.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
# Custom icon.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION=
# Custom prefix.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='took '
#######################[ background_jobs: presence of background jobs ]#######################
# Background jobs color.
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=6
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND=16
# Don't show the number of background jobs.
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
# Custom icon.
# typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐'
#######################[ direnv: direnv status (https://direnv.net/) ]########################
# Direnv color.
# typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=3
# typeset -g POWERLEVEL9K_DIRENV_BACKGROUND=0
# Custom icon.
# typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]###############
# Default asdf color. Only used to display tools for which there is no color override (see below).
# Tip: Override these parameters for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND and
# POWERLEVEL9K_ASDF_${TOOL}_BACKGROUND.
typeset -g POWERLEVEL9K_ASDF_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_BACKGROUND=7
# There are four parameters that can be used to hide asdf tools. Each parameter describes
# conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at
# least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to
# hide a tool, it gets shown.
#
# Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and
# POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands:
#
# asdf local python 3.8.1
# asdf global python 3.8.1
#
# After running both commands the current python version is 3.8.1 and its source is "local" as
# it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false,
# it'll hide python version in this case because 3.8.1 is the same as the global version.
# POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't
# contain "local".
# Hide tool versions that don't come from one of these sources.
#
# Available sources:
#
# - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable"
# - local `asdf current` says "set by /some/not/home/directory/file"
# - global `asdf current` says "set by /home/username/file"
#
# Note: If this parameter is set to (shell local global), it won't hide tools.
# Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES.
typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global)
# If set to false, hide tool versions that are the same as global.
#
# Note: The name of this parameter doesn't reflect its meaning at all.
# Note: If this parameter is set to true, it won't hide tools.
# Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW.
typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false
# If set to false, hide tool versions that are equal to "system".
#
# Note: If this parameter is set to true, it won't hide tools.
# Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM.
typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true
# If set to non-empty value, hide tools unless there is a file matching the specified file pattern
# in the current directory, or its parent diretory, or its grandparent directory, and so on.
#
# Note: If this parameter is set to empty value, it won't hide tools.
# Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments.
# Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB.
#
# Example: Hide nodejs version when there is no package.json and no *.js files in the current
# directory, in `..`, in `../..` and so on.
#
# typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json'
typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB=
# Ruby version from asdf.
typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_RUBY_BACKGROUND=1
# typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar'
# Python version from asdf.
typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_PYTHON_BACKGROUND=4
# typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar'
# Go version from asdf.
typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_GOLANG_BACKGROUND=4
# typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar'
# Node.js version from asdf.
typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_NODEJS_BACKGROUND=2
# typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar'
# Rust version from asdf.
typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_RUST_BACKGROUND=208
# typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar'
# .NET Core version from asdf.
typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_BACKGROUND=5
# typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar'
# Flutter version from asdf.
typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_FLUTTER_BACKGROUND=4
# typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar'
# Lua version from asdf.
typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_LUA_BACKGROUND=4
# typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar'
# Java version from asdf.
typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=1
typeset -g POWERLEVEL9K_ASDF_JAVA_BACKGROUND=7
# typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar'
# Perl version from asdf.
typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_PERL_BACKGROUND=4
# typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar'
# Erlang version from asdf.
typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_ERLANG_BACKGROUND=1
# typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar'
# Elixir version from asdf.
typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_ELIXIR_BACKGROUND=5
# typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar'
# Postgres version from asdf.
typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_POSTGRES_BACKGROUND=6
# typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar'
# PHP version from asdf.
typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_PHP_BACKGROUND=5
# typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar'
# Haskell version from asdf.
typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_HASKELL_BACKGROUND=3
# typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar'
# Julia version from asdf.
typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=0
typeset -g POWERLEVEL9K_ASDF_JULIA_BACKGROUND=2
# typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar'
##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]###########
# NordVPN connection indicator color.
# typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=7
# typeset -g POWERLEVEL9K_NORDVPN_BACKGROUND=4
# Hide NordVPN connection indicator when not connected.
typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION=
typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION=
# Custom icon.
# typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐'
#################[ ranger: ranger shell (https://github.com/ranger/ranger) ]##################
# Ranger shell color.
# typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3
# typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0
# Custom icon.
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
# Nnn shell color.
# typeset -g POWERLEVEL9K_NNN_FOREGROUND=0
# typeset -g POWERLEVEL9K_NNN_BACKGROUND=6
# Custom icon.
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
# Vim shell indicator color.
# typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0
# typeset -g POWERLEVEL9K_VIM_SHELL_BACKGROUND=2
# Custom icon.
# typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]######
# Midnight Commander shell color.
# typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=3
# typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_BACKGROUND=0
# Custom icon.
# typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐'
#[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]##
# Nix shell color.
# typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0
# typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
# Custom icon.
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
##################################[ disk_usage: disk usage ]##################################
# Colors for different levels of disk usage.
# typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3
# typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=0
# typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=0
# typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=3
# typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=7
# typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=1
# Thresholds for different levels of disk usage (percentage points).
typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90
typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95
# If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent.
typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false
# Custom icon.
# typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]###########
# Foreground color.
typeset -g POWERLEVEL9K_VI_MODE_FOREGROUND=0
# Text and color for normal (a.k.a. command) vi mode.
typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL
typeset -g POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=2
# Text and color for visual vi mode.
typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL
typeset -g POWERLEVEL9K_VI_MODE_VISUAL_BACKGROUND=4
# Text and color for overtype (a.k.a. overwrite and replace) vi mode.
typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE
typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_BACKGROUND=3
# Text and color for insert vi mode.
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8
######################################[ ram: free RAM ]#######################################
# RAM color.
# typeset -g POWERLEVEL9K_RAM_FOREGROUND=0
# typeset -g POWERLEVEL9K_RAM_BACKGROUND=3
# Custom icon.
# typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐'
#####################################[ swap: used swap ]######################################
# Swap color.
# typeset -g POWERLEVEL9K_SWAP_FOREGROUND=0
# typeset -g POWERLEVEL9K_SWAP_BACKGROUND=3
# Custom icon.
# typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐'
######################################[ load: CPU load ]######################################
# Show average CPU load over this many last minutes. Valid values are 1, 5 and 15.
typeset -g POWERLEVEL9K_LOAD_WHICH=5
# Load color when load is under 50%.
# typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=0
# typeset -g POWERLEVEL9K_LOAD_NORMAL_BACKGROUND=2
# Load color when load is between 50% and 70%.
# typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=0
# typeset -g POWERLEVEL9K_LOAD_WARNING_BACKGROUND=3
# Load color when load is over 70%.
# typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=0
# typeset -g POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND=1
# Custom icon.
# typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐'
################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################
# Todo color.
# typeset -g POWERLEVEL9K_TODO_FOREGROUND=0
# typeset -g POWERLEVEL9K_TODO_BACKGROUND=8
# Hide todo when the total number of tasks is zero.
typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true
# Hide todo when the number of tasks after filtering is zero.
typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false
# Todo format. The following parameters are available within the expansion.
#
# - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks.
# - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering.
#
# These variables correspond to the last line of the output of `todo.sh -p ls`:
#
# TODO: 24 of 42 tasks shown
#
# Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT.
#
# typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT'
# Custom icon.
# typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐'
###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############
# Timewarrior color.
typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=4
typeset -g POWERLEVEL9K_TIMEWARRIOR_BACKGROUND=16
# If the tracked task is longer than 24 characters, truncate and append "…".
# Tip: To always display tasks without truncation, delete the following parameter.
# Tip: To hide task names and display just the icon when time tracking is enabled, set the
# value of the following parameter to "".
typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}'
# Custom icon.
# typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]##############
# Taskwarrior color.
typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=5
typeset -g POWERLEVEL9K_TASKWARRIOR_BACKGROUND=16
# Taskwarrior segment format. The following parameters are available within the expansion.
#
# - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`.
# - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`.
#
# Zero values are represented as empty parameters.
#
# The default format:
#
# '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT'
#
# typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT'
# Custom icon.
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
##################################[ context: user@hostname ]##################################
# Context color when running with privileges.
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1
typeset -g POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND=16
# Context color in SSH without privileges.
typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=3
typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_BACKGROUND=0
# Default context color (no privileges, no SSH).
typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=3
typeset -g POWERLEVEL9K_CONTEXT_BACKGROUND=0
# Context format when running with privileges: user@hostname.
typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%n@%m'
# Context format when in SSH without privileges: user@hostname.
typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m'
# Default context format (no privileges, no SSH): user@hostname.
typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m'
# Don't show context unless running with privileges or in SSH.
# Tip: Remove the next line to always show context.
typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION=
# Custom icon.
# typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Custom prefix.
typeset -g POWERLEVEL9K_CONTEXT_PREFIX='with '
###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]###
# Python virtual environment color.
# typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=0
# typeset -g POWERLEVEL9K_VIRTUALENV_BACKGROUND=4
# Don't show Python version next to the virtual environment name.
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
# If set to "false", won't show virtualenv if pyenv is already shown.
# If set to "if-different", won't show virtualenv if it's the same as pyenv.
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false
# Separate environment name from Python version only with a space.
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
# Custom icon.
# typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
#####################[ anaconda: conda environment (https://conda.io/) ]######################
# Anaconda environment color.
# typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=0
# typeset -g POWERLEVEL9K_ANACONDA_BACKGROUND=4
# Anaconda segment format. The following parameters are available within the expansion.
#
# - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment.
# - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment.
# - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below).
# - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version).
#
# CONDA_PROMPT_MODIFIER can be configured with the following command:
#
# conda config --set env_prompt '({default_env}) '
#
# The last argument is a Python format string that can use the following variables:
#
# - prefix The same as CONDA_PREFIX.
# - default_env The same as CONDA_DEFAULT_ENV.
# - name The last segment of CONDA_PREFIX.
# - stacked_env Comma-separated list of names in the environment stack. The first element is
# always the same as default_env.
#
# Note: '({default_env}) ' is the default value of env_prompt.
#
# The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER
# without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former
# is empty.
typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}'
# Custom icon.
# typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐'
################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################
# Pyenv color.
# typeset -g POWERLEVEL9K_PYENV_FOREGROUND=0
# typeset -g POWERLEVEL9K_PYENV_BACKGROUND=4
# Hide python version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global)
# If set to false, hide python version if it's the same as global:
# $(pyenv version-name) == $(pyenv global).
typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide python version if it's equal to "system".
typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true
# Pyenv segment format. The following parameters are available within the expansion.
#
# - P9K_CONTENT Current pyenv environment (pyenv version-name).
# - P9K_PYENV_PYTHON_VERSION Current python version (python --version).
#
# The default format has the following logic:
#
# 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not
# empty and unequal to $P9K_CONTENT.
# 2. Otherwise display just "$P9K_CONTENT".
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}'
# Custom icon.
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
################[ goenv: go environment (https://github.com/syndbg/goenv) ]################
# Goenv color.
# typeset -g POWERLEVEL9K_GOENV_FOREGROUND=0
# typeset -g POWERLEVEL9K_GOENV_BACKGROUND=4
# Hide go version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global)
# If set to false, hide go version if it's the same as global:
# $(goenv version-name) == $(goenv global).
typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide go version if it's equal to "system".
typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true
# Custom icon.
# typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]##########
# Nodenv color.
# typeset -g POWERLEVEL9K_NODENV_FOREGROUND=2
# typeset -g POWERLEVEL9K_NODENV_BACKGROUND=0
# Hide node version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global)
# If set to false, hide node version if it's the same as global:
# $(nodenv version-name) == $(nodenv global).
typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide node version if it's equal to "system".
typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true
# Custom icon.
# typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
# Nvm color.
# typeset -g POWERLEVEL9K_NVM_FOREGROUND=0
# typeset -g POWERLEVEL9K_NVM_BACKGROUND=5
# Custom icon.
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############
# Nodeenv color.
# typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=2
# typeset -g POWERLEVEL9K_NODEENV_BACKGROUND=0
# Don't show Node version next to the environment name.
typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false
# Separate environment name from Node version only with a space.
typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER=
# Custom icon.
# typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
##############################[ node_version: node.js version ]###############################
# Node version color.
# typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=7
# typeset -g POWERLEVEL9K_NODE_VERSION_BACKGROUND=2
# Show node version only when in a directory tree containing package.json.
typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true
# Custom icon.
# typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
#######################[ go_version: go version (https://golang.org) ]########################
# Go version color.
# typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=255
# typeset -g POWERLEVEL9K_GO_VERSION_BACKGROUND=2
# Show go version only when in a go project subdirectory.
typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true
# Custom icon.
# typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
#################[ rust_version: rustc version (https://www.rust-lang.org) ]##################
# Rust version color.
# typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=0
# typeset -g POWERLEVEL9K_RUST_VERSION_BACKGROUND=208
# Show rust version only when in a rust project subdirectory.
typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true
# Custom icon.
# typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################
# .NET version color.
# typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=7
# typeset -g POWERLEVEL9K_DOTNET_VERSION_BACKGROUND=5
# Show .NET version only when in a .NET project subdirectory.
typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true
# Custom icon.
# typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
#####################[ php_version: php version (https://www.php.net/) ]######################
# PHP version color.
typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=0
typeset -g POWERLEVEL9K_PHP_VERSION_BACKGROUND=5
# Show PHP version only when in a PHP project subdirectory.
typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true
# Custom icon.
# typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ laravel_version: laravel php framework version (https://laravel.com/) ]###########
# Laravel version color.
typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=1
typeset -g POWERLEVEL9K_LARAVEL_VERSION_BACKGROUND=7
# Custom icon.
# typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
#############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]##############
# Rbenv color.
# typeset -g POWERLEVEL9K_RBENV_FOREGROUND=0
# typeset -g POWERLEVEL9K_RBENV_BACKGROUND=1
# Hide ruby version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global)
# If set to false, hide ruby version if it's the same as global:
# $(rbenv version-name) == $(rbenv global).
typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide ruby version if it's equal to "system".
typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true
# Custom icon.
# typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
####################[ java_version: java version (https://www.java.com/) ]####################
# Java version color.
typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=1
typeset -g POWERLEVEL9K_JAVA_VERSION_BACKGROUND=7
# Show java version only when in a java project subdirectory.
typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true
# Show brief version.
typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false
# Custom icon.
# typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]####
# Package color.
# typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=0
# typeset -g POWERLEVEL9K_PACKAGE_BACKGROUND=6
# Package format. The following parameters are available within the expansion.
#
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
#
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
#######################[ rvm: ruby version from rvm (https://rvm.io) ]########################
# Rvm color.
# typeset -g POWERLEVEL9K_RVM_FOREGROUND=0
# typeset -g POWERLEVEL9K_RVM_BACKGROUND=240
# Don't show @gemset at the end.
typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false
# Don't show ruby- at the front.
typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false
# Custom icon.
# typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############
# Fvm color.
# typeset -g POWERLEVEL9K_FVM_FOREGROUND=0
# typeset -g POWERLEVEL9K_FVM_BACKGROUND=4
# Custom icon.
# typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]###########
# Lua color.
# typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=0
# typeset -g POWERLEVEL9K_LUAENV_BACKGROUND=4
# Hide lua version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global)
# If set to false, hide lua version if it's the same as global:
# $(luaenv version-name) == $(luaenv global).
typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide lua version if it's equal to "system".
typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true
# Custom icon.
# typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################
# Java color.
# typeset -g POWERLEVEL9K_JENV_FOREGROUND=1
# typeset -g POWERLEVEL9K_JENV_BACKGROUND=7
# Hide java version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global)
# If set to false, hide java version if it's the same as global:
# $(jenv version-name) == $(jenv global).
typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide java version if it's equal to "system".
typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true
# Custom icon.
# typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############
# Perl color.
# typeset -g POWERLEVEL9K_PLENV_FOREGROUND=0
# typeset -g POWERLEVEL9K_PLENV_BACKGROUND=4
# Hide perl version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global)
# If set to false, hide perl version if it's the same as global:
# $(plenv version-name) == $(plenv global).
typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide perl version if it's equal to "system".
typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true
# Custom icon.
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
# PHP color.
# typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0
# typeset -g POWERLEVEL9K_PHPENV_BACKGROUND=5
# Hide php version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global)
# If set to false, hide php version if it's the same as global:
# $(phpenv version-name) == $(phpenv global).
typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide PHP version if it's equal to "system".
typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true
# Custom icon.
# typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
#######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]#######
# Scala color.
# typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=0
# typeset -g POWERLEVEL9K_SCALAENV_BACKGROUND=1
# Hide scala version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global)
# If set to false, hide scala version if it's the same as global:
# $(scalaenv version-name) == $(scalaenv global).
typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide scala version if it's equal to "system".
typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true
# Custom icon.
# typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]###########
# Haskell color.
# typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=0
# typeset -g POWERLEVEL9K_HASKELL_STACK_BACKGROUND=3
# Hide haskell version if it doesn't come from one of these sources.
#
# shell: version is set by STACK_YAML
# local: version is set by stack.yaml up the directory tree
# global: version is set by the implicit global project (~/.stack/global-project/stack.yaml)
typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local)
# If set to false, hide haskell version if it's the same as in the implicit global project.
typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true
# Custom icon.
# typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐'
################[ terraform: terraform workspace (https://www.terraform.io) ]#################
# Don't show terraform workspace if it's literally "default".
typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false
# POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element
# in each pair defines a pattern against which the current terraform workspace gets matched.
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
# that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters,
# you'll see this value in your prompt. The second element of each pair in
# POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The
# first match wins.
#
# For example, given these settings:
#
# typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
# '*prod*' PROD
# '*test*' TEST
# '*' OTHER)
#
# If your current terraform workspace is "project_test", its class is TEST because "project_test"
# doesn't match the pattern '*prod*' but does match '*test*'.
#
# You can define different colors, icons and content expansions for different classes:
#
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=2
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_BACKGROUND=0
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
# '*prod*' PROD # These values are examples that are unlikely
# '*test*' TEST # to match your needs. Customize them as needed.
'*' OTHER)
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=4
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_BACKGROUND=0
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
# Show kubecontext only when the the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show kubecontext.
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile'
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
# different contexts.
#
# POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element
# in each pair defines a pattern against which the current kubernetes context gets matched.
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
# that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters,
# you'll see this value in your prompt. The second element of each pair in
# POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The
# first match wins.
#
# For example, given these settings:
#
# typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
# '*prod*' PROD
# '*test*' TEST
# '*' DEFAULT)
#
# If your current kubernetes context is "deathray-testing/default", its class is TEST
# because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'.
#
# You can define different colors, icons and content expansions for different classes:
#
# typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=0
# typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_BACKGROUND=2
# typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
# '*prod*' PROD # These values are examples that are unlikely
# '*test*' TEST # to match your needs. Customize them as needed.
'*' DEFAULT)
typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=7
typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_BACKGROUND=5
# typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext
# segment. Parameter expansions are very flexible and fast, too. See reference:
# http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
#
# Within the expansion the following parameters are always available:
#
# - P9K_CONTENT The content that would've been displayed if there was no content
# expansion defined.
# - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the
# output of `kubectl config get-contexts`.
# - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the
# output of `kubectl config get-contexts`.
# - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE
# in the output of `kubectl config get-contexts`. If there is no
# namespace, the parameter is set to "default".
# - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the
# output of `kubectl config get-contexts`.
#
# If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS),
# the following extra parameters are available:
#
# - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks".
# - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID.
# - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone.
# - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster.
#
# P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example,
# if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01":
#
# - P9K_KUBECONTEXT_CLOUD_NAME=gke
# - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account
# - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a
# - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
#
# If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01":
#
# - P9K_KUBECONTEXT_CLOUD_NAME=eks
# - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012
# - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1
# - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION=
# Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME.
POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}'
# Append the current context's namespace if it's not "default".
POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}'
# Custom prefix.
typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at '
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
# Show aws only when the the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show aws.
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
# in each pair defines a pattern against which the current AWS profile gets matched.
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
# that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters,
# you'll see this value in your prompt. The second element of each pair in
# POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The
# first match wins.
#
# For example, given these settings:
#
# typeset -g POWERLEVEL9K_AWS_CLASSES=(
# '*prod*' PROD
# '*test*' TEST
# '*' DEFAULT)
#
# If your current AWS profile is "company_test", its class is TEST
# because "company_test" doesn't match the pattern '*prod*' but does match '*test*'.
#
# You can define different colors, icons and content expansions for different classes:
#
# typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28
# typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
typeset -g POWERLEVEL9K_AWS_CLASSES=(
# '*prod*' PROD # These values are examples that are unlikely
# '*test*' TEST # to match your needs. Customize them as needed.
'*' DEFAULT)
# typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=7
# typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
# AWS Elastic Beanstalk environment color.
# typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2
# typeset -g POWERLEVEL9K_AWS_EB_ENV_BACKGROUND=0
# Custom icon.
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
# Show azure only when the the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show azure.
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
# Azure account name color.
# typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7
# typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4
# Custom icon.
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
# Show gcloud only when the the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show gcloud.
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs'
# Google cloud color.
# typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7
# typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4
# Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or
# POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative
# enough. You can use the following parameters in the expansions. Each of them corresponds to the
# output of `gcloud` tool.
#
# Parameter | Source
# -------------------------|--------------------------------------------------------------------
# P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)'
# P9K_GCLOUD_ACCOUNT | gcloud config get-value account
# P9K_GCLOUD_PROJECT_ID | gcloud config get-value project
# P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)'
#
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'.
#
# Obtaining project name requires sending a request to Google servers. This can take a long time
# and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud
# prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets
# set and gcloud prompt segment transitions to state COMPLETE.
#
# You can customize the format, icon and colors of gcloud segment separately for states PARTIAL
# and COMPLETE. You can also hide gcloud in state PARTIAL by setting
# POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and
# POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty.
typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}'
typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}'
# Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name
# this often. Negative value disables periodic polling. In this mode project name is retrieved
# only when the current configuration, account or project id changes.
typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60
# Custom icon.
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
# Show google_app_cred only when the the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show google_app_cred.
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
# Google application credentials classes for the purpose of using different colors, icons and
# expansions with different credentials.
#
# POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first
# element in each pair defines a pattern against which the current kubernetes context gets
# matched. More specifically, it's P9K_CONTENT prior to the application of context expansion
# (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION
# parameters, you'll see this value in your prompt. The second element of each pair in
# POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order.
# The first match wins.
#
# For example, given these settings:
#
# typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
# '*:*prod*:*' PROD
# '*:*test*:*' TEST
# '*' DEFAULT)
#
# If your current Google application credentials is "service_account deathray-testing x@y.com",
# its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'.
#
# You can define different colors, icons and content expansions for different classes:
#
# typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28
# typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID'
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
# '*:*prod*:*' PROD # These values are examples that are unlikely
# '*:*test*:*' TEST # to match your needs. Customize them as needed.
'*' DEFAULT)
# typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=7
# typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_BACKGROUND=4
# typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by
# google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference:
# http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
#
# You can use the following parameters in the expansion. Each of them corresponds to one of the
# fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS.
#
# Parameter | JSON key file field
# ---------------------------------+---------------
# P9K_GOOGLE_APP_CRED_TYPE | type
# P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id
# P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email
#
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
###############################[ public_ip: public IP address ]###############################
# Public IP color.
# typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7
# typeset -g POWERLEVEL9K_PUBLIC_IP_BACKGROUND=0
# Custom icon.
# typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
########################[ vpn_ip: virtual private network indicator ]#########################
# VPN IP color.
# typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=0
# typeset -g POWERLEVEL9K_VPN_IP_BACKGROUND=6
# When on VPN, show just an icon without the IP address.
# Tip: To display the private IP address when on VPN, remove the next line.
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
# to see the name of the interface.
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun))[0-9]*'
# If set to true, show one segment per matching network interface. If set to false, show only
# one segment corresponding to the first matching network interface.
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false
# Custom icon.
# typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
###########[ ip: ip address and bandwidth usage for a specified network interface ]###########
# IP color.
typeset -g POWERLEVEL9K_IP_BACKGROUND=4
typeset -g POWERLEVEL9K_IP_FOREGROUND=0
# The following parameters are accessible within the expansion:
#
# Parameter | Meaning
# ----------------------+---------------
# P9K_IP_IP | IP address
# P9K_IP_INTERFACE | network interface
# P9K_IP_RX_BYTES | total number of bytes received
# P9K_IP_TX_BYTES | total number of bytes sent
# P9K_IP_RX_RATE | receive rate (since last prompt)
# P9K_IP_TX_RATE | send rate (since last prompt)
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP'
# Show information for the first network interface whose name matches this regular expression.
# Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
typeset -g POWERLEVEL9K_IP_INTERFACE='e.*'
# Custom icon.
# typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
#########################[ proxy: system-wide http/https/ftp proxy ]##########################
# Proxy color.
# typeset -g POWERLEVEL9K_PROXY_FOREGROUND=4
# typeset -g POWERLEVEL9K_PROXY_BACKGROUND=0
# Custom icon.
# typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐'
################################[ battery: internal battery ]#################################
# Show battery in red when it's below this level and not connected to power supply.
typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20
typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=1
# Show battery in green when it's charging or fully charged.
typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=2
# Show battery in yellow when it's discharging.
typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=3
# Battery pictograms going from low to high level of charge.
typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578'
# Don't show the remaining time to charge/discharge.
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
# typeset -g POWERLEVEL9K_BATTERY_BACKGROUND=0
#####################################[ wifi: wifi speed ]#####################################
# WiFi color.
# typeset -g POWERLEVEL9K_WIFI_FOREGROUND=0
# typeset -g POWERLEVEL9K_WIFI_BACKGROUND=4
# Custom icon.
# typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Use different colors and icons depending on signal strength ($P9K_WIFI_BARS).
#
# # Wifi colors and icons for different signal strength levels (low to high).
# typeset -g my_wifi_fg=(0 0 0 0 0) # <-- change these values
# typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values
#
# typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps'
# typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}'
#
# The following parameters are accessible within the expansions:
#
# Parameter | Meaning
# ----------------------+---------------
# P9K_WIFI_SSID | service set identifier, a.k.a. network name
# P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown
# P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second
# P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0
# P9K_WIFI_NOISE | noise in dBm, from -120 to 0
# P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE)
####################################[ time: current time ]####################################
# Current time color.
# typeset -g POWERLEVEL9K_TIME_FOREGROUND=0
# typeset -g POWERLEVEL9K_TIME_BACKGROUND=7
# Format for the current time: 09:51:02. See `man 3 strftime`.
typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
# If set to true, time will update when you hit enter. This way prompts for the past
# commands will contain the start times of their commands as opposed to the default
# behavior where they contain the end times of their preceding commands.
typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
# Custom icon.
typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION=
# Custom prefix.
typeset -g POWERLEVEL9K_TIME_PREFIX='at '
# Example of a user-defined prompt segment. Function prompt_example will be called on every
# prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
# POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and yellow text on red background
# greeting the user.
#
# Type `p10k help segment` for documentation and a more sophisticated example.
function prompt_example() {
p10k segment -b 1 -f 3 -i '⭐' -t 'hello, %n'
}
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
# is to generate the prompt segment for display in instant prompt. See
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
#
# Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
# will replay these calls without actually calling instant_prompt_*. It is imperative that
# instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this
# rule is not observed, the content of instant prompt will be incorrect.
#
# Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If
# instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt.
function instant_prompt_example() {
# Since prompt_example always makes the same `p10k segment` calls, we can call it from
# instant_prompt_example. This will give us the same `example` prompt segment in the instant
# and regular prompts.
prompt_example
}
# User-defined prompt segments can be customized the same way as built-in segments.
# typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=3
# typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
# when accepting a command line. Supported values:
#
# - off: Don't change prompt when accepting a command line.
# - always: Trim down prompt when accepting a command line.
# - same-dir: Trim down prompt when accepting a command line unless this is the first command
# typed after changing current working directory.
typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=off
# Instant prompt mode.
#
# - off: Disable instant prompt. Choose this if you've tried instant prompt and found
# it incompatible with your zsh configuration files.
# - quiet: Enable instant prompt and don't print warnings when detecting console output
# during zsh initialization. Choose this if you've read and understood
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
# - verbose: Enable instant prompt and print a warning when detecting console output during
# zsh initialization. Choose this if you've never tried instant prompt, haven't
# seen the warning, or if you are unsure what this all means.
typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
# can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
# really need it.
typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
# If p10k is already loaded, reload configuration.
# This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
(( ! $+functions[p10k] )) || p10k reload
}
# Tell `p10k configure` which file it should overwrite.
typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
'builtin' 'unset' 'p10k_config_opts'
================================================
FILE: .config/zsh/.zprofile
================================================
# Auto start xorg
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
export XAUTHORITY="$HOME/.local/share/x11/xauthority"
exec startx ~/.config/x11/xinitrc #&>/dev/null
fi
================================================
FILE: .config/zsh/.zshrc
================================================
#!/bin/sh
### Zsh specific settings
# Completion
autoload -Uz compinit
compinit
unsetopt completealiases
zstyle ':completion:*' rehash true
zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)(?)*==35=35}:${(s.:.)LS_COLORS}")';
zstyle ':completion:*:descriptions' format $'\e[01;33m %d\e[0m'
zstyle ':completion:*:messages' format $'\e[01;31m %d\e[0m'
# General opts
setopt autocd
unsetopt beep notify
bindkey -e
zstyle :compinstall filename '/home/barbaross/.config/zsh/.zshrc'
# History opts
HISTFILE=~/.config/zsh/.zsh_history
HISTSIZE=100000
SAVEHIST=100000
setopt APPEND_HISTORY
setopt HIST_EXPIRE_DUPS_FIRST
setopt EXTENDED_HISTORY
setopt SHARE_HISTORY
# hide division sign on incomplete line
PROMPT_EOL_MARK=''
# Make home/end/del keys work properly
bindkey "^[[7~" beginning-of-line
bindkey "^[[1~" beginning-of-line
bindkey "^[[8~" end-of-line
bindkey "^[[4~" end-of-line
bindkey "^[[3~" delete-char
bindkey "^[[5~" up-line-or-history
bindkey "^[[6~" down-line-or-history
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='emacs'
fi
# Source stuff
. /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
. /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
. /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
. ~/.config/zsh/.p10k.zsh
# Startup zoxide
eval "$(zoxide init zsh)"
# fzf stuff
export FZF_BASE=/usr/bin/fzf
export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' --color fg:7,bg:-1,hl:6,fg+:6,bg+:-1,hl+:6 --color info:2,prompt:1,spinner:5,pointer:5,marker:3,header:8'
source /usr/share/fzf/key-bindings.zsh
#for bat theme
export BAT_THEME="base16"
# Aliases
alias weather="curl 'wttr.in/?T'"
alias svim="sudoedit"
alias ip="ip --color=auto"
alias diff='diff --color=auto'
alias cht='f(){ curl -s "cheat.sh/$(echo -n "$*"|jq -sRr @uri)";};f'
alias l="exa -la"
alias ls="exa"
alias li="exa --icons"
alias clip="xclip -sel clip"
alias cp="cp --reflink" #to make lightweight copies w/ btrfs
alias tksv='tmux kill-server'
alias dotlink="stow --ignore='.git' --ignore='Scrots' --ignore='Boot' --ignore='.gitignore' --ignore='pkglist.txt' --ignore='README.md' -R --target=/home/barbarossa -d /home/barbarossa/Public/tower-dotfiles ."
alias fm="setsid -f nautilus ."
alias yayinst="yay -Slq | fzf -m --preview 'yay -Si {1}' | xargs -ro sudo yay -S"
alias cat="bat -p"
alias pfetch="curl -s https://raw.githubusercontent.com/dylanaraps/pfetch/master/pfetch | sh"
alias doom="~/.emacs.d/bin/doom"
alias vim="emacs -nw"
alias emacs="emacs -nw"
alias yay="paru"
alias sshpi="ssh -p 5522 barbaross@192.168.0.2"
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....="cd ../../../.."
alias _="sudo"
### Functions
# Colorized man pages
man() {
env \
LESS_TERMCAP_mb=$(printf "\e[1;31m") \
LESS_TERMCAP_md=$(printf "\e[1;31m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[1;40;35m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[1;33m") \
man "$@"
}
e() {
if [[ $# -eq 0 ]]; then
/usr/bin/emacs # "emacs" is function, will cause recursion
return
fi
args=($*)
for ((i=0; i <= ${#args}; i++)); do
local a=${args[i]}
# NOTE: -c for creating new frame
if [[ ${a:0:1} == '-' && ${a} != '-c' && ${a} != '--' ]]; then
/usr/bin/emacs ${args[*]}
return
fi
done
setsid emacsclient -n -a /usr/bin/emacs ${args[*]}
}
# ls after a cd
cl() {
local dir="$1"
local dir="${dir:=$HOME}"
if [[ -d "$dir" ]]; then
cd "$dir" >/dev/null
ls
else
echo "zsh: cl: $dir: Directory not found"
fi
}
dotgit() {
gitdir="/home/barbarossa/Public/tower-dotfiles/"
git -C $gitdir add .
git -C $gitdir commit -m "$*"
git -C $gitdir push
}
# one off calculator
calc() {
echo "scale=3;$@" | bc -l
}
================================================
FILE: .gitignore
================================================
.config/zsh/.zsh_history
.config/zsh/.zcompdump
================================================
FILE: .local/bin/colorpick.sh
================================================
#!/usr/bin/env bash
set -euo pipefail
#color=$(gpick -so 2>/dev/null)
color=$(xcolor)
if [ -n "$color" ]; then
random_file=$(mktemp --suffix ".png")
convert -size 100x100 xc:"$color" "$random_file"
dunstify -i "$random_file" -a ColorPicker -u normal "$color"
fi
================================================
FILE: .local/bin/dunst_logger.sh
================================================
#!/usr/bin/env bash
#set -euo pipefail
# Because certain programs like to insert their own newlines and fuck up my format (im looking at you thunderbird)
# we need to crunch each input to ensure that each component is its own line in the log file
crunch_appname=$(echo "$1" | sed '/^$/d')
crunch_summary=$(echo "$2" | sed '/^$/d' | xargs)
crunch_body=$(echo "$3" | sed '/^$/d' | xargs)
crunch_icon=$(echo "$4" | sed '/^$/d')
crunch_urgency=$(echo "$5" | sed '/^$/d')
timestamp=$(date +"%I:%M %p")
# Rules for notifs that send their icons over the wire (w/o an actual path)
if [[ "$crunch_appname" == "Spotify" ]]; then
random_name=$(mktemp --suffix ".png")
artlink=$(playerctl metadata mpris:artUrl | sed -e 's/open.spotify.com/i.scdn.co/g')
curl -s "$artlink" -o "$random_name"
crunch_icon=$random_name
elif [[ "$crunch_appname" == "AN2Linux" ]]; then
crunch_icon="/usr/share/icons/Nord-Icon/48x48/apps/android-sdk.svg"
fi
echo -en "$timestamp\n$crunch_urgency\n$crunch_icon\n$crunch_body\n$crunch_summary\n$crunch_appname\n" >> /tmp/dunstlog
#echo "$crunch_appname\n$crunch_summary\n$crunch_body\n$crunch_icon\n$crunch_urgency\x0f" >> /tmp/dunstlog
================================================
FILE: .local/bin/eww_mouse.sh
================================================
#!/usr/bin/env bash
set -euo pipefail
eww open main_bottom
sleep 0.2
WIN_ID=$(xdotool search --name 'Eww - main_bottom')
xev -id "$WIN_ID" -event mouse | while read line; do
if [[ "$line" =~ ^LeaveNotify.* ]]; then
sleep 0.2
eww close main_bottom
pkill xev
fi
done
================================================
FILE: .local/bin/gamer_mode.sh
================================================
#!/bin/sh
# Epic gamer mode activate!
systemctl --user stop xbanish
dunstctl set-paused true
systemctl --user stop picom
# Gamer time 😎
"$@"
# Le epic gamer mode deactivate!
systemctl --user start xbanish
dunstctl set-paused false
systemctl --user start picom
================================================
FILE: .local/bin/gif
================================================
#!/bin/bash
if pgrep -f giph &>/dev/null; then
giph --stop &>/dev/null
notify-send --app-name "giph" -u normal "Stopping gif recording..."
else
notify-send --app-name "giph" -u normal "Select region to record"
setsid -f giph -s -y ~/Pictures/Gifs/Recordings/$(date +%s).gif &>/dev/null
fi
================================================
FILE: .local/bin/greenclip.sh
================================================
#!/bin/sh
greenclip print | sed '/^$/d' | rofi -theme ~/.config/rofi/configTall.rasi -dmenu -i -l 10 -p -columns 1 | xargs -r -d'\n' -I '{}' greenclip print '{}'
================================================
FILE: .local/bin/linkhandler
================================================
#!/bin/sh
# Feed script a url or file location.
# If an image, it will view in sxiv,
# if a video or gif, it will view in mpv
# if a music file or pdf, it will download,
# otherwise it opens link in browser.
export BROWSER=/usr/bin/firefox
# If no url given. Opens browser. For using script as $BROWSER.
[ -z "$1" ] && { exit; }
case "$1" in
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*)
setsid mpv --autofit=1366x768 --input-ipc-server=/tmp/mpvsoc$(date +%s) -quiet "$1" >/dev/null 2>&1 & ;;
*torrent)
setsid transadd "$1" >/dev/null 2>&1 & ;;
*png|*png*|*jpg|*jpg*|*jpe|*jpe*|*jpeg|*jpeg*)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///")" && feh --scale-down "/tmp/$(echo "$1" | sed "s/.*\///")" >/dev/null 2>&1 & ;;
*pdf|*cbz|*cbr)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && zathura "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
*mp3|*flac|*opus|*mp3?source*)
setsid tsp curl -LO "$1" >/dev/null 2>&1 & ;;
*gif*)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///")" && mpv --loop -quiet "/tmp/$(echo "$1" | sed "s/.*\///")" >/dev/null 2>&1 & ;;
*)
if [ -f "$1" ]; then "$TERMINAL" -e "$EDITOR $1"
#elif [ -z "$*" ]; then exit 0
else setsid $BROWSER "$1" >/dev/null 2>&1 & fi ;;
esac
================================================
FILE: .local/bin/lockscreen.sh
================================================
#!/usr/bin/env bash
set -euo pipefail
#lock() {
# i3lock -n -c 242831ff -i ~/Pictures/lock_background3.png -t -e \
# --indicator --force-clock --pass-media-keys --pass-power-keys --pass-volume-keys \
# --insidevercolor=2e3440A8 --insidewrongcolor=2e3440A8 --insidecolor=2e344000 --ringwrongcolor=bf616a \
# --ringcolor=81a1c1 --ringvercolor=88c0d0 --line-uses-inside --keyhlcolor=b48ead --bshlcolor=bf616a \
# --separatorcolor=81a1c1 --verifcolor=88c0d0 --wrongcolor=bf616a --indpos="w/6:h/2-200" --timecolor=e5e9f0 \
# --timepos="w/6:h/2+50" --timestr="%I:%M %p" --datecolor=e5e9f0 --time-font="FiraCode Nerd Font" \
# --date-font="FiraCode Nerd Font" --verif-font="FiraCode Nerd Font" --wrong-font="FiraCode Nerd Font" \
# --greeter-font="FiraCode Nerd Font" --greetertext="$USER" --greetercolor=e5e9f0 --greeterpos="w/6:h/2-10" \
# --radius 120 --ring-width 3 --greetersize=36
#}
cachepath=$HOME/.cache/lockscreen
cropuser=$cachepath/$USER-pic-crop.png
width=3840 #$(xrandr --query | grep ' connected' | grep -o '[0-9][0-9]*x[0-9][0-9]*[^ ]*' | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/' |cut -d "x" -f 1 |head -n1)
height=2160 #$(xrandr --query | grep ' connected' | grep -o '[0-9][0-9]*x[0-9][0-9]*[^ ]*' | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/' |cut -d "x" -f 2 |head -n1)
half_width=$((width/2))
half_height=$((height/2))
cropuser() {
userpic=~/Pictures/barbarossaCircle.png
convert $userpic -resize 170x170 -gravity Center \( \
-size 170x170 xc:Black \
-fill White \
-draw "circle 85 85 85 1" \
-alpha Copy\
\) -compose CopyOpacity -composite -trim $cropuser
}
blurbg() {
maim -u "$cachepath/screenshot.png"
convert "$cachepath/screenshot.png" \
-filter Gaussian \
-blur 0x27 \
"$cachepath/screenshot-blur.png"
}
genbg() {
if [[ ! -d $HOME/.cache/lockscreen ]]; then
mkdir $HOME/.cache/lockscreen
cropuser
fi
blurbg
composite -geometry "+$((half_width-85))+$((half_height-137))" $cropuser $cachepath/screenshot-blur.png $cachepath/screenshot-pic-blur.png
}
lock() {
i3lock -n -c 00000000 -e --date-str="@$(uname -n)" -i ~/Pictures/nordspace_lock.png -F --date-pos="w/2:h/2+90" \
--indicator --force-clock --pass-media-keys --pass-power-keys --pass-volume-keys --date-size=16 \
--insidever-color=2e3440A8 --insidewrong-color=2e3440A8 --inside-color=2e344000 --ringwrong-color=bf616a \
--ring-color=81a1c1 --ringver-color=88c0d0 --line-uses-inside --keyhl-color=b48ead --bshl-color=bf616a \
--separator-color=81a1c1 --verif-color=88c0d0 --wrong-color=bf616a --ind-pos="w/2:h/2-42" --time-color=e5e9f0 \
--time-pos="w/2:h/2+35" --time-str="%I:%M %p" --date-color=e5e9f0 --time-font="FiraCode Nerd Font" \
--date-font="FiraCode Nerd Font" --verif-font="FiraCode Nerd Font" --wrong-font="FiraCode Nerd Font" \
--greeter-font="FiraCode Nerd Font:style=Bold" --greeter-text="$USER" --greeter-color=8fbcbb --greeter-pos="w/2:h/2+70" \
--radius 50 --ring-width 3 --greeter-size=18 --time-size=14 --verif-size=10 --wrong-size=10 --modif-size=9 --modif-pos="w/2:h/2-15" #--no-verify
}
status=$(playerctl status || true)
#genbg
if [ "$status" == "Playing" ]; then
playerctl pause
fi
dunstctl set-paused true
#if pgrep -x "picom" >/dev/null; then
# true
#else
# setsid -f picom --experimental-backends &
#fi
# If rofi is opened, it grabs the keyboard and borks i3lock. Not sure how to
# take a general approach to see if the keyboard is actively grabbed
if pgrep -x rofi; then
killall rofi
fi
lock || lockscreen.sh
if [ "$status" == "Playing" ]; then
playerctl play
fi
dunstctl set-paused false
================================================
FILE: .local/bin/mp4
================================================
#!/bin/bash
if pgrep -f giph &>/dev/null; then
giph --stop &>/dev/null
else
notify-send --app-name "giph" -u normal "Select region to record"
setsid -f giph -s -y -a --format mp4 ~/Videos/$(date +%s).mp4 &>/dev/null
fi
================================================
FILE: .local/bin/power
================================================
#!/bin/sh
options=" Lock
Logout
Hibernate
Reboot
Shutdown"
choice=$(echo "$options" | rofi -config ~/.config/rofi/configPower.rasi -dmenu -p "Power")
case "$choice" in
*Lock*)
lockscreen.sh
#light-locker-command -l
;;
*Logout*)
qtile cmd-obj -o cmd -f shutdown
#logout
;;
*Hibernate*)
systemctl hibernate
;;
*Reboot*)
systemctl reboot
;;
*Shutdown*)
poweroff
;;
esac
================================================
FILE: .local/bin/prtregion
================================================
#!/bin/sh
case "$1" in
-c|--clipboard)
notify-send -i /usr/share/icons/Nord-Icon/48x48/apps/accessories-screenshot.svg -a Screenshot -u normal -t 3000 'Select a region to screenshot'
maim -s | xclip -selection clipboard -t image/png
notify-send -i /usr/share/icons/Nord-Icon/48x48/apps/accessories-screenshot.svg -a Screenshot -u normal -t 3000 'Screenshot of region taken and saved to clipboard'
;;
-d|--disk)
notify-send -i /usr/share/icons/Nord-Icon/48x48/apps/accessories-screenshot.svg -a Screenshot -u normal -t 3000 'Select a region to screenshot'
maim -s ~/Pictures/Screenshots/$(date +%s).png | xclip -selection clipboard -t image/png
notify-send -i /usr/share/icons/Nord-Icon/48x48/apps/accessories-screenshot.svg -a Screenshot -u normal -t 3000 'Screenshot of region taken'
;;
esac
================================================
FILE: .local/bin/prtscr
================================================
#!/bin/sh
notify-send -i /usr/share/icons/Nord-Icon/48x48/apps/accessories-screenshot.svg -a Screenshot -u normal -t 3000 'Screenshot will be taken in 5 seconds'
location=~/Pictures/Screenshots/$(date +%s).png
sleep 5
maim -q "$location"
notify-send -a Screenshot -i "$location" -u normal -t 3000 'Screenshot taken'
================================================
FILE: .local/bin/rofi-search.sh
================================================
#!/bin/sh
# Will need to update usr/lib/node_modules/rofi-search/rofi-search when rofi-search updates to change default prompt
#export ROFI_SEARCH='googler'
#export GOOGLE_ARGS='["--count", 13]'
export GOOGLE_API_KEY='AIzaSyCrJ4mbG-TrR0_VxaqM9rOzknhIAiCvDwc'
export GOOGLE_SEARCH_ID='b84e8a9005e8ce3b4'
export ROFI_SEARCH='cse'
export TITLE_COLOR='#5e81ac'
export ROFI_SEARCH_CMD='linkhandler $URL'
rofi -modi blocks -blocks-wrap /usr/bin/rofi-search -show blocks -lines 13 -eh 4 -kb-custom-1 'Control+y' -theme ~/.config/rofi/configTall.rasi
================================================
FILE: .local/bin/rofi-task
================================================
#!/usr/bin/env sh
ID=$(task export | jq -r 'sort_by( -.urgency )[] | [ (.id|tostring), .description ] | join(" ")' | awk '!$1=="0"' |
rofi -no-auto-select -theme ~/.config/rofi/configTall.rasi -i -dmenu -p "" |
cut -f 1)
[ -z "$ID" ] && echo "Cancelled." && exit
ACTION=$(printf "add\nstart\nstop\nedit\ndone" | rofi -config ~/.config/rofi/configTall.rasi -no-auto-select -i -dmenu -p "Action")
[ -z "$ACTION" ] && echo "Cancelled." && exit
task "$ID" "$ACTION"
================================================
FILE: .local/bin/rofi_notes.sh
================================================
#!/bin/bash
set -u
set -e
readonly NOTES_FILE=~/Documents/quick_notes
if [[ ! -a "${NOTES_FILE}" ]]; then
echo "empty" >> "${NOTES_FILE}"
fi
function get_notes()
{
cat ${NOTES_FILE}
}
function main()
{
local all_notes="$(get_notes)"
local note=$( (echo "${all_notes}") | rofi -theme ~/.config/rofi/configTall.rasi -dmenu -i -p "")
local matching=$( (echo "${all_notes}") | grep "^${note}$")
if [[ -n "${matching}" ]]; then
local new_notes=$( (echo "${all_notes}") | grep -v "^${note}$" )
else
local new_notes=$( (echo -e "${all_notes}\n${note}") | grep -v "^$")
fi
echo "${new_notes}" > "${NOTES_FILE}"
}
main
================================================
FILE: .local/bin/rofi_notif_center.sh
================================================
#!/usr/bin/env bash
#set -euo pipefail
##### Useful settings #####
# Directory to search for icons
directory="/usr/share/icons/Nord-Icon/48x48/"
#In case there is no icon path provided, use appname to guess icons
use_appname=true
###########################
### Raw data
raw=$(tac /tmp/dunstlog)
appname=$(echo -n "$raw" | sed -n '1~6p')
to_rofi=$(echo -n "$raw" | sed -n '2~6p;3~6p' | sed 's/\&/&/g')
icon=$(echo -n "$raw" | sed -n '4~6p' | while read -r line; do echo "$line"; done)
urgency=$(echo -n "$raw" | sed -n '5~6p')
timestamp=$(echo -n "$raw" | sed -n '6~6p')
### Create Icon list to parse through with rofi
while IFS= read -r i; do
if [[ -f "$i" ]]; then
full_path="$i\n"
elif [[ -n "$i" ]]; then
incomplete_icon_path=$(fd "$i" "$directory" | head -1)
full_path="${incomplete_icon_path}\n"
else
full_path="\n"
fi
icon_paths_list="${icon_paths_list}${full_path}"
done <<< "$icon"
### Create list of rows that are "active" i.e. low urgency for the -a flag on rofi
count=0
while IFS= read -r u; do
if [[ "$u" == *"LOW"* ]]; then
active_list=${active_list}${active_list:+,}$count
count=$((count+1))
else
count=$((count+1))
fi
done <<< "$urgency"
### Create list of urgent rows for rofi
count=0
while IFS= read -r u; do
if [[ "$u" == *"CRITICAL"* ]]; then
urgent_list=${urgent_list}${urgent_list:+,}$count
count=$((count+1))
else
count=$((count+1))
fi
done <<< "$urgency"
### Guess icon with appname
readarray -t app_array < <(echo -en "$appname")
app_array=( "${app_array[@],,}" )
##FIXME: if first notification doesnt have an icon path, notif center will only show latest notification. current workaround is to
##enable dunst startup notification
readarray -t icon_path_array < <(echo -en "$icon_paths_list")
if $use_appname; then
for i in "${!icon_path_array[@]}"; do
if [ -z "${icon_path_array[$i]}" ]; then
icon_path_array[$i]="${app_array[$i]}"
fi
done
fi
### Bold appname
readarray -t timestamp_array < <(echo -en "$timestamp")
count=0
while IFS= read -r a; do
app_spaces=$(printf %-42.42s "$a")
embolden_app="${embolden_app}${embolden_app:+\n}$app_spaces${timestamp_array[$count]}"
count=$((count+1))
done <<< "$appname"
### insert embolden appname
summary_line=0
body_line=1
readarray -t appname_array < <(echo -en "$embolden_app")
readarray -t to_rofi_array < <(echo -en "$to_rofi")
for a in "${appname_array[@]}"; do
app_merge="${app_merge}${app_merge:+\n}$a\n${to_rofi_array[$summary_line]}\n${to_rofi_array[$body_line]}"
summary_line=$((summary_line+2))
body_line=$((body_line+2))
done
### Insert icon paths
appname_line=0
summary_line=1
body_line=2
readarray -t merged_app_array < <(echo -en "$app_merge")
for i in "${icon_path_array[@]}"; do
merge="${merged_app_array[$body_line]}\\\0icon\\\x1f${i}"
amend="${amend}${amend:+\n}${merged_app_array[$appname_line]}\n${merged_app_array[$summary_line]}\n$merge"
appname_line=$((appname_line+3))
summary_line=$((summary_line+3))
body_line=$((body_line+3))
done
### Final prep
separation=$(sed '0~3 s/$/\x0f/g' <(echo -en "$amend"))
final_rofi=$(sed ':a;/\x0f$/{N;s/\n//;ba}' <(echo -n "$separation"))
### Eventual Final command to be executed
selection=$(echo -ne "$final_rofi" | rofi -markup-rows -theme ~/.config/rofi/configNotif.rasi -dmenu -eh 3 -a "$active_list" -u "$urgent_list" -sep '\x0f' -p "Notification Center" -no-fixed-num-lines -lines 8 -i -no-config)
### If a notification was selected, delete it from the logs
if [ -n "$selection" ]; then
remove_markup=$(echo -n "$selection" | sed -e 's/<[^>]*>//g')
extract_date="${remove_markup:42:8}"
remove_whitespace=$(echo -ne "$remove_markup" | sed '1~3 s/\s.*$//')
add_timestamp="$remove_whitespace\n.*\n.*\n$extract_date\n"
reverse_search=$(tac <(echo -ne "$add_timestamp") | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
sed -i "N;N;N;N;N; /^$reverse_search$/d" /tmp/dunstlog
fi
================================================
FILE: .local/bin/screensaver
================================================
#!/usr/bin/env bash
#for mon_id in $(bspc query -M); do
# bspc rule -a '*:*' -o monitor="$mon_id"
# urxvt -name cmatrixterm -e zsh -ic "timeout 178 cbonsai -S -M 20 -L 105 -b 2" & #unimatrix -fans 88 -l 'o' -t 178 &
# bspc subscribe node_add -c 1 > /dev/null
#done
#wait -n
#jobs -rp | xargs -r -n1 kill
#tmux new-session -d -s matrix timeout 178 pipes.sh -t 1 -r 8000 #cbonsai -i -M 15 -L 150 -b 2 -m "$(fortune -e tao wisdom science medicine)"
#unimatrix -fans 88 -l 'o' -t 178
#urxvt -name cmatrixterm -e tmux attach -t matrix \; set status off & disown
alacritty -o window.startup_mode=Fullscreen --class cmatrixterm -e bash -c 'sleep 0.2; timeout 178 pipes.sh -t 1 -r 8000'
#-o window.startup_mode=Fullscreen
#tmux attach -t matrix \; set status off & disown
#sleep 0.1
#qtile cmd-obj -o window -f toggle_fullscreen
#wid=$(xdotool search --classname "cmatrixterm")
#xdotool windowmove $wid -3 -3
#xdotool windowsize $wid 100% 100%
#wmctrl -r matrix -b toggle,fullscreen
================================================
FILE: .local/bin/toggle_qbar.sh
================================================
#!/usr/bin/env bash
status=$(eww windows | grep "*" | wc -l)
if [ $status -eq 3 ]; then
qtile cmd-obj -o cmd -f hide_show_bar -a top
qtile cmd-obj -o cmd -f eval -a "self.current_screen.top.size += 18" && qtile cmd-obj -o cmd -f eval -a "self.current_group.layout_all()"
#feh-blur -s
#feh --no-fehbg --bg-fill ~/Pictures/colors/242831.png
#cky &
else
#pkill -f conky
#feh-blur --darken 0 -b 6 &
qtile cmd-obj -o cmd -f eval -a "self.current_screen.top.size -= 18" && qtile cmd-obj -o cmd -f eval -a "self.current_group.layout_all()"
qtile cmd-obj -o cmd -f hide_show_bar -a top
fi
================================================
FILE: .local/bin/toggledunst
================================================
#!/bin/sh
if [ "$(dunstctl is-paused)" = "false" ];
then
dunstify -u normal -a dunst -t 3000 -r 669 "Dunst disabled"
sleep 3
dunstctl set-paused true
polybar-msg hook dunst 2
else
dunstctl set-paused false
dunstify -u normal -a dunst -t 3000 -r 669 "Dunst enabled"
polybar-msg hook dunst 1
fi
================================================
FILE: .local/bin/togglepicom
================================================
#!/bin/sh
if pidof picom;
then
killall picom;
notify-send -a Picom -i /usr/share/icons/Nord-Icon/48x48/apps/picom.svg -u normal -t 3000 "Picom killed"
#dunstify -u normal -r 609 -t 3000 "Picom killed"
else
picom --experimental-backends &
notify-send -a Picom -i /usr/share/icons/Nord-Icon/48x48/apps/picom.svg -u normal -t 3000 "Picom Started"
#dunstify -u normal -r 609 -t 3000 "Picom Started"
fi
================================================
FILE: .local/bin/updates.sh
================================================
#!/bin/sh
export PATH="/home/barbarossa/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"
export DISPLAY=":0"
export XAUTHORITY="/home/barbarossa/.Xauthority"
export XDG_RUNTIME_DIR="/run/user/1000"
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
updates_arch=0
fi
if ! updates_aur=$(paru -Qua 2> /dev/null | wc -l); then
updates_aur=0
fi
updates=$(("$updates_arch" + "$updates_aur"))
if [ "$updates" -gt 0 ]; then
#echo " $updates"
notify-send -u normal -t 3000 -a Pacman -i /usr/share/icons/Nord-Icon/48x48/apps/system-software-update.svg "Updates: $updates"
else
echo ""
fi
================================================
FILE: .local/bin/vol
================================================
#!/bin/sh
color="#afb7d2'>"
col="