Compare commits
No commits in common. "master" and "rounded" have entirely different histories.
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +0,0 @@
|
||||
*.css.map
|
||||
10
README.md
10
README.md
@ -1,10 +0,0 @@
|
||||
# Polybar scripts
|
||||
|
||||
Clone polybar-scripts into `.config`. Some scripts can be used to check differences with the local copies. Polybar-scripts is not included in the chezmoi repo anymore, only modified copies of selected scripts.
|
||||
|
||||
`git clone https://github.com/polybar/polybar-scripts.git ~/.config/`
|
||||
|
||||
|
||||
# Dependencies
|
||||
|
||||
Install dependencies by executing the script contained in this repository.
|
||||
@ -13,10 +13,6 @@ URxvt.background: [90]#1d2021
|
||||
!URxvt.transparent: true
|
||||
!URxvt.shading: 10
|
||||
|
||||
! Font settings I found on forum
|
||||
URxvt.utf8: true
|
||||
URxvt.locale: true
|
||||
|
||||
! Included this so you know how to make your foreground not match the color of your background
|
||||
! light0_hard gruvbox
|
||||
URxvt.foreground: #f9f5d7
|
||||
@ -30,22 +26,16 @@ URxvt*saveLines: 65500
|
||||
URxvt*loginShell: false
|
||||
!URxvt*termName: screen-256color
|
||||
|
||||
! Warning! For some font sizes, nerd fonts don't render particular glyphs correctly (✘, for example)
|
||||
{{- if (or (eq .chezmoi.hostname "nielanjo") (eq .chezmoi.hostname "jnielandt") (eq .chezmoi.hostname "zaptorjezus")) }}
|
||||
URxvt.font: xft:Hasklug Nerd Font Mono:size=11:antialias=true
|
||||
URxvt.boldfont: xft:Hasklug Nerd Font Mono:bold:size=11:antialias=true
|
||||
!URxvt.font: xft:OverpassMono Nerd Font:size=10:antialias=true
|
||||
!URxvt.font: xft:OverpassMono Nerd Font:size=10:antialias=true
|
||||
!URxvt.font: xft:Fura Code Nerd Font Mono:size=10:antialias=true
|
||||
!URxvt.font: xft:Hasklug Nerd Font Mono:size=10:antialias=true
|
||||
!URxvt.boldfont: xft:Hasklug Nerd Font Mono:bold:size=10
|
||||
{{- if eq .chezmoi.hostname "carbonraptor" }}
|
||||
URxvt.font: xft:Fura Code Nerd Font Mono:size=10:antialias=true
|
||||
URxvt.boldfont: xft:Fura Code Nerd Font Mono:bold:size=10
|
||||
{{- else }}
|
||||
URxvt.font: xft:Hasklug Nerd Font Mono:size=8:antialias=true
|
||||
URxvt.boldfont: xft:Hasklug Nerd Font Mono:bold:size=8
|
||||
URxvt.font: xft:Fura Code Nerd Font Mono:size=8:antialias=true
|
||||
URxvt.boldfont: xft:Fura Code Nerd Font Mono:bold:size=8
|
||||
{{- end }}
|
||||
|
||||
! Give us a nice cursor then
|
||||
Xcursor.theme: Breeze_Obsidian
|
||||
Xcursor.theme: Breeze
|
||||
Xcursor.size: 16
|
||||
|
||||
! -----------------------------------------------------------------------------
|
||||
|
||||
@ -1,911 +0,0 @@
|
||||
# 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: 10
|
||||
y: 10
|
||||
|
||||
# Spread additional padding evenly around the terminal content.
|
||||
#dynamic_padding: false
|
||||
|
||||
# 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"
|
||||
|
||||
# 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.
|
||||
opacity: 0.9
|
||||
|
||||
# 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
|
||||
#family: FiraCode Nerd Font Mono
|
||||
family: Hasklug Nerd Font Mono
|
||||
|
||||
# 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
|
||||
family: Hasklug Nerd Font Mono
|
||||
|
||||
# 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
|
||||
family: Hasklug Nerd Font Mono
|
||||
|
||||
# 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
|
||||
family: Hasklug Nerd Font Mono
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Bold Italic
|
||||
|
||||
# Point size
|
||||
size: 9.0
|
||||
|
||||
# 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
|
||||
|
||||
# Use built-in font for box drawing characters.
|
||||
#
|
||||
# If `true`, Alacritty will use a custom built-in font for box drawing
|
||||
# characters (Unicode points 2500 - 259f).
|
||||
#
|
||||
#builtin_box_drawing: true
|
||||
|
||||
# If `true`, bold text is drawn using the bright color variants.
|
||||
#draw_bold_text_with_bright_colors: false
|
||||
|
||||
# Colors (Gruvbox Material Dark Medium)
|
||||
colors:
|
||||
primary:
|
||||
background: '0x282828'
|
||||
foreground: '0xdfbf8e'
|
||||
|
||||
normal:
|
||||
black: '0x665c54'
|
||||
red: '0xea6962'
|
||||
green: '0xa9b665'
|
||||
yellow: '0xe78a4e'
|
||||
blue: '0x7daea3'
|
||||
magenta: '0xd3869b'
|
||||
cyan: '0x89b482'
|
||||
white: '0xdfbf8e'
|
||||
|
||||
bright:
|
||||
black: '0x928374'
|
||||
red: '0xea6962'
|
||||
green: '0xa9b665'
|
||||
yellow: '0xe3a84e'
|
||||
blue: '0x7daea3'
|
||||
magenta: '0xd3869b'
|
||||
cyan: '0x89b482'
|
||||
white: '0xdfbf8e'
|
||||
|
||||
# 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/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/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/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#matches:
|
||||
# foreground: '#000000'
|
||||
# background: '#ffffff'
|
||||
#focused_match:
|
||||
# foreground: '#ffffff'
|
||||
# background: '#000000'
|
||||
|
||||
#bar:
|
||||
# background: '#c5c8c6'
|
||||
# foreground: '#1d1f21'
|
||||
|
||||
# Keyboard regex hints
|
||||
#hints:
|
||||
# First character in the hint label
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#start:
|
||||
# foreground: '#1d1f21'
|
||||
# background: '#e9ff5e'
|
||||
|
||||
# All characters after the first one in the hint label
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#end:
|
||||
# foreground: '#e9ff5e'
|
||||
# background: '#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/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: []
|
||||
|
||||
# Transparent cell backgrounds
|
||||
#
|
||||
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||
# the default background. When set to `true` all cells will be transparent
|
||||
# regardless of their background color.
|
||||
#transparent_background_colors: false
|
||||
#
|
||||
|
||||
|
||||
# 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
|
||||
|
||||
#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: Block
|
||||
|
||||
# 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: Off
|
||||
|
||||
# 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/zsh
|
||||
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
|
||||
|
||||
# Offer IPC using `alacritty msg` (unix only)
|
||||
#ipc_socket: 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
|
||||
|
||||
# Regex hints
|
||||
#
|
||||
# Terminal hints can be used to find text in the visible part of the terminal
|
||||
# and pipe it to other applications.
|
||||
#hints:
|
||||
# Keys used for the hint labels.
|
||||
#alphabet: "jfkdls;ahgurieowpq"
|
||||
|
||||
# List with all available hints
|
||||
#
|
||||
# Each hint must have a `regex` and either an `action` or a `command` field.
|
||||
# The fields `mouse`, `binding` and `post_processing` are optional.
|
||||
#
|
||||
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
|
||||
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
|
||||
#
|
||||
# The `mouse.enabled` field controls if the hint should be underlined while
|
||||
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
||||
#
|
||||
# If the `post_processing` field is set to `true`, heuristics will be used to
|
||||
# shorten the match if there are characters likely not to be part of the hint
|
||||
# (e.g. a trailing `.`). This is most useful for URIs.
|
||||
#
|
||||
# Values for `action`:
|
||||
# - Copy
|
||||
# Copy the hint's text to the clipboard.
|
||||
# - Paste
|
||||
# Paste the hint's text to the terminal or search.
|
||||
# - Select
|
||||
# Select the hint's text.
|
||||
# - MoveViModeCursor
|
||||
# Move the vi mode cursor to the beginning of the hint.
|
||||
#enabled:
|
||||
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||
# command: xdg-open
|
||||
# post_processing: true
|
||||
# mouse:
|
||||
# enabled: true
|
||||
# mods: None
|
||||
# binding:
|
||||
# key: U
|
||||
# mods: Control|Shift
|
||||
|
||||
# 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 for actions not exclusive to mouse mode)
|
||||
#
|
||||
# - Mouse exclusive actions:
|
||||
#
|
||||
# - ExpandSelection
|
||||
# Expand the selection to the current mouse cursor location.
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods` (see key bindings)
|
||||
#mouse_bindings:
|
||||
# - { mouse: Right, action: ExpandSelection }
|
||||
# - { mouse: Right, mods: Control, action: ExpandSelection }
|
||||
# - { mouse: Middle, mode: ~Vi, 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.
|
||||
# - CreateNewWindow
|
||||
# Create a new Alacritty window from the current process.
|
||||
# - ClearLogNotice
|
||||
# Clear Alacritty's UI warning and error notice.
|
||||
# - ClearSelection
|
||||
# Remove the active selection.
|
||||
# - ReceiveChar
|
||||
# - None
|
||||
#
|
||||
# - Vi mode exclusive actions:
|
||||
#
|
||||
# - Open
|
||||
# Perform the action of the first matching hint under the vi mode cursor
|
||||
# with `mouse.enabled` set to `true`.
|
||||
# - 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: ~Search, action: ToggleViMode }
|
||||
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { 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: H, mods: Command|Alt, action: HideOtherApplications }
|
||||
#- { 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
|
||||
@ -1,172 +0,0 @@
|
||||
;;; $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. It is optional.
|
||||
(setq user-full-name "Joachim Nielandt"
|
||||
user-mail-address "joachim@nielandt.be")
|
||||
|
||||
;; Doom exposes five (optional) variables for controlling fonts in Doom:
|
||||
;;
|
||||
;; - `doom-font' -- the primary font to use
|
||||
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
|
||||
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
|
||||
;; presentations or streaming.
|
||||
;; - `doom-unicode-font' -- for unicode glyphs
|
||||
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
|
||||
;;
|
||||
;; See 'C-h v doom-font' for documentation and more examples of what they
|
||||
;; accept. For example:
|
||||
;;
|
||||
;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
|
||||
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
|
||||
;;
|
||||
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
|
||||
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
||||
;; refresh your font settings. If Emacs still can't find your font, it likely
|
||||
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
||||
|
||||
;; 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-one)
|
||||
(setq doom-theme 'doom-gruvbox)
|
||||
|
||||
;; Set font
|
||||
;; (setq doom-font (font-spec :family "FiraCode Nerd Font Mono" :size 12 :weight 'semi-light)
|
||||
;; doom-unicode-font (font-spec :family "FiraCode Nerd Font Mono" :size 12 :weight 'semi-light)
|
||||
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
|
||||
;;
|
||||
;; (font-spec :family "Fira Sans") ; nice, but not mono
|
||||
(setq doom-font (font-spec :family "Hasklug Nerd Font Mono")
|
||||
doom-unicode-font (font-spec :family "Hasklug Nerd Font Mono"))
|
||||
;; doom-variable-pitch-font (font-spec :family "Fira Sans")
|
||||
|
||||
;; 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 'relative)
|
||||
(setq display-line-numbers-widen 'true)
|
||||
|
||||
;; 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 (file-truename "~/org-roam"))
|
||||
|
||||
;; Whenever you reconfigure a package, make sure to wrap your config in an
|
||||
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
|
||||
;;
|
||||
;; (after! PACKAGE
|
||||
;; (setq x y))
|
||||
;;
|
||||
;; The exceptions to this rule:
|
||||
;;
|
||||
;; - Setting file/directory variables (like `org-directory')
|
||||
;; - Setting variables which explicitly tell you to set them before their
|
||||
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
|
||||
;; - Setting doom variables (which start with 'doom-' or '+').
|
||||
;;
|
||||
;; Here are some additional functions/macros that will 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.
|
||||
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
|
||||
;; etc).
|
||||
;;
|
||||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||
;; they are implemented.
|
||||
|
||||
;; Remapping for clojure / lisp? / ...
|
||||
(map! "<C-left>" #'sp-backward-slurp-sexp)
|
||||
(map! "<C-right>" #'sp-forward-slurp-sexp)
|
||||
(map! "<M-left>" #'sp-backward-barf-sexp)
|
||||
(map! "<M-right>" #'sp-forward-barf-sexp)
|
||||
|
||||
;; modify the evil escape key sequence - this was originally 'jk' and very annoying
|
||||
(setq-default evil-escape-key-sequence "pz")
|
||||
|
||||
; configure org-roam
|
||||
(setq org-roam-directory (file-truename "~/org-roam"))
|
||||
(after! org-roam
|
||||
(setq org-roam-capture-templates
|
||||
`(("n" "default note" plain (file "~/org-roam/templates/default.org")
|
||||
:if-new
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "")
|
||||
:unnarrowed t)
|
||||
("p" "person" plain (file "~/org-roam/templates/person.org")
|
||||
:if-new
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "")
|
||||
:immediate-finish t
|
||||
:unnarrowed t)
|
||||
("m" "meeting" plain (file "~/org-roam/templates/meeting.org")
|
||||
:if-new
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "")
|
||||
:unnarrowed t)
|
||||
)
|
||||
)
|
||||
|
||||
; adapt indentation in org files for _all_ lines (headings and content)
|
||||
(setq org-adapt-indentation t)
|
||||
|
||||
; found these here https://lucidmanager.org/productivity/ricing-org-mode/
|
||||
(setq org-startup-indented t
|
||||
org-pretty-entities t
|
||||
org-hide-emphasis-markers t
|
||||
org-startup-with-inline-images t
|
||||
org-image-actual-width '(300)))
|
||||
|
||||
; enable org-download
|
||||
; https://github.com/abo-abo/org-download
|
||||
(require 'org-download)
|
||||
; configure org-download
|
||||
(after! org-download
|
||||
(setq-default org-download-image-dir "~/org-roam/images")
|
||||
;; Drag-and-drop to `dired`
|
||||
(add-hook 'dired-mode-hook 'org-download-enable))
|
||||
|
||||
; TODO should use (concat (file-name-as-directory dirfile) relfile)
|
||||
|
||||
; enable chezmoi
|
||||
(use-package chezmoi)
|
||||
|
||||
; make sure image previews have sane default widths
|
||||
(setq org-image-actual-width (truncate (* (window-pixel-width) 0.8)))
|
||||
|
||||
; https://github.com/ryuslash/git-auto-commit-mode
|
||||
(use-package! git-auto-commit-mode
|
||||
:config
|
||||
(setq-default gac-debounce-interval 300)
|
||||
(setq-default gac-automatically-push-p t))
|
||||
|
||||
; make sure appear-mode is enabled in org-mode
|
||||
(add-hook! org-mode :append #'org-appear-mode)
|
||||
|
||||
;; Nice bullets
|
||||
(use-package! org-superstar
|
||||
:config
|
||||
(setq org-superstar-special-todo-items t)
|
||||
; alternatives: ? ? ? ? ?
|
||||
(setq org-superstar-headline-bullets-list '(? ? ? ?))
|
||||
(add-hook 'org-mode-hook (lambda ()
|
||||
(org-superstar-mode 1))))
|
||||
|
||||
; disable evil snipe mode (modifies the default 's' key)
|
||||
(remove-hook 'doom-first-input-hook #'evil-snipe-mode)
|
||||
|
||||
; enable vimrc mode
|
||||
(require 'vimrc-mode)
|
||||
(add-to-list 'auto-mode-alist '("\\.vim\\(rc\\)?\\'" . vimrc-mode))
|
||||
|
||||
; add binding for consult-find
|
||||
(map! :leader :desc "Consult find" "n r c" #'consult-find)
|
||||
@ -1,194 +0,0 @@
|
||||
;;; 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
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
(vc-gutter +pretty) ; vcs diff in the fringe
|
||||
;;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
|
||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
||||
;;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 +roam2) ; 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 +lsp) ; 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))
|
||||
@ -1,83 +0,0 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; $DOOMDIR/packages.el
|
||||
|
||||
;; 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 SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
||||
;(package! some-package)
|
||||
|
||||
;; 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/radian-software/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 radian-software/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)
|
||||
|
||||
; install clojure and cider
|
||||
(package! cider)
|
||||
; rectify some lacking bindings for evil mode
|
||||
(package! evil-collection)
|
||||
; add groovy / grails support
|
||||
(package! groovy-mode)
|
||||
; allows the terraform files to be properly read
|
||||
(package! terraform-mode)
|
||||
; add typescript major mode
|
||||
(package! typescript-mode)
|
||||
; chezmoi management functions
|
||||
(package! chezmoi)
|
||||
; powershell support
|
||||
(package! powershell)
|
||||
; enable image handling in org mode
|
||||
(package! org-download)
|
||||
; org-ql for clever orgmode searches
|
||||
(package! org-ql)
|
||||
; auto commit to git
|
||||
(package! git-auto-commit-mode)
|
||||
; make emphasis markers appear when cursor is close
|
||||
(package! org-appear)
|
||||
; nice bullets
|
||||
(package! org-superstar)
|
||||
; yaml support
|
||||
(package! yaml-mode)
|
||||
; enable ripgrep
|
||||
(package! ripgrep)
|
||||
; enable dockerfile major mode
|
||||
(package! dockerfile-mode)
|
||||
; enable vimscript
|
||||
(package! vimrc-mode)
|
||||
@ -1,5 +1,3 @@
|
||||
# See dunst(5) for all configuration options
|
||||
|
||||
[global]
|
||||
### Display ###
|
||||
|
||||
@ -19,61 +17,41 @@
|
||||
# will be ignored.
|
||||
follow = mouse
|
||||
|
||||
### Geometry ###
|
||||
# The geometry of the window:
|
||||
# [{width}]x{height}[+/-{x}+/-{y}]
|
||||
# The geometry of the message window.
|
||||
# The height is measured in number of notifications everything else
|
||||
# in pixels. If the width is omitted but the height is given
|
||||
# ("-geometry x2"), the message window expands over the whole screen
|
||||
# (dmenu-like). If width is 0, the window expands to the longest
|
||||
# message displayed. A positive x is measured from the left, a
|
||||
# negative from the right side of the screen. Y is measured from
|
||||
# the top and down respectively.
|
||||
# The width can be negative. In this case the actual width is the
|
||||
# screen width minus the width defined in within the geometry option.
|
||||
geometry = "300x5-0+54"
|
||||
|
||||
# dynamic width from 0 to 300
|
||||
# width = (0, 300)
|
||||
# constant width of 300
|
||||
width = 300
|
||||
|
||||
# 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 = 10x50
|
||||
|
||||
# Scale factor. It is auto-detected if value is 0.
|
||||
scale = 0
|
||||
|
||||
# Maximum number of notification (0 means no limit)
|
||||
notification_limit = 0
|
||||
|
||||
### Progress bar ###
|
||||
|
||||
# Turn on the progess bar. It appears when a progress hint is passed with
|
||||
# for example dunstify -h int:value:12
|
||||
progress_bar = true
|
||||
|
||||
# Set the progress bar height. This includes the frame, so make sure
|
||||
# it's at least twice as big as the frame width.
|
||||
progress_bar_height = 10
|
||||
|
||||
# Set the frame width of the progress bar
|
||||
progress_bar_frame_width = 1
|
||||
|
||||
# Set the minimum width for the progress bar
|
||||
progress_bar_min_width = 150
|
||||
|
||||
# Set the maximum width for the progress bar
|
||||
progress_bar_max_width = 300
|
||||
|
||||
|
||||
# Show how many messages are currently hidden (because of
|
||||
# notification_limit).
|
||||
# Show how many messages are currently hidden (because of geometry).
|
||||
indicate_hidden = yes
|
||||
|
||||
# Shrink window if it's smaller than the width. Will be ignored if
|
||||
# width is 0.
|
||||
shrink = no
|
||||
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing window manager is
|
||||
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||
# present (e.g. xcompmgr, compiz, etc.).
|
||||
transparency = 0
|
||||
|
||||
# The height of the entire notification. If the height is smaller
|
||||
# than the font height and padding combined, it will be raised
|
||||
# to the font height and padding.
|
||||
notification_height = 0
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
separator_height = 2
|
||||
separator_height = 1
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
@ -81,12 +59,9 @@
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Padding between text and icon.
|
||||
text_icon_padding = 0
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 3
|
||||
frame_width = 1
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
#frame_color = "#aaaaaa"
|
||||
@ -107,9 +82,8 @@
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# A client can set the 'transient' hint to bypass this. See the rules
|
||||
# section for how to disable this if necessary
|
||||
# idle_threshold = 120
|
||||
# Transient notifications ignore this setting.
|
||||
idle_threshold = 120
|
||||
|
||||
### Text ###
|
||||
|
||||
@ -128,7 +102,7 @@
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <https://developer.gnome.org/pango/stable/pango-Markup.html>.
|
||||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
@ -142,7 +116,7 @@
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
markup = no
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
@ -160,26 +134,26 @@
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = left
|
||||
|
||||
# Vertical alignment of message text and icon.
|
||||
# Possible values are "top", "center" and "bottom".
|
||||
vertical_alignment = center
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Specify where to make an ellipsis in long lines.
|
||||
# Split notifications into multiple lines if they don't fit into
|
||||
# geometry.
|
||||
word_wrap = yes
|
||||
|
||||
# When word_wrap is set to no, specify where to ellipsize long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Stack together notifications with the same content
|
||||
# Merge multiple notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of stacked notifications with the same content
|
||||
# Hide the count of merged notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
@ -190,16 +164,12 @@
|
||||
# Align icons left/right/off
|
||||
icon_position = left
|
||||
|
||||
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||
# max_icon_size takes precedence over this.
|
||||
min_icon_size = 0
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 32
|
||||
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
#icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/:/usr/share/icons/hicolor/22x22/apps/
|
||||
|
||||
### History ###
|
||||
|
||||
@ -216,7 +186,7 @@
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/xdg-open
|
||||
browser = /usr/bin/firefox -new-tab
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
@ -227,28 +197,10 @@
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# in pixel size. If the radius is 0, you have no rounded
|
||||
# corners.
|
||||
# The radius will be automatically lowered if it exceeds half of the
|
||||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 0
|
||||
|
||||
# Ignore the dbus closeNotification message.
|
||||
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||
# parameter, an application may close the notification sent before the
|
||||
# user defined timeout.
|
||||
ignore_dbusclose = false
|
||||
|
||||
### Wayland ###
|
||||
# These settings are Wayland-specific. They have no effect when using X11
|
||||
|
||||
# Uncomment this if you want to let notications appear under fullscreen
|
||||
# applications (default: overlay)
|
||||
# layer = top
|
||||
|
||||
# Set this to true to use X11 output on Wayland.
|
||||
force_xwayland = false
|
||||
# Print a notification on startup.
|
||||
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||
# automatically after a crash.
|
||||
startup_notification = false
|
||||
|
||||
### Legacy
|
||||
|
||||
@ -262,25 +214,6 @@
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
### mouse
|
||||
|
||||
# Defines list of actions for each mouse event
|
||||
# Possible values are:
|
||||
# * none: Don't do anything.
|
||||
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||
# such action, open the context menu.
|
||||
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||
# ones, open the context menu.
|
||||
# * close_current: Close current notification.
|
||||
# * close_all: Close all notifications.
|
||||
# * context: Open context menu for the notification.
|
||||
# * context_all: Open context menu for all notifications.
|
||||
# These values can be strung together for each mouse event, and
|
||||
# will be executed in sequence.
|
||||
mouse_left_click = close_current
|
||||
mouse_middle_click = do_action, close_current
|
||||
mouse_right_click = close_all
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
@ -291,13 +224,34 @@
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
[shortcuts]
|
||||
|
||||
# Shortcuts are specified as [modifier+][modifier+]...key
|
||||
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
|
||||
# "mod3" and "mod4" (windows-key).
|
||||
# Xev might be helpful to find names for keys.
|
||||
|
||||
# Close notification.
|
||||
close = ctrl+space
|
||||
|
||||
# Close all notifications.
|
||||
close_all = ctrl+shift+space
|
||||
|
||||
# Redisplay last message(s).
|
||||
# On the US keyboard layout "grave" is normally above TAB and left
|
||||
# of "1". Make sure this key actually exists on your keyboard layout,
|
||||
# e.g. check output of 'xmodmap -pke'
|
||||
history = ctrl+grave
|
||||
|
||||
# Context menu.
|
||||
context = ctrl+shift+period
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#32302f"
|
||||
foreground = "#ebdbb2"
|
||||
timeout = 20
|
||||
timeout = 10
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
|
||||
@ -305,7 +259,7 @@
|
||||
background = "#32302f"
|
||||
foreground = "#ebdbb2"
|
||||
frame_color = "#b8bb26"
|
||||
timeout = 60
|
||||
timeout = 10
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
|
||||
@ -319,37 +273,11 @@
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
#
|
||||
# Messages can be matched by
|
||||
# appname (discouraged, see desktop_entry)
|
||||
# body
|
||||
# category
|
||||
# desktop_entry
|
||||
# icon
|
||||
# match_transient
|
||||
# msg_urgency
|
||||
# stack_tag
|
||||
# summary
|
||||
#
|
||||
# and you can override the
|
||||
# background
|
||||
# foreground
|
||||
# format
|
||||
# frame_color
|
||||
# fullscreen
|
||||
# new_icon
|
||||
# set_stack_tag
|
||||
# set_transient
|
||||
# timeout
|
||||
# urgency
|
||||
# action_name
|
||||
#
|
||||
# Messages can be matched by "appname", "summary", "body", "icon", "category",
|
||||
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
|
||||
# "background", "new_icon" and "format".
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||
# the desktop-entry won't get localized.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
@ -357,33 +285,11 @@
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: if you don't want a notification to be displayed, set the format
|
||||
# to "".
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||
# client
|
||||
#[transient_disable]
|
||||
# match_transient = yes
|
||||
# set_transient = no
|
||||
#
|
||||
# Make the handling of transient notifications more strict by making them not
|
||||
# be placed in history.
|
||||
#[transient_history_ignore]
|
||||
# match_transient = yes
|
||||
# history_ignore = yes
|
||||
|
||||
# fullscreen values
|
||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||
# delay: displays the new notification, if there is no fullscreen window active
|
||||
# If the notification is already drawn, it won't get undrawn.
|
||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||
# withdrawn from screen again and will get delayed like a new notification
|
||||
#[fullscreen_delay_everything]
|
||||
# fullscreen = delay
|
||||
#[fullscreen_show_critical]
|
||||
# msg_urgency = critical
|
||||
# fullscreen = show
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
@ -395,18 +301,13 @@
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# skip_display = true
|
||||
# format = ""
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[skip-display]
|
||||
# # This notification will not be displayed, but will be included in the history
|
||||
# summary = "foobar"
|
||||
# skip_display = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
@ -427,8 +328,4 @@
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
#[stack-volumes]
|
||||
# appname = "some_volume_notifiers"
|
||||
# set_stack_tag = "volume"
|
||||
#
|
||||
# vim: ft=cfg
|
||||
|
||||
@ -1,156 +0,0 @@
|
||||
# -*- conf -*-
|
||||
|
||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||
#term=foot-extra #(or xterm-256color if built with -Dterminfo=disabled)
|
||||
# login-shell=no
|
||||
|
||||
font=Hasklug Nerd Font:size=9
|
||||
# font-bold=<bold variant of regular font>
|
||||
# font-italic=<italic variant of regular font>
|
||||
# font-bold-italic=<bold+italic variant of regular font>
|
||||
# line-height=<font metrics>
|
||||
# letter-spacing=0
|
||||
# horizontal-letter-offset=0
|
||||
# vertical-letter-offset=0
|
||||
# underline-offset=<font metrics>
|
||||
# box-drawings-uses-font-glyphs=no
|
||||
# dpi-aware=yes
|
||||
|
||||
# initial-window-size-pixels=700x500 # Or,
|
||||
# initial-window-size-chars=<COLSxROWS>
|
||||
# initial-window-mode=windowed
|
||||
pad=5x5 # optionally append 'center'
|
||||
resize-delay-ms=50
|
||||
|
||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
||||
|
||||
# bold-text-in-bright=no
|
||||
# bell=none
|
||||
# word-delimiters=,│`|:"'()[]{}<>
|
||||
# selection-target=primary
|
||||
# workers=<number of logical CPUs>
|
||||
|
||||
[bell]
|
||||
# urgent=no
|
||||
# notify=no
|
||||
# command=
|
||||
# command-focused=no
|
||||
|
||||
[scrollback]
|
||||
lines=10000
|
||||
# multiplier=3.0
|
||||
# indicator-position=relative
|
||||
# indicator-format=
|
||||
|
||||
[url]
|
||||
# launch=xdg-open ${url}
|
||||
# label-letters=sadfjklewcmpgh
|
||||
# osc8-underline=url-mode
|
||||
# protocols = http, https, ftp, ftps, file, gemini, gopher
|
||||
|
||||
[cursor]
|
||||
# style=block
|
||||
color= 141a1b eeeeee
|
||||
# blink=no
|
||||
# beam-thickness=1.5
|
||||
# underline-thickness=<font underline thickness>
|
||||
|
||||
[mouse]
|
||||
# hide-when-typing=no
|
||||
# alternate-scroll-mode=yes
|
||||
|
||||
[colors]
|
||||
alpha=0.9
|
||||
foreground=eeeeee
|
||||
background=141a1b
|
||||
regular0=141a1B # black
|
||||
regular1=cd3f45 # red
|
||||
regular2=9fca56 # green
|
||||
regular3=e6cd69 # yellow
|
||||
regular4=16a085 # blue
|
||||
regular5=a074c4 # magenta
|
||||
regular6=55b5db # cyan
|
||||
regular7=d6d6d6 # white
|
||||
bright0=41535B # bright black
|
||||
bright1=cd3f45 # red
|
||||
bright2=9fca56 # green
|
||||
bright3=e6cd69 # yellow
|
||||
bright4=16a085 # blue
|
||||
bright5=a074c4 # magenta
|
||||
bright6=55b5db # cyan
|
||||
bright7=ffffff # bright white
|
||||
# 16 = <256-color palette #16>
|
||||
# ...
|
||||
# 255 = <256-color palette #255>
|
||||
# selection-foreground=<inverse foreground/background>
|
||||
# selection-background=<inverse foreground/background>
|
||||
# jump-labels=<regular0> <regular3>
|
||||
# urls=<regular3>
|
||||
|
||||
[csd]
|
||||
# preferred=server
|
||||
# size=26
|
||||
# color=<foreground color>
|
||||
# button-width=26
|
||||
# button-color=<background color>
|
||||
# button-minimize-color=<regular4>
|
||||
# button-maximize-color=<regular2>
|
||||
# button-close-color=<regular1>
|
||||
|
||||
[key-bindings]
|
||||
# scrollback-up-page=Shift+Page_Up
|
||||
# scrollback-up-half-page=none
|
||||
# scrollback-up-line=none
|
||||
# scrollback-down-page=Shift+Page_Down
|
||||
# scrollback-down-half-page=none
|
||||
# scrollback-down-line=none
|
||||
# clipboard-copy=Control+Shift+c
|
||||
# clipboard-paste=Control+Shift+v
|
||||
# primary-paste=Shift+Insert
|
||||
# search-start=Control+Shift+r
|
||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||
# font-decrease=Control+minus Control+KP_Subtract
|
||||
# font-reset=Control+0 Control+KP_0
|
||||
# spawn-terminal=Control+Shift+n
|
||||
# minimize=none
|
||||
# maximize=none
|
||||
# fullscreen=none
|
||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-selected=[xargs -r firefox] none
|
||||
# show-urls-launch=Control+Shift+u
|
||||
# show-urls-copy=none
|
||||
|
||||
[search-bindings]
|
||||
# cancel=Control+g Escape
|
||||
# commit=Return
|
||||
# find-prev=Control+r
|
||||
# find-next=Control+s
|
||||
# cursor-left=Left Control+b
|
||||
# cursor-left-word=Control+Left Mod1+b
|
||||
# cursor-right=Right Control+f
|
||||
# cursor-right-word=Control+Right Mod1+f
|
||||
# cursor-home=Home Control+a
|
||||
# cursor-end=End Control+e
|
||||
# delete-prev=BackSpace
|
||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||
# delete-next=Delete
|
||||
# delete-next-word=Mod1+d Control+Delete
|
||||
# extend-to-word-boundary=Control+w
|
||||
# extend-to-next-whitespace=Control+Shift+w
|
||||
# clipboard-paste=Control+v Control+y
|
||||
# primary-paste=Shift+Insert
|
||||
|
||||
[url-bindings]
|
||||
# cancel=Control+g Control+d Escape
|
||||
# toggle-url-visible=t
|
||||
|
||||
[mouse-bindings]
|
||||
# primary-paste=BTN_MIDDLE
|
||||
# select-begin=BTN_LEFT
|
||||
# select-begin-block=Control+BTN_LEFT
|
||||
# select-extend=BTN_RIGHT
|
||||
# select-extend-character-wise=Control+BTN_RIGHT
|
||||
# select-word=BTN_LEFT-2
|
||||
# select-word-whitespace=Control+BTN_LEFT-2
|
||||
# select-row=BTN_LEFT-3
|
||||
@ -1,114 +0,0 @@
|
||||
{
|
||||
"border": "normal",
|
||||
"floating": "auto_off",
|
||||
"layout": "splitv",
|
||||
"marks": [],
|
||||
"percent": 0.4,
|
||||
"type": "con",
|
||||
"nodes": [
|
||||
{
|
||||
"border": "pixel",
|
||||
"current_border_width": 2,
|
||||
"floating": "auto_off",
|
||||
"geometry": {
|
||||
"height": 982,
|
||||
"width": 1886,
|
||||
"x": 1937,
|
||||
"y": 713
|
||||
},
|
||||
"marks": [],
|
||||
"name": "Tron intorduction | Microsoft Teams",
|
||||
"percent": 0.7,
|
||||
"swallows": [
|
||||
{
|
||||
"class": "^Microsoft\\ Teams\\ \\-\\ Preview$",
|
||||
"instance": "^microsoft\\ teams\\ \\-\\ preview$",
|
||||
"machine": "^jnielandt$",
|
||||
"window_role": "^browser\\-window$"
|
||||
}
|
||||
],
|
||||
"type": "con"
|
||||
},
|
||||
{
|
||||
"border": "pixel",
|
||||
"current_border_width": 2,
|
||||
"floating": "auto_off",
|
||||
"geometry": {
|
||||
"height": 500,
|
||||
"width": 1000,
|
||||
"x": 1937,
|
||||
"y": 732
|
||||
},
|
||||
"marks": [],
|
||||
"name": "Discord",
|
||||
"percent": 0.3,
|
||||
"swallows": [
|
||||
{
|
||||
"class": "^discord$",
|
||||
"instance": "^discord$",
|
||||
"machine": "^jnielandt$",
|
||||
"window_role": "^browser\\-window$"
|
||||
}
|
||||
],
|
||||
"type": "con"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
{
|
||||
"border": "normal",
|
||||
"floating": "auto_off",
|
||||
"layout": "splitv",
|
||||
"marks": [],
|
||||
"percent": 0.6,
|
||||
"type": "con",
|
||||
"nodes": [
|
||||
{
|
||||
"border": "pixel",
|
||||
"current_border_width": 2,
|
||||
"floating": "auto_off",
|
||||
"geometry": {
|
||||
"height": 687,
|
||||
"width": 936,
|
||||
"x": 967,
|
||||
"y": 376
|
||||
},
|
||||
"marks": [],
|
||||
"name": "Slack | dn_dutch | DN",
|
||||
"percent": 0.7,
|
||||
"swallows": [
|
||||
{
|
||||
"class": "^Slack$",
|
||||
"instance": "^slack$",
|
||||
"machine": "^jnielandt$",
|
||||
"window_role": "^browser\\-window$"
|
||||
}
|
||||
],
|
||||
"type": "con"
|
||||
},
|
||||
{
|
||||
"border": "pixel",
|
||||
"current_border_width": 2,
|
||||
"floating": "auto_off",
|
||||
"geometry": {
|
||||
"height": 610,
|
||||
"width": 2526,
|
||||
"x": 1937,
|
||||
"y": 415
|
||||
},
|
||||
"marks": [],
|
||||
"name": "Signal",
|
||||
"percent": 0.3,
|
||||
"swallows": [
|
||||
{
|
||||
"class": "^Signal$",
|
||||
"instance": "^signal$",
|
||||
"machine": "^jnielandt$",
|
||||
"window_role": "^browser\\-window$"
|
||||
}
|
||||
],
|
||||
"type": "con"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,90 +0,0 @@
|
||||
# Enable Pango markup
|
||||
markup=1
|
||||
# Enable application to request an action associated with activating a notification
|
||||
actions=1
|
||||
|
||||
# Gruvbox Colors
|
||||
#set $dark0_hard #1d2021
|
||||
#set $dark0_hard_t #1d2021e6
|
||||
#set $dark0 #282828
|
||||
#set $dark0_t #282828e6
|
||||
#set $dark0_soft #32302f
|
||||
#set $dark1 #3c3836
|
||||
#set $dark2 #504945
|
||||
#set $dark3 #665c54
|
||||
#set $dark4 #7c6f64
|
||||
#set $gray_245 #928374
|
||||
#set $gray_244 #928374
|
||||
#set $light0_hard #f9f5d7
|
||||
#set $light0 #fbf1c7
|
||||
#set $light0_soft #f2e5bc
|
||||
#set $light1 #ebdbb2
|
||||
#set $light2 #d5c4a1
|
||||
#set $light3 #bdae93
|
||||
#set $light4 #a89984
|
||||
#set $bright_red #fb4934
|
||||
#set $bright_green #b8bb26
|
||||
#set $bright_yellow #fabd2f
|
||||
#set $bright_blue #83a598
|
||||
#set $bright_purple #d3869b
|
||||
#set $bright_aqua #8ec07c
|
||||
#set $bright_orange #fe8019
|
||||
#set $neutral_red #cc241d
|
||||
#set $neutral_green #98971a
|
||||
#set $neutral_yellow #d79921
|
||||
#set $neutral_blue #458588
|
||||
#set $neutral_purple #b16286
|
||||
#set $neutral_aqua #689d6a
|
||||
#set $neutral_orange #d65d0e
|
||||
#set $faded_red #9d0006
|
||||
#set $faded_green #79740e
|
||||
#set $faded_yellow #b57614
|
||||
#set $faded_blue #076678
|
||||
#set $faded_purple #8f3f71
|
||||
#set $faded_aqua #427b58
|
||||
#set $faded_orange #af3a03
|
||||
#set $transparent #ffffff00
|
||||
|
||||
# Format
|
||||
font=Hasklug Nerd Font 8
|
||||
border-color=#83a598
|
||||
border-size=2
|
||||
background-color=#1d2021e6
|
||||
text-color=#fdf6e3
|
||||
format=<b>%s</b> <span color="#93a1a1">(%a)</span>\n%b
|
||||
|
||||
# Icons
|
||||
icon-path=/usr/share/icons/Papirus-Adapta-Nokto-Maia:/usr/share/icons/Papirus-Maia:/usr/share/icons/Papirus
|
||||
|
||||
# Hidden format
|
||||
[hidden]
|
||||
format=Hidden: %h [%t]
|
||||
|
||||
[urgency=low]
|
||||
text-color=#93a1a1
|
||||
|
||||
[urgency=low actionable]
|
||||
border-color=#93a1a1
|
||||
|
||||
[urgency=normal actionable]
|
||||
border-color=#268bd2
|
||||
|
||||
[urgency=high]
|
||||
border-color=#cc241d
|
||||
|
||||
[urgency=high actionable]
|
||||
border-color=#fb4934
|
||||
|
||||
[app-name=playerctl]
|
||||
max-icon-size=96
|
||||
|
||||
[app-name=clementine]
|
||||
max-icon-size=96
|
||||
|
||||
[app-name=i3-hint]
|
||||
max-icon-size=48
|
||||
format=%s\n%b
|
||||
width=150
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=1
|
||||
@ -1,100 +0,0 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
# Install zgenom if needed
|
||||
if [[ ! -f $HOME/.zgenom/zgenom.zsh ]]; then
|
||||
print -P "Installing zgenom"
|
||||
git clone https://github.com/jandamm/zgenom.git "${HOME}/.zgenom" && \
|
||||
print -P " - Installation successful." || \
|
||||
print -P " - The clone has failed."
|
||||
fi
|
||||
|
||||
# load zgenom
|
||||
source "${HOME}/.zgenom/zgenom.zsh"
|
||||
|
||||
# Check for plugin and zgenom updates every 7 days
|
||||
# This does not increase the startup time.
|
||||
zgenom autoupdate
|
||||
|
||||
# if the init script doesn't exist
|
||||
if ! zgenom saved; then
|
||||
|
||||
# specify plugins here
|
||||
zgenom ohmyzsh
|
||||
zgenom ohmyzsh plugins/git
|
||||
zgenom ohmyzsh plugins/sudo
|
||||
zgenom ohmyzsh plugins/archlinux
|
||||
zgenom ohmyzsh plugins/command-not-found
|
||||
zgenom ohmyzsh plugins/common-aliases
|
||||
zgenom ohmyzsh plugins/copypath
|
||||
zgenom ohmyzsh plugins/copyfile
|
||||
zgenom ohmyzsh plugins/cp
|
||||
zgenom ohmyzsh plugins/dircycle
|
||||
zgenom ohmyzsh plugins/docker-compose
|
||||
zgenom ohmyzsh plugins/encode64
|
||||
zgenom ohmyzsh plugins/extract
|
||||
zgenom ohmyzsh plugins/fancy-ctrl-z
|
||||
zgenom ohmyzsh plugins/gem
|
||||
zgenom ohmyzsh plugins/git
|
||||
zgenom ohmyzsh plugins/git/git.plugin.zsh
|
||||
zgenom ohmyzsh plugins/golang
|
||||
zgenom ohmyzsh plugins/gpg-agent
|
||||
zgenom ohmyzsh plugins/history
|
||||
zgenom ohmyzsh plugins/node
|
||||
zgenom ohmyzsh plugins/npm
|
||||
zgenom ohmyzsh plugins/pip
|
||||
zgenom ohmyzsh plugins/rvm
|
||||
zgenom ohmyzsh plugins/svn
|
||||
zgenom ohmyzsh plugins/systemd
|
||||
zgenom ohmyzsh plugins/terraform
|
||||
zgenom ohmyzsh plugins/tmux
|
||||
zgenom ohmyzsh plugins/tmuxinator
|
||||
zgenom ohmyzsh plugins/urltools
|
||||
zgenom ohmyzsh plugins/vagrant
|
||||
zgenom ohmyzsh plugins/web-search
|
||||
|
||||
# prezto options
|
||||
zgenom prezto editor key-bindings 'emacs'
|
||||
zgenom prezto prompt theme 'sorin'
|
||||
|
||||
# This ZSH plugin enables using fzf to search your command history and do file searches.
|
||||
zgenom load unixorn/fzf-zsh-plugin
|
||||
|
||||
# Introduce 256 colors in terminal
|
||||
zgenom load chrissicool/zsh-256color
|
||||
|
||||
# Because your terminal should be able to perform tasks asynchronously without external tools!
|
||||
zgenom load mafredri/zsh-async
|
||||
|
||||
# simplistic interactive filtering tool
|
||||
zgenom load peco/peco
|
||||
|
||||
# Bookmarks and jump
|
||||
zgenom load jocelynmallon/zshmarks
|
||||
|
||||
# Enhanced dir list with git features
|
||||
zgenom load supercrabtree/k
|
||||
|
||||
# Jump back to parent directory
|
||||
zgenom load tarrasch/zsh-bd
|
||||
|
||||
zgenom load djui/alias-tips
|
||||
zgenom load hlissner/zsh-autopair
|
||||
|
||||
# search in zsh history
|
||||
zgenom load zsh-users/zsh-history-substring-search
|
||||
|
||||
# Additional completion definitions for Zsh.
|
||||
# zgenom load zsh-users/zsh-completions
|
||||
|
||||
# Suggests commands as you type based on history and completions.
|
||||
# zgenom load zsh-users/zsh-autosuggestions
|
||||
|
||||
# zsh-syntax-highlighting must be loaded after executing compinit command and sourcing other plugins
|
||||
zgenom load zsh-users/zsh-syntax-highlighting
|
||||
|
||||
# File autocompletions
|
||||
zgenom load marlonrichert/zsh-autocomplete
|
||||
|
||||
# generate the init script from plugins above
|
||||
zgenom save
|
||||
fi
|
||||
@ -1,913 +0,0 @@
|
||||
#compdef _chezmoi chezmoi
|
||||
|
||||
# generated these with `chezmoi completion`
|
||||
function _chezmoi {
|
||||
local -a commands
|
||||
|
||||
_arguments -C \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
"1: :->cmnds" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
cmnds)
|
||||
commands=(
|
||||
"add:Add an existing file, directory, or symlink to the source state"
|
||||
"apply:Update the destination directory to match the target state"
|
||||
"archive:Write a tar archive of the target state to stdout"
|
||||
"cat:Print the target contents of a file or symlink"
|
||||
"cd:Launch a shell in the source directory"
|
||||
"chattr:Change the attributes of a target in the source state"
|
||||
"completion:Generate shell completion code for the specified shell (bash, fish, or zsh)"
|
||||
"data:Print the template data"
|
||||
"diff:Print the diff between the target state and the destination state"
|
||||
"docs:Print documentation"
|
||||
"doctor:Check your system for potential problems"
|
||||
"dump:Write a dump of the target state to stdout"
|
||||
"edit:Edit the source state of a target"
|
||||
"edit-config:Edit the configuration file"
|
||||
"execute-template:Write the result of executing the given template(s) to stdout"
|
||||
"forget:Remove a target from the source state"
|
||||
"git:Run git in the source directory"
|
||||
"help:Print help about a command"
|
||||
"hg:Run mercurial in the source directory"
|
||||
"import:Import a tar archive into the source state"
|
||||
"init:Setup the source directory and update the destination directory to match the target state"
|
||||
"managed:List the managed files in the destination directory"
|
||||
"merge:Perform a three-way merge between the destination state, the source state, and the target state"
|
||||
"purge:Purge all of chezmoi's configuration and data"
|
||||
"remove:Remove a target from the source state and the destination directory"
|
||||
"secret:Interact with a secret manager"
|
||||
"source:Run the source version control system command in the source directory"
|
||||
"source-path:Print the path of a target in the source state"
|
||||
"unmanaged:List the unmanaged files in the destination directory"
|
||||
"update:Pull changes from the source VCS and apply any changes"
|
||||
"verify:Exit with success if the destination state matches the target state, fail otherwise"
|
||||
)
|
||||
_describe "command" commands
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$words[1]" in
|
||||
add)
|
||||
_chezmoi_add
|
||||
;;
|
||||
apply)
|
||||
_chezmoi_apply
|
||||
;;
|
||||
archive)
|
||||
_chezmoi_archive
|
||||
;;
|
||||
cat)
|
||||
_chezmoi_cat
|
||||
;;
|
||||
cd)
|
||||
_chezmoi_cd
|
||||
;;
|
||||
chattr)
|
||||
_chezmoi_chattr
|
||||
;;
|
||||
completion)
|
||||
_chezmoi_completion
|
||||
;;
|
||||
data)
|
||||
_chezmoi_data
|
||||
;;
|
||||
diff)
|
||||
_chezmoi_diff
|
||||
;;
|
||||
docs)
|
||||
_chezmoi_docs
|
||||
;;
|
||||
doctor)
|
||||
_chezmoi_doctor
|
||||
;;
|
||||
dump)
|
||||
_chezmoi_dump
|
||||
;;
|
||||
edit)
|
||||
_chezmoi_edit
|
||||
;;
|
||||
edit-config)
|
||||
_chezmoi_edit-config
|
||||
;;
|
||||
execute-template)
|
||||
_chezmoi_execute-template
|
||||
;;
|
||||
forget)
|
||||
_chezmoi_forget
|
||||
;;
|
||||
git)
|
||||
_chezmoi_git
|
||||
;;
|
||||
help)
|
||||
_chezmoi_help
|
||||
;;
|
||||
hg)
|
||||
_chezmoi_hg
|
||||
;;
|
||||
import)
|
||||
_chezmoi_import
|
||||
;;
|
||||
init)
|
||||
_chezmoi_init
|
||||
;;
|
||||
managed)
|
||||
_chezmoi_managed
|
||||
;;
|
||||
merge)
|
||||
_chezmoi_merge
|
||||
;;
|
||||
purge)
|
||||
_chezmoi_purge
|
||||
;;
|
||||
remove)
|
||||
_chezmoi_remove
|
||||
;;
|
||||
secret)
|
||||
_chezmoi_secret
|
||||
;;
|
||||
source)
|
||||
_chezmoi_source
|
||||
;;
|
||||
source-path)
|
||||
_chezmoi_source-path
|
||||
;;
|
||||
unmanaged)
|
||||
_chezmoi_unmanaged
|
||||
;;
|
||||
update)
|
||||
_chezmoi_update
|
||||
;;
|
||||
verify)
|
||||
_chezmoi_verify
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function _chezmoi_add {
|
||||
_arguments \
|
||||
'(-a --autotemplate)'{-a,--autotemplate}'[auto generate the template when adding files as templates]' \
|
||||
'(-e --empty)'{-e,--empty}'[add empty files]' \
|
||||
'--encrypt[encrypt files]' \
|
||||
'(-x --exact)'{-x,--exact}'[add directories exactly]' \
|
||||
'(-f --force)'{-f,--force}'[overwrite source state, even if template would be lost]' \
|
||||
'(-p --prompt)'{-p,--prompt}'[prompt before adding]' \
|
||||
'(-r --recursive)'{-r,--recursive}'[recurse in to subdirectories]' \
|
||||
'(-T --template)'{-T,--template}'[add files as templates]' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_apply {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_archive {
|
||||
_arguments \
|
||||
'(-o --output)'{-o,--output}'[output filename]:filename:_files' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_cat {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_cd {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_chattr {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :("empty" "-empty" "+empty" "noempty" "e" "-e" "+e" "noe" "encrypt" "-encrypt" "+encrypt" "noencrypt" "exact" "-exact" "+exact" "noexact" "executable" "-executable" "+executable" "noexecutable" "x" "-x" "+x" "nox" "private" "-private" "+private" "noprivate" "p" "-p" "+p" "nop" "template" "-template" "+template" "notemplate" "t" "-t" "+t" "not")' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files ' \
|
||||
'9: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_completion {
|
||||
_arguments \
|
||||
'(-h --help)'{-h,--help}'[help for completion]' \
|
||||
'(-o --output)'{-o,--output}'[output filename]:filename:_files' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :("bash" "fish" "zsh")'
|
||||
}
|
||||
|
||||
function _chezmoi_data {
|
||||
_arguments \
|
||||
'(-f --format)'{-f,--format}'[format (JSON, TOML, or YAML)]:' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_diff {
|
||||
_arguments \
|
||||
'(-f --format)'{-f,--format}'[format, "chezmoi" or "git"]:' \
|
||||
'--no-pager[disable pager]' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_docs {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_doctor {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_dump {
|
||||
_arguments \
|
||||
'(-f --format)'{-f,--format}'[format (JSON, TOML, or YAML)]:' \
|
||||
'(-r --recursive)'{-r,--recursive}'[recursive]' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_edit {
|
||||
_arguments \
|
||||
'(-a --apply)'{-a,--apply}'[apply edit after editing]' \
|
||||
'(-d --diff)'{-d,--diff}'[print diff after editing]' \
|
||||
'(-p --prompt)'{-p,--prompt}'[prompt before applying (implies --diff)]' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_edit-config {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_execute-template {
|
||||
_arguments \
|
||||
'(-i --init)'{-i,--init}'[simulate chezmoi init]' \
|
||||
'(-o --output)'{-o,--output}'[output filename]:' \
|
||||
'(-p --promptString)'{-p,--promptString}'[simulate promptString]:' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_forget {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_git {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_help {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_hg {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_import {
|
||||
_arguments \
|
||||
'(-x --exact)'{-x,--exact}'[import directories exactly]' \
|
||||
'(-r --remove-destination)'{-r,--remove-destination}'[remove destination before import]' \
|
||||
'--strip-components[strip components]:' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files -g "*.tar" -g "*.tar.bz2" -g "*.tar.gz" -g "*.tgz"'
|
||||
}
|
||||
|
||||
function _chezmoi_init {
|
||||
_arguments \
|
||||
'--apply[update destination directory]' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_managed {
|
||||
_arguments \
|
||||
'(*-i *--include)'{\*-i,\*--include}'[include]:' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_merge {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_purge {
|
||||
_arguments \
|
||||
'(-f --force)'{-f,--force}'[remove without prompting]' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_remove {
|
||||
_arguments \
|
||||
'(-f --force)'{-f,--force}'[remove without prompting]' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
|
||||
function _chezmoi_secret {
|
||||
local -a commands
|
||||
|
||||
_arguments -C \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
"1: :->cmnds" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
cmnds)
|
||||
commands=(
|
||||
"bitwarden:Execute the Bitwarden CLI (bw)"
|
||||
"generic:Execute a generic secret command"
|
||||
"gopass:Execute the gopass CLI"
|
||||
"keepassxc:Execute the KeePassXC CLI (keepassxc-cli)"
|
||||
"keyring:Interact with keyring"
|
||||
"lastpass:Execute the LastPass CLI (lpass)"
|
||||
"onepassword:Execute the 1Password CLI (op)"
|
||||
"pass:Execute the pass CLI"
|
||||
"vault:Execute the Hashicorp Vault CLI (vault)"
|
||||
)
|
||||
_describe "command" commands
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$words[1]" in
|
||||
bitwarden)
|
||||
_chezmoi_secret_bitwarden
|
||||
;;
|
||||
generic)
|
||||
_chezmoi_secret_generic
|
||||
;;
|
||||
gopass)
|
||||
_chezmoi_secret_gopass
|
||||
;;
|
||||
keepassxc)
|
||||
_chezmoi_secret_keepassxc
|
||||
;;
|
||||
keyring)
|
||||
_chezmoi_secret_keyring
|
||||
;;
|
||||
lastpass)
|
||||
_chezmoi_secret_lastpass
|
||||
;;
|
||||
onepassword)
|
||||
_chezmoi_secret_onepassword
|
||||
;;
|
||||
pass)
|
||||
_chezmoi_secret_pass
|
||||
;;
|
||||
vault)
|
||||
_chezmoi_secret_vault
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function _chezmoi_secret_bitwarden {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_secret_generic {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_secret_gopass {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_secret_keepassxc {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
|
||||
function _chezmoi_secret_keyring {
|
||||
local -a commands
|
||||
|
||||
_arguments -C \
|
||||
'--service[service]:' \
|
||||
'--user[user]:' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
"1: :->cmnds" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $state in
|
||||
cmnds)
|
||||
commands=(
|
||||
"get:Get a password from keyring"
|
||||
"set:Set a password in keyring"
|
||||
)
|
||||
_describe "command" commands
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$words[1]" in
|
||||
get)
|
||||
_chezmoi_secret_keyring_get
|
||||
;;
|
||||
set)
|
||||
_chezmoi_secret_keyring_set
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function _chezmoi_secret_keyring_get {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'--service[service]:' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'--user[user]:' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_secret_keyring_set {
|
||||
_arguments \
|
||||
'--password[password]:' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'--service[service]:' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'--user[user]:' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_secret_lastpass {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_secret_onepassword {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_secret_pass {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_secret_vault {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_source {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_source-path {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
function _chezmoi_unmanaged {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_update {
|
||||
_arguments \
|
||||
'(-a --apply)'{-a,--apply}'[apply after pulling]' \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]'
|
||||
}
|
||||
|
||||
function _chezmoi_verify {
|
||||
_arguments \
|
||||
'--color[colorize diffs]:' \
|
||||
'(-c --config)'{-c,--config}'[config file]:filename:_files' \
|
||||
'--debug[write debug logs]' \
|
||||
'(-D --destination)'{-D,--destination}'[destination directory]:filename:_files -g "-(/)"' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'--follow[follow symlinks]' \
|
||||
'--remove[remove targets]' \
|
||||
'(-S --source)'{-S,--source}'[source directory]:filename:_files -g "-(/)"' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose]' \
|
||||
'1: :_files ' \
|
||||
'2: :_files ' \
|
||||
'3: :_files ' \
|
||||
'4: :_files ' \
|
||||
'5: :_files ' \
|
||||
'6: :_files ' \
|
||||
'7: :_files ' \
|
||||
'8: :_files '
|
||||
}
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
# load fzf
|
||||
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
||||
|
||||
# Set up SDKMAN
|
||||
export SDKMAN_DIR="$HOME/.sdkman"
|
||||
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||
|
||||
@ -106,7 +106,7 @@ shadow-ignore-shaped = false;
|
||||
#
|
||||
#################################
|
||||
|
||||
inactive-opacity = 1;
|
||||
inactive-opacity = 0.8;
|
||||
active-opacity = 1;
|
||||
frame-opacity = 1;
|
||||
inactive-opacity-override = false;
|
||||
@ -121,19 +121,12 @@ blur-background = true;
|
||||
blur-background-frame = true;
|
||||
# Do not let blur radius adjust based on window opacity.
|
||||
blur-background-fixed = true;
|
||||
# adding rect-overlay should fix sharing of screen over Teams
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"name *= 'rect-overlay'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
blur-size = 10;
|
||||
# makes everything smeared out
|
||||
blur-deviation = 100.0;
|
||||
blur-method = "gaussian";
|
||||
#blur-kern = "3x3box";
|
||||
# this supposedly fixes blur artifacts in terminal (saw some black lines)
|
||||
use-damage = false;
|
||||
use-damage = false
|
||||
|
||||
#################################
|
||||
#
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# perform a diff between the used scripts
|
||||
diff -r ~/.config/polybar-scripts/polybar-scripts ~/.dotfiles/polybar/polybar-scripts | grep -Ev "\/home\/[^/].+\/\.config"
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
# make sure the polybar-scripts repo is here
|
||||
git clone https://github.com/polybar/polybar-scripts.git ~/.config/polybar-scripts
|
||||
cd ~/.config/polybar-scripts
|
||||
git pull
|
||||
|
||||
|
||||
@ -1 +0,0 @@
|
||||
These are local copies of the scripts found on the polybar-scripts (https://github.com/polybar/polybar-scripts.git) repo. Modified to fit the local system. Pull changes of the repo to ~/.config/polybar-scripts and vimdiff between the local copies to see if there's updates.
|
||||
@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if ! updates=$(yay -Qum 2> /dev/null | wc -l); then
|
||||
# if ! updates=$(paru -Qum 2> /dev/null | wc -l); then
|
||||
# if ! updates=$(cower -u 2> /dev/null | wc -l); then
|
||||
# if ! updates=$(trizen -Su --aur --quiet | wc -l); then
|
||||
# if ! updates=$(pikaur -Qua 2> /dev/null | wc -l); then
|
||||
# if ! updates=$(rua upgrade --printonly 2> /dev/null | wc -l); then
|
||||
updates=0
|
||||
fi
|
||||
|
||||
if [ "$updates" -gt 0 ]; then
|
||||
echo "$updates"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
@ -1,18 +0,0 @@
|
||||
# Script: updates-pacman
|
||||
|
||||
A script that shows if there are updates for pacman-based distributions like Arch Linux or Manjaro.
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
* `pacman-contrib`
|
||||
|
||||
|
||||
## Module
|
||||
|
||||
```ini
|
||||
[module/updates-pacman]
|
||||
type = custom/script
|
||||
exec = ~/polybar-scripts/updates-pacman.sh
|
||||
interval = 600
|
||||
```
|
||||
@ -47,7 +47,7 @@ c.input.insert_mode.leave_on_load = False
|
||||
|
||||
## This is here so configs done via the GUI are still loaded.
|
||||
## Remove it to not load settings done via the GUI.
|
||||
config.load_autoconfig()
|
||||
# config.load_autoconfig()
|
||||
|
||||
## Aliases for commands. The keys of the given dictionary are the
|
||||
## aliases, while the values are the commands they map to.
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
configuration {
|
||||
combi-modi: "window,drun,ssh";
|
||||
font: "Fura Code 12";
|
||||
modi: "run,combi";
|
||||
}
|
||||
@theme "~/.config/rofi/themes/gruvbox/gruvbox-dark-hard.rasi"
|
||||
@ -1,7 +0,0 @@
|
||||
#rofi -show run
|
||||
#monitor="$(swaymsg -t get_outputs | jq '[.[].focused] | index(true)')"
|
||||
#monitor=""$(swaymsg -t get_workspaces | jq -e "map(select(.focused == true).num)[0]-(.|length)" | tr -d "-")
|
||||
# get the focused monitor - kanshi could mess up the order so we get the monitorname instead
|
||||
monitor="$(swaymsg -t get_outputs | jq -c '.[] | select(.focused) | select(.id)' | jq -c '.name')"
|
||||
# show rofi on the focused monitor
|
||||
rofi -show run -modi "run,drun,ssh,window" -sidebar-mode -show-icons -monitor "$monitor"
|
||||
@ -1,19 +0,0 @@
|
||||
# Config for rofi-wifi-menu
|
||||
|
||||
# position values:
|
||||
# 1 2 3
|
||||
# 8 0 4
|
||||
# 7 6 5
|
||||
POSITION=3
|
||||
|
||||
#y-offset
|
||||
YOFF=17
|
||||
|
||||
#x-offset
|
||||
XOFF=0
|
||||
|
||||
#fields to be displayed
|
||||
FIELDS=SSID,SECURITY,BARS
|
||||
|
||||
#font
|
||||
FONT="Fura Code 8"
|
||||
@ -1,270 +0,0 @@
|
||||
/* ==========================================================================
|
||||
Rofi color theme
|
||||
|
||||
Based on the Gruvbox color scheme for Vim by morhetz
|
||||
https://github.com/morhetz/gruvbox
|
||||
|
||||
File: gruvbox-dark.rasi
|
||||
Desc: Gruvbox dark color theme for Rofi
|
||||
Author: bardisty <b@bah.im>
|
||||
Source: https://github.com/bardisty/gruvbox-rofi
|
||||
Modified: Mon Feb 12 2018 04:08:43 PST -0800
|
||||
========================================================================== */
|
||||
|
||||
* {
|
||||
/* Theme settings */
|
||||
highlight: bold italic;
|
||||
scrollbar: true;
|
||||
transparent: #ffffff00;
|
||||
|
||||
/* Gruvbox dark colors */
|
||||
dark0-hard: #1d2021;
|
||||
dark0-hard-transparent: #1d2021cc;
|
||||
dark0: #282828;
|
||||
dark0-transparent: #282828cc;
|
||||
dark0-soft: #32302f;
|
||||
dark0-soft-transparent: #32302fcc;
|
||||
dark1: #3c3836;
|
||||
dark1-transparent: #3c3836cc;
|
||||
dark2: #504945;
|
||||
dark2-transparent: #504945cc;
|
||||
dark3: #665c54;
|
||||
dark3-transparent: #665c54cc;
|
||||
dark4: #7c6f64;
|
||||
dark4-transparent: #7c6f64cc;
|
||||
|
||||
gray-245: #928374;
|
||||
gray-245-transparent: #928374cc;
|
||||
gray-244: #928374;
|
||||
gray-244-transparent: #928374cc;
|
||||
|
||||
light0-hard: #f9f5d7;
|
||||
light0-hard-transparent: #f9f5d7cc;
|
||||
light0: #fbf1c7;
|
||||
light0-transparent: #fbf1c7cc;
|
||||
light0-soft: #f2e5bc;
|
||||
light0-soft-transparent: #f2e5bccc;
|
||||
light1: #ebdbb2;
|
||||
light1-transparent: #ebdbb2cc;
|
||||
light2: #d5c4a1;
|
||||
light2-transparent: #d5c4a1cc;
|
||||
light3: #bdae93;
|
||||
light3-transparent: #bdae93cc;
|
||||
light4: #a89984;
|
||||
light4-transparent: #a89984cc;
|
||||
|
||||
bright-red: #fb4934;
|
||||
bright-red-transparent: #fb4934cc;
|
||||
bright-green: #b8bb26;
|
||||
bright-green-transparent: #b8bb26cc;
|
||||
bright-yellow: #fabd2f;
|
||||
bright-yellow-transparent: #fabd2fcc;
|
||||
bright-blue: #83a598;
|
||||
bright-blue-transparent: #83a598cc;
|
||||
bright-purple: #d3869b;
|
||||
bright-purple-transparent: #d3869bcc;
|
||||
bright-aqua: #8ec07c;
|
||||
bright-aqua-transparent: #8ec07ccc;
|
||||
bright-orange: #fe8019;
|
||||
bright-orange-transparent: #fe8019cc;
|
||||
|
||||
neutral-red: #cc241d;
|
||||
neutral-red-transparent: #cc241dcc;
|
||||
neutral-green: #98971a;
|
||||
neutral-green-transparent: #98971acc;
|
||||
neutral-yellow: #d79921;
|
||||
neutral-yellow-transparent: #d79921cc;
|
||||
neutral-blue: #4585cc;
|
||||
neutral-blue-transparent: #458588cc;
|
||||
neutral-purple: #b16286;
|
||||
neutral-purple-transparent: #b16286cc;
|
||||
neutral-aqua: #689d6a;
|
||||
neutral-aqua-transparent: #689d6acc;
|
||||
neutral-orange: #d65d0e;
|
||||
neutral-orange-transparent: #d65d0ecc;
|
||||
|
||||
faded-red: #9d0006;
|
||||
faded-red-transparent: #9d0006cc;
|
||||
faded-green: #79740e;
|
||||
faded-green-transparent: #79740ecc;
|
||||
faded-yellow: #b57614;
|
||||
faded-yellow-transparent: #b57614cc;
|
||||
faded-blue: #076678;
|
||||
faded-blue-transparent: #076678cc;
|
||||
faded-purple: #8f3f71;
|
||||
faded-purple-transparent: #8f3f71cc;
|
||||
faded-aqua: #427b58;
|
||||
faded-aqua-transparent: #427b58cc;
|
||||
faded-orange: #af3a03;
|
||||
faded-orange-transparent: #af3a03cc;
|
||||
|
||||
/* Theme colors */
|
||||
/* background: @dark0; */
|
||||
background: @dark0-transparent;
|
||||
background-color: @background;
|
||||
foreground: @light0-hard;
|
||||
border-color: @gray-245;
|
||||
separatorcolor: @border-color;
|
||||
scrollbar-handle: @bright-orange;
|
||||
|
||||
/* normal-background: @background; */
|
||||
normal-background: @transparent;
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: @transparent;
|
||||
alternate-normal-foreground: @foreground;
|
||||
selected-normal-background: @dark4-transparent;
|
||||
selected-normal-foreground: @bright-green;
|
||||
|
||||
active-background: @neutral-yellow;
|
||||
active-foreground: @background;
|
||||
alternate-active-background: @active-background;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
selected-active-background: @bright-yellow;
|
||||
selected-active-foreground: @active-foreground;
|
||||
|
||||
urgent-background: @faded-red;
|
||||
urgent-foreground: @background;
|
||||
alternate-urgent-background: @urgent-background;
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
selected-urgent-background: @gruvbox-dark-red-light;
|
||||
selected-urgent-foreground: @urgent-foreground;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: @background;
|
||||
border: 2;
|
||||
border-radius: 10;
|
||||
padding: 20;
|
||||
|
||||
}
|
||||
|
||||
mainbox {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
background-color: @transparent;
|
||||
}
|
||||
|
||||
message {
|
||||
border: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
padding: 1px;
|
||||
background-color: #FF0000;
|
||||
}
|
||||
|
||||
textbox {
|
||||
highlight: @highlight;
|
||||
text-color: @foreground;
|
||||
background-color: #FF0000;
|
||||
}
|
||||
|
||||
listview {
|
||||
border: 2px solid 0 0;
|
||||
padding: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
spacing: 2px;
|
||||
scrollbar: @scrollbar;
|
||||
background-color: @transparent;
|
||||
}
|
||||
|
||||
element {
|
||||
border: 0;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
element.normal.normal {
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
|
||||
element.normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
|
||||
element.normal.active {
|
||||
background-color: @active-background;
|
||||
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: @alternate-normal-background;
|
||||
text-color: @alternate-normal-foreground;
|
||||
}
|
||||
|
||||
element.alternate.urgent {
|
||||
background-color: @alternate-urgent-background;
|
||||
text-color: @alternate-urgent-foreground;
|
||||
}
|
||||
|
||||
element.alternate.active {
|
||||
background-color: @alternate-active-background;
|
||||
text-color: @alternate-active-foreground;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
width: 4px;
|
||||
border: 0;
|
||||
handle-color: @scrollbar-handle;
|
||||
handle-width: 8px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
border: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
background-color: @transparent;
|
||||
padding: 4px;
|
||||
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
|
||||
}
|
||||
|
||||
case-indicator,
|
||||
entry,
|
||||
prompt,
|
||||
button {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
background-color: @transparent;
|
||||
}
|
||||
|
||||
button,
|
||||
entry,
|
||||
prompt,
|
||||
textbox-prompt-sep {
|
||||
padding: 3;
|
||||
}
|
||||
|
||||
|
||||
button.selected {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
|
||||
textbox-prompt-sep {
|
||||
expand: false;
|
||||
str: ":";
|
||||
text-color: @normal-foreground;
|
||||
background-color: @transparent;
|
||||
margin: 0 0.3em 0 0;
|
||||
}
|
||||
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016 Brian Hardisty
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@ -1,76 +0,0 @@
|
||||
# gruvbox-rofi
|
||||
|
||||
> Gruvbox dark and light color themes for Rofi
|
||||
|
||||
[Rofi](https://github.com/DaveDavenport/rofi) color themes based on the
|
||||
[Gruvbox color scheme](https://github.com/morhetz/gruvbox).
|
||||
|
||||
Includes six versions to choose from:
|
||||
|
||||
- **[Gruvbox Dark](#dark-gruvbox-darkrasi)**
|
||||
- [Gruvbox Dark (soft contrast)](#dark-soft-contrast-gruvbox-dark-softrasi)
|
||||
- [Gruvbox Dark (hard contrast)](#dark-hard-contrast-gruvbox-dark-hardrasi)
|
||||
- **[Gruvbox Light](#light-gruvbox-lightrasi)**
|
||||
- [Gruvbox Light (soft contrast)](#light-soft-contrast-gruvbox-light-softrasi)
|
||||
- [Gruvbox Light (hard contrast)](#light-hard-contrast-gruvbox-light-hardrasi)
|
||||
|
||||
## Screenshots
|
||||
|
||||
### Dark ([`gruvbox-dark.rasi`](gruvbox-dark.rasi))
|
||||
|
||||

|
||||
|
||||
#### Dark (soft contrast) ([`gruvbox-dark-soft.rasi`](gruvbox-dark-soft.rasi))
|
||||
|
||||
")
|
||||
|
||||
#### Dark (hard contrast) ([`gruvbox-dark-hard.rasi`](gruvbox-dark-hard.rasi))
|
||||
|
||||
")
|
||||
|
||||
### Light ([`gruvbox-light.rasi`](gruvbox-light.rasi))
|
||||
|
||||

|
||||
|
||||
#### Light (soft contrast) ([`gruvbox-light-soft.rasi`](gruvbox-light-soft.rasi))
|
||||
|
||||
")
|
||||
|
||||
#### Light (hard contrast) ([`gruvbox-light-hard.rasi`](gruvbox-light-hard.rasi))
|
||||
|
||||
")
|
||||
|
||||
## Installation
|
||||
|
||||
These themes are included with Rofi as of version
|
||||
[1.3.0](https://github.com/DaveDavenport/rofi/releases/tag/1.3.0). Run
|
||||
`rofi-theme-selector` to preview/apply them with Rofi's theme selector
|
||||
script.
|
||||
|
||||
See [Manual Installation](#manual-installation) if you wish to install the
|
||||
themes manually. This may be preferable if you plan on customizing them.
|
||||
|
||||
### Manual Installation
|
||||
|
||||
1. [Download](https://github.com/bardisty/gruvbox-rofi/archive/master.zip)
|
||||
or clone the repository:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/bardisty/gruvbox-rofi ~/.config/rofi/themes/gruvbox
|
||||
```
|
||||
|
||||
2. Edit your Rofi configuration file (`~/.config/rofi/config`):
|
||||
|
||||
```xdefaults
|
||||
rofi.theme: ~/.config/rofi/themes/gruvbox/gruvbox-dark.rasi
|
||||
```
|
||||
|
||||
## Links
|
||||
|
||||
- [Rofi](https://github.com/DaveDavenport/rofi) window switcher, run
|
||||
launcher, ssh dialog, and dmenu replacement
|
||||
- [Gruvbox](https://github.com/morhetz/gruvbox) color scheme for Vim
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
@ -1 +0,0 @@
|
||||
ref: refs/heads/master
|
||||
@ -1,11 +0,0 @@
|
||||
[core]
|
||||
repositoryformatversion = 0
|
||||
filemode = true
|
||||
bare = false
|
||||
logallrefupdates = true
|
||||
[remote "origin"]
|
||||
url = https://github.com/bardisty/gruvbox-rofi
|
||||
fetch = +refs/heads/*:refs/remotes/origin/*
|
||||
[branch "master"]
|
||||
remote = origin
|
||||
merge = refs/heads/master
|
||||
@ -1 +0,0 @@
|
||||
Unnamed repository; edit this file 'description' to name the repository.
|
||||
@ -1,15 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to check the commit log message taken by
|
||||
# applypatch from an e-mail message.
|
||||
#
|
||||
# The hook should exit with non-zero status after issuing an
|
||||
# appropriate message if it wants to stop the commit. The hook is
|
||||
# allowed to edit the commit message file.
|
||||
#
|
||||
# To enable this hook, rename this file to "applypatch-msg".
|
||||
|
||||
. git-sh-setup
|
||||
commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
|
||||
test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
|
||||
:
|
||||
@ -1,24 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to check the commit log message.
|
||||
# Called by "git commit" with one argument, the name of the file
|
||||
# that has the commit message. The hook should exit with non-zero
|
||||
# status after issuing an appropriate message if it wants to stop the
|
||||
# commit. The hook is allowed to edit the commit message file.
|
||||
#
|
||||
# To enable this hook, rename this file to "commit-msg".
|
||||
|
||||
# Uncomment the below to add a Signed-off-by line to the message.
|
||||
# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
|
||||
# hook is more suited to it.
|
||||
#
|
||||
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
|
||||
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
|
||||
|
||||
# This example catches duplicate Signed-off-by lines.
|
||||
|
||||
test "" = "$(grep '^Signed-off-by: ' "$1" |
|
||||
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
|
||||
echo >&2 Duplicate Signed-off-by lines.
|
||||
exit 1
|
||||
}
|
||||
@ -1,173 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use IPC::Open2;
|
||||
|
||||
# An example hook script to integrate Watchman
|
||||
# (https://facebook.github.io/watchman/) with git to speed up detecting
|
||||
# new and modified files.
|
||||
#
|
||||
# The hook is passed a version (currently 2) and last update token
|
||||
# formatted as a string and outputs to stdout a new update token and
|
||||
# all files that have been modified since the update token. Paths must
|
||||
# be relative to the root of the working tree and separated by a single NUL.
|
||||
#
|
||||
# To enable this hook, rename this file to "query-watchman" and set
|
||||
# 'git config core.fsmonitor .git/hooks/query-watchman'
|
||||
#
|
||||
my ($version, $last_update_token) = @ARGV;
|
||||
|
||||
# Uncomment for debugging
|
||||
# print STDERR "$0 $version $last_update_token\n";
|
||||
|
||||
# Check the hook interface version
|
||||
if ($version ne 2) {
|
||||
die "Unsupported query-fsmonitor hook version '$version'.\n" .
|
||||
"Falling back to scanning...\n";
|
||||
}
|
||||
|
||||
my $git_work_tree = get_working_dir();
|
||||
|
||||
my $retry = 1;
|
||||
|
||||
my $json_pkg;
|
||||
eval {
|
||||
require JSON::XS;
|
||||
$json_pkg = "JSON::XS";
|
||||
1;
|
||||
} or do {
|
||||
require JSON::PP;
|
||||
$json_pkg = "JSON::PP";
|
||||
};
|
||||
|
||||
launch_watchman();
|
||||
|
||||
sub launch_watchman {
|
||||
my $o = watchman_query();
|
||||
if (is_work_tree_watched($o)) {
|
||||
output_result($o->{clock}, @{$o->{files}});
|
||||
}
|
||||
}
|
||||
|
||||
sub output_result {
|
||||
my ($clockid, @files) = @_;
|
||||
|
||||
# Uncomment for debugging watchman output
|
||||
# open (my $fh, ">", ".git/watchman-output.out");
|
||||
# binmode $fh, ":utf8";
|
||||
# print $fh "$clockid\n@files\n";
|
||||
# close $fh;
|
||||
|
||||
binmode STDOUT, ":utf8";
|
||||
print $clockid;
|
||||
print "\0";
|
||||
local $, = "\0";
|
||||
print @files;
|
||||
}
|
||||
|
||||
sub watchman_clock {
|
||||
my $response = qx/watchman clock "$git_work_tree"/;
|
||||
die "Failed to get clock id on '$git_work_tree'.\n" .
|
||||
"Falling back to scanning...\n" if $? != 0;
|
||||
|
||||
return $json_pkg->new->utf8->decode($response);
|
||||
}
|
||||
|
||||
sub watchman_query {
|
||||
my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty')
|
||||
or die "open2() failed: $!\n" .
|
||||
"Falling back to scanning...\n";
|
||||
|
||||
# In the query expression below we're asking for names of files that
|
||||
# changed since $last_update_token but not from the .git folder.
|
||||
#
|
||||
# To accomplish this, we're using the "since" generator to use the
|
||||
# recency index to select candidate nodes and "fields" to limit the
|
||||
# output to file names only. Then we're using the "expression" term to
|
||||
# further constrain the results.
|
||||
if (substr($last_update_token, 0, 1) eq "c") {
|
||||
$last_update_token = "\"$last_update_token\"";
|
||||
}
|
||||
my $query = <<" END";
|
||||
["query", "$git_work_tree", {
|
||||
"since": $last_update_token,
|
||||
"fields": ["name"],
|
||||
"expression": ["not", ["dirname", ".git"]]
|
||||
}]
|
||||
END
|
||||
|
||||
# Uncomment for debugging the watchman query
|
||||
# open (my $fh, ">", ".git/watchman-query.json");
|
||||
# print $fh $query;
|
||||
# close $fh;
|
||||
|
||||
print CHLD_IN $query;
|
||||
close CHLD_IN;
|
||||
my $response = do {local $/; <CHLD_OUT>};
|
||||
|
||||
# Uncomment for debugging the watch response
|
||||
# open ($fh, ">", ".git/watchman-response.json");
|
||||
# print $fh $response;
|
||||
# close $fh;
|
||||
|
||||
die "Watchman: command returned no output.\n" .
|
||||
"Falling back to scanning...\n" if $response eq "";
|
||||
die "Watchman: command returned invalid output: $response\n" .
|
||||
"Falling back to scanning...\n" unless $response =~ /^\{/;
|
||||
|
||||
return $json_pkg->new->utf8->decode($response);
|
||||
}
|
||||
|
||||
sub is_work_tree_watched {
|
||||
my ($output) = @_;
|
||||
my $error = $output->{error};
|
||||
if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) {
|
||||
$retry--;
|
||||
my $response = qx/watchman watch "$git_work_tree"/;
|
||||
die "Failed to make watchman watch '$git_work_tree'.\n" .
|
||||
"Falling back to scanning...\n" if $? != 0;
|
||||
$output = $json_pkg->new->utf8->decode($response);
|
||||
$error = $output->{error};
|
||||
die "Watchman: $error.\n" .
|
||||
"Falling back to scanning...\n" if $error;
|
||||
|
||||
# Uncomment for debugging watchman output
|
||||
# open (my $fh, ">", ".git/watchman-output.out");
|
||||
# close $fh;
|
||||
|
||||
# Watchman will always return all files on the first query so
|
||||
# return the fast "everything is dirty" flag to git and do the
|
||||
# Watchman query just to get it over with now so we won't pay
|
||||
# the cost in git to look up each individual file.
|
||||
my $o = watchman_clock();
|
||||
$error = $output->{error};
|
||||
|
||||
die "Watchman: $error.\n" .
|
||||
"Falling back to scanning...\n" if $error;
|
||||
|
||||
output_result($o->{clock}, ("/"));
|
||||
$last_update_token = $o->{clock};
|
||||
|
||||
eval { launch_watchman() };
|
||||
return 0;
|
||||
}
|
||||
|
||||
die "Watchman: $error.\n" .
|
||||
"Falling back to scanning...\n" if $error;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
sub get_working_dir {
|
||||
my $working_dir;
|
||||
if ($^O =~ 'msys' || $^O =~ 'cygwin') {
|
||||
$working_dir = Win32::GetCwd();
|
||||
$working_dir =~ tr/\\/\//;
|
||||
} else {
|
||||
require Cwd;
|
||||
$working_dir = Cwd::cwd();
|
||||
}
|
||||
|
||||
return $working_dir;
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to prepare a packed repository for use over
|
||||
# dumb transports.
|
||||
#
|
||||
# To enable this hook, rename this file to "post-update".
|
||||
|
||||
exec git update-server-info
|
||||
@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to verify what is about to be committed
|
||||
# by applypatch from an e-mail message.
|
||||
#
|
||||
# The hook should exit with non-zero status after issuing an
|
||||
# appropriate message if it wants to stop the commit.
|
||||
#
|
||||
# To enable this hook, rename this file to "pre-applypatch".
|
||||
|
||||
. git-sh-setup
|
||||
precommit="$(git rev-parse --git-path hooks/pre-commit)"
|
||||
test -x "$precommit" && exec "$precommit" ${1+"$@"}
|
||||
:
|
||||
@ -1,49 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to verify what is about to be committed.
|
||||
# Called by "git commit" with no arguments. The hook should
|
||||
# exit with non-zero status after issuing an appropriate message if
|
||||
# it wants to stop the commit.
|
||||
#
|
||||
# To enable this hook, rename this file to "pre-commit".
|
||||
|
||||
if git rev-parse --verify HEAD >/dev/null 2>&1
|
||||
then
|
||||
against=HEAD
|
||||
else
|
||||
# Initial commit: diff against an empty tree object
|
||||
against=$(git hash-object -t tree /dev/null)
|
||||
fi
|
||||
|
||||
# If you want to allow non-ASCII filenames set this variable to true.
|
||||
allownonascii=$(git config --type=bool hooks.allownonascii)
|
||||
|
||||
# Redirect output to stderr.
|
||||
exec 1>&2
|
||||
|
||||
# Cross platform projects tend to avoid non-ASCII filenames; prevent
|
||||
# them from being added to the repository. We exploit the fact that the
|
||||
# printable range starts at the space character and ends with tilde.
|
||||
if [ "$allownonascii" != "true" ] &&
|
||||
# Note that the use of brackets around a tr range is ok here, (it's
|
||||
# even required, for portability to Solaris 10's /usr/bin/tr), since
|
||||
# the square bracket bytes happen to fall in the designated range.
|
||||
test $(git diff --cached --name-only --diff-filter=A -z $against |
|
||||
LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
|
||||
then
|
||||
cat <<\EOF
|
||||
Error: Attempt to add a non-ASCII file name.
|
||||
|
||||
This can cause problems if you want to work with people on other platforms.
|
||||
|
||||
To be portable it is advisable to rename the file.
|
||||
|
||||
If you know what you are doing you can disable this check using:
|
||||
|
||||
git config hooks.allownonascii true
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# If there are whitespace errors, print the offending file names and fail.
|
||||
exec git diff-index --check --cached $against --
|
||||
@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to verify what is about to be committed.
|
||||
# Called by "git merge" with no arguments. The hook should
|
||||
# exit with non-zero status after issuing an appropriate message to
|
||||
# stderr if it wants to stop the merge commit.
|
||||
#
|
||||
# To enable this hook, rename this file to "pre-merge-commit".
|
||||
|
||||
. git-sh-setup
|
||||
test -x "$GIT_DIR/hooks/pre-commit" &&
|
||||
exec "$GIT_DIR/hooks/pre-commit"
|
||||
:
|
||||
@ -1,53 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# An example hook script to verify what is about to be pushed. Called by "git
|
||||
# push" after it has checked the remote status, but before anything has been
|
||||
# pushed. If this script exits with a non-zero status nothing will be pushed.
|
||||
#
|
||||
# This hook is called with the following parameters:
|
||||
#
|
||||
# $1 -- Name of the remote to which the push is being done
|
||||
# $2 -- URL to which the push is being done
|
||||
#
|
||||
# If pushing without using a named remote those arguments will be equal.
|
||||
#
|
||||
# Information about the commits which are being pushed is supplied as lines to
|
||||
# the standard input in the form:
|
||||
#
|
||||
# <local ref> <local oid> <remote ref> <remote oid>
|
||||
#
|
||||
# This sample shows how to prevent push of commits where the log message starts
|
||||
# with "WIP" (work in progress).
|
||||
|
||||
remote="$1"
|
||||
url="$2"
|
||||
|
||||
zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
|
||||
|
||||
while read local_ref local_oid remote_ref remote_oid
|
||||
do
|
||||
if test "$local_oid" = "$zero"
|
||||
then
|
||||
# Handle delete
|
||||
:
|
||||
else
|
||||
if test "$remote_oid" = "$zero"
|
||||
then
|
||||
# New branch, examine all commits
|
||||
range="$local_oid"
|
||||
else
|
||||
# Update to existing branch, examine new commits
|
||||
range="$remote_oid..$local_oid"
|
||||
fi
|
||||
|
||||
# Check for WIP commit
|
||||
commit=$(git rev-list -n 1 --grep '^WIP' "$range")
|
||||
if test -n "$commit"
|
||||
then
|
||||
echo >&2 "Found WIP commit in $local_ref, not pushing"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0
|
||||
@ -1,169 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2006, 2008 Junio C Hamano
|
||||
#
|
||||
# The "pre-rebase" hook is run just before "git rebase" starts doing
|
||||
# its job, and can prevent the command from running by exiting with
|
||||
# non-zero status.
|
||||
#
|
||||
# The hook is called with the following parameters:
|
||||
#
|
||||
# $1 -- the upstream the series was forked from.
|
||||
# $2 -- the branch being rebased (or empty when rebasing the current branch).
|
||||
#
|
||||
# This sample shows how to prevent topic branches that are already
|
||||
# merged to 'next' branch from getting rebased, because allowing it
|
||||
# would result in rebasing already published history.
|
||||
|
||||
publish=next
|
||||
basebranch="$1"
|
||||
if test "$#" = 2
|
||||
then
|
||||
topic="refs/heads/$2"
|
||||
else
|
||||
topic=`git symbolic-ref HEAD` ||
|
||||
exit 0 ;# we do not interrupt rebasing detached HEAD
|
||||
fi
|
||||
|
||||
case "$topic" in
|
||||
refs/heads/??/*)
|
||||
;;
|
||||
*)
|
||||
exit 0 ;# we do not interrupt others.
|
||||
;;
|
||||
esac
|
||||
|
||||
# Now we are dealing with a topic branch being rebased
|
||||
# on top of master. Is it OK to rebase it?
|
||||
|
||||
# Does the topic really exist?
|
||||
git show-ref -q "$topic" || {
|
||||
echo >&2 "No such branch $topic"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Is topic fully merged to master?
|
||||
not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
|
||||
if test -z "$not_in_master"
|
||||
then
|
||||
echo >&2 "$topic is fully merged to master; better remove it."
|
||||
exit 1 ;# we could allow it, but there is no point.
|
||||
fi
|
||||
|
||||
# Is topic ever merged to next? If so you should not be rebasing it.
|
||||
only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
|
||||
only_next_2=`git rev-list ^master ${publish} | sort`
|
||||
if test "$only_next_1" = "$only_next_2"
|
||||
then
|
||||
not_in_topic=`git rev-list "^$topic" master`
|
||||
if test -z "$not_in_topic"
|
||||
then
|
||||
echo >&2 "$topic is already up to date with master"
|
||||
exit 1 ;# we could allow it, but there is no point.
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
|
||||
/usr/bin/perl -e '
|
||||
my $topic = $ARGV[0];
|
||||
my $msg = "* $topic has commits already merged to public branch:\n";
|
||||
my (%not_in_next) = map {
|
||||
/^([0-9a-f]+) /;
|
||||
($1 => 1);
|
||||
} split(/\n/, $ARGV[1]);
|
||||
for my $elem (map {
|
||||
/^([0-9a-f]+) (.*)$/;
|
||||
[$1 => $2];
|
||||
} split(/\n/, $ARGV[2])) {
|
||||
if (!exists $not_in_next{$elem->[0]}) {
|
||||
if ($msg) {
|
||||
print STDERR $msg;
|
||||
undef $msg;
|
||||
}
|
||||
print STDERR " $elem->[1]\n";
|
||||
}
|
||||
}
|
||||
' "$topic" "$not_in_next" "$not_in_master"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
<<\DOC_END
|
||||
|
||||
This sample hook safeguards topic branches that have been
|
||||
published from being rewound.
|
||||
|
||||
The workflow assumed here is:
|
||||
|
||||
* Once a topic branch forks from "master", "master" is never
|
||||
merged into it again (either directly or indirectly).
|
||||
|
||||
* Once a topic branch is fully cooked and merged into "master",
|
||||
it is deleted. If you need to build on top of it to correct
|
||||
earlier mistakes, a new topic branch is created by forking at
|
||||
the tip of the "master". This is not strictly necessary, but
|
||||
it makes it easier to keep your history simple.
|
||||
|
||||
* Whenever you need to test or publish your changes to topic
|
||||
branches, merge them into "next" branch.
|
||||
|
||||
The script, being an example, hardcodes the publish branch name
|
||||
to be "next", but it is trivial to make it configurable via
|
||||
$GIT_DIR/config mechanism.
|
||||
|
||||
With this workflow, you would want to know:
|
||||
|
||||
(1) ... if a topic branch has ever been merged to "next". Young
|
||||
topic branches can have stupid mistakes you would rather
|
||||
clean up before publishing, and things that have not been
|
||||
merged into other branches can be easily rebased without
|
||||
affecting other people. But once it is published, you would
|
||||
not want to rewind it.
|
||||
|
||||
(2) ... if a topic branch has been fully merged to "master".
|
||||
Then you can delete it. More importantly, you should not
|
||||
build on top of it -- other people may already want to
|
||||
change things related to the topic as patches against your
|
||||
"master", so if you need further changes, it is better to
|
||||
fork the topic (perhaps with the same name) afresh from the
|
||||
tip of "master".
|
||||
|
||||
Let's look at this example:
|
||||
|
||||
o---o---o---o---o---o---o---o---o---o "next"
|
||||
/ / / /
|
||||
/ a---a---b A / /
|
||||
/ / / /
|
||||
/ / c---c---c---c B /
|
||||
/ / / \ /
|
||||
/ / / b---b C \ /
|
||||
/ / / / \ /
|
||||
---o---o---o---o---o---o---o---o---o---o---o "master"
|
||||
|
||||
|
||||
A, B and C are topic branches.
|
||||
|
||||
* A has one fix since it was merged up to "next".
|
||||
|
||||
* B has finished. It has been fully merged up to "master" and "next",
|
||||
and is ready to be deleted.
|
||||
|
||||
* C has not merged to "next" at all.
|
||||
|
||||
We would want to allow C to be rebased, refuse A, and encourage
|
||||
B to be deleted.
|
||||
|
||||
To compute (1):
|
||||
|
||||
git rev-list ^master ^topic next
|
||||
git rev-list ^master next
|
||||
|
||||
if these match, topic has not merged in next at all.
|
||||
|
||||
To compute (2):
|
||||
|
||||
git rev-list master..topic
|
||||
|
||||
if this is empty, it is fully merged to "master".
|
||||
|
||||
DOC_END
|
||||
@ -1,24 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to make use of push options.
|
||||
# The example simply echoes all push options that start with 'echoback='
|
||||
# and rejects all pushes when the "reject" push option is used.
|
||||
#
|
||||
# To enable this hook, rename this file to "pre-receive".
|
||||
|
||||
if test -n "$GIT_PUSH_OPTION_COUNT"
|
||||
then
|
||||
i=0
|
||||
while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
|
||||
do
|
||||
eval "value=\$GIT_PUSH_OPTION_$i"
|
||||
case "$value" in
|
||||
echoback=*)
|
||||
echo "echo from the pre-receive-hook: ${value#*=}" >&2
|
||||
;;
|
||||
reject)
|
||||
exit 1
|
||||
esac
|
||||
i=$((i + 1))
|
||||
done
|
||||
fi
|
||||
@ -1,42 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to prepare the commit log message.
|
||||
# Called by "git commit" with the name of the file that has the
|
||||
# commit message, followed by the description of the commit
|
||||
# message's source. The hook's purpose is to edit the commit
|
||||
# message file. If the hook fails with a non-zero status,
|
||||
# the commit is aborted.
|
||||
#
|
||||
# To enable this hook, rename this file to "prepare-commit-msg".
|
||||
|
||||
# This hook includes three examples. The first one removes the
|
||||
# "# Please enter the commit message..." help message.
|
||||
#
|
||||
# The second includes the output of "git diff --name-status -r"
|
||||
# into the message, just before the "git status" output. It is
|
||||
# commented because it doesn't cope with --amend or with squashed
|
||||
# commits.
|
||||
#
|
||||
# The third example adds a Signed-off-by line to the message, that can
|
||||
# still be edited. This is rarely a good idea.
|
||||
|
||||
COMMIT_MSG_FILE=$1
|
||||
COMMIT_SOURCE=$2
|
||||
SHA1=$3
|
||||
|
||||
/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"
|
||||
|
||||
# case "$COMMIT_SOURCE,$SHA1" in
|
||||
# ,|template,)
|
||||
# /usr/bin/perl -i.bak -pe '
|
||||
# print "\n" . `git diff --cached --name-status -r`
|
||||
# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
|
||||
# *) ;;
|
||||
# esac
|
||||
|
||||
# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
|
||||
# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"
|
||||
# if test -z "$COMMIT_SOURCE"
|
||||
# then
|
||||
# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"
|
||||
# fi
|
||||
@ -1,78 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# An example hook script to update a checked-out tree on a git push.
|
||||
#
|
||||
# This hook is invoked by git-receive-pack(1) when it reacts to git
|
||||
# push and updates reference(s) in its repository, and when the push
|
||||
# tries to update the branch that is currently checked out and the
|
||||
# receive.denyCurrentBranch configuration variable is set to
|
||||
# updateInstead.
|
||||
#
|
||||
# By default, such a push is refused if the working tree and the index
|
||||
# of the remote repository has any difference from the currently
|
||||
# checked out commit; when both the working tree and the index match
|
||||
# the current commit, they are updated to match the newly pushed tip
|
||||
# of the branch. This hook is to be used to override the default
|
||||
# behaviour; however the code below reimplements the default behaviour
|
||||
# as a starting point for convenient modification.
|
||||
#
|
||||
# The hook receives the commit with which the tip of the current
|
||||
# branch is going to be updated:
|
||||
commit=$1
|
||||
|
||||
# It can exit with a non-zero status to refuse the push (when it does
|
||||
# so, it must not modify the index or the working tree).
|
||||
die () {
|
||||
echo >&2 "$*"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Or it can make any necessary changes to the working tree and to the
|
||||
# index to bring them to the desired state when the tip of the current
|
||||
# branch is updated to the new commit, and exit with a zero status.
|
||||
#
|
||||
# For example, the hook can simply run git read-tree -u -m HEAD "$1"
|
||||
# in order to emulate git fetch that is run in the reverse direction
|
||||
# with git push, as the two-tree form of git read-tree -u -m is
|
||||
# essentially the same as git switch or git checkout that switches
|
||||
# branches while keeping the local changes in the working tree that do
|
||||
# not interfere with the difference between the branches.
|
||||
|
||||
# The below is a more-or-less exact translation to shell of the C code
|
||||
# for the default behaviour for git's push-to-checkout hook defined in
|
||||
# the push_to_deploy() function in builtin/receive-pack.c.
|
||||
#
|
||||
# Note that the hook will be executed from the repository directory,
|
||||
# not from the working tree, so if you want to perform operations on
|
||||
# the working tree, you will have to adapt your code accordingly, e.g.
|
||||
# by adding "cd .." or using relative paths.
|
||||
|
||||
if ! git update-index -q --ignore-submodules --refresh
|
||||
then
|
||||
die "Up-to-date check failed"
|
||||
fi
|
||||
|
||||
if ! git diff-files --quiet --ignore-submodules --
|
||||
then
|
||||
die "Working directory has unstaged changes"
|
||||
fi
|
||||
|
||||
# This is a rough translation of:
|
||||
#
|
||||
# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX
|
||||
if git cat-file -e HEAD 2>/dev/null
|
||||
then
|
||||
head=HEAD
|
||||
else
|
||||
head=$(git hash-object -t tree --stdin </dev/null)
|
||||
fi
|
||||
|
||||
if ! git diff-index --quiet --cached --ignore-submodules $head --
|
||||
then
|
||||
die "Working directory has staged changes"
|
||||
fi
|
||||
|
||||
if ! git read-tree -u -m "$commit"
|
||||
then
|
||||
die "Could not update working tree to new HEAD"
|
||||
fi
|
||||
@ -1,128 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# An example hook script to block unannotated tags from entering.
|
||||
# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
|
||||
#
|
||||
# To enable this hook, rename this file to "update".
|
||||
#
|
||||
# Config
|
||||
# ------
|
||||
# hooks.allowunannotated
|
||||
# This boolean sets whether unannotated tags will be allowed into the
|
||||
# repository. By default they won't be.
|
||||
# hooks.allowdeletetag
|
||||
# This boolean sets whether deleting tags will be allowed in the
|
||||
# repository. By default they won't be.
|
||||
# hooks.allowmodifytag
|
||||
# This boolean sets whether a tag may be modified after creation. By default
|
||||
# it won't be.
|
||||
# hooks.allowdeletebranch
|
||||
# This boolean sets whether deleting branches will be allowed in the
|
||||
# repository. By default they won't be.
|
||||
# hooks.denycreatebranch
|
||||
# This boolean sets whether remotely creating branches will be denied
|
||||
# in the repository. By default this is allowed.
|
||||
#
|
||||
|
||||
# --- Command line
|
||||
refname="$1"
|
||||
oldrev="$2"
|
||||
newrev="$3"
|
||||
|
||||
# --- Safety check
|
||||
if [ -z "$GIT_DIR" ]; then
|
||||
echo "Don't run this script from the command line." >&2
|
||||
echo " (if you want, you could supply GIT_DIR then run" >&2
|
||||
echo " $0 <ref> <oldrev> <newrev>)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
|
||||
echo "usage: $0 <ref> <oldrev> <newrev>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# --- Config
|
||||
allowunannotated=$(git config --type=bool hooks.allowunannotated)
|
||||
allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch)
|
||||
denycreatebranch=$(git config --type=bool hooks.denycreatebranch)
|
||||
allowdeletetag=$(git config --type=bool hooks.allowdeletetag)
|
||||
allowmodifytag=$(git config --type=bool hooks.allowmodifytag)
|
||||
|
||||
# check for no description
|
||||
projectdesc=$(sed -e '1q' "$GIT_DIR/description")
|
||||
case "$projectdesc" in
|
||||
"Unnamed repository"* | "")
|
||||
echo "*** Project description file hasn't been set" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# --- Check types
|
||||
# if $newrev is 0000...0000, it's a commit to delete a ref.
|
||||
zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
|
||||
if [ "$newrev" = "$zero" ]; then
|
||||
newrev_type=delete
|
||||
else
|
||||
newrev_type=$(git cat-file -t $newrev)
|
||||
fi
|
||||
|
||||
case "$refname","$newrev_type" in
|
||||
refs/tags/*,commit)
|
||||
# un-annotated tag
|
||||
short_refname=${refname##refs/tags/}
|
||||
if [ "$allowunannotated" != "true" ]; then
|
||||
echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
|
||||
echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
refs/tags/*,delete)
|
||||
# delete tag
|
||||
if [ "$allowdeletetag" != "true" ]; then
|
||||
echo "*** Deleting a tag is not allowed in this repository" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
refs/tags/*,tag)
|
||||
# annotated tag
|
||||
if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
|
||||
then
|
||||
echo "*** Tag '$refname' already exists." >&2
|
||||
echo "*** Modifying a tag is not allowed in this repository." >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
refs/heads/*,commit)
|
||||
# branch
|
||||
if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
|
||||
echo "*** Creating a branch is not allowed in this repository" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
refs/heads/*,delete)
|
||||
# delete branch
|
||||
if [ "$allowdeletebranch" != "true" ]; then
|
||||
echo "*** Deleting a branch is not allowed in this repository" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
refs/remotes/*,commit)
|
||||
# tracking branch
|
||||
;;
|
||||
refs/remotes/*,delete)
|
||||
# delete tracking branch
|
||||
if [ "$allowdeletebranch" != "true" ]; then
|
||||
echo "*** Deleting a tracking branch is not allowed in this repository" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# Anything else (is there anything else?)
|
||||
echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# --- Finished
|
||||
exit 0
|
||||
Binary file not shown.
@ -1,6 +0,0 @@
|
||||
# git ls-files --others --exclude-from=.git/info/exclude
|
||||
# Lines that start with '#' are comments.
|
||||
# For a project mostly in C, the following would be a good set of
|
||||
# exclude patterns (uncomment them if you want to use them):
|
||||
# *.[oa]
|
||||
# *~
|
||||
@ -1 +0,0 @@
|
||||
0000000000000000000000000000000000000000 0b4cf703087e2150968826b7508cf119437eba7a Joachim Nielandt <joachim.nielandt@d-n.be> 1635231713 +0200 clone: from https://github.com/bardisty/gruvbox-rofi
|
||||
@ -1 +0,0 @@
|
||||
0000000000000000000000000000000000000000 0b4cf703087e2150968826b7508cf119437eba7a Joachim Nielandt <joachim.nielandt@d-n.be> 1635231713 +0200 clone: from https://github.com/bardisty/gruvbox-rofi
|
||||
@ -1 +0,0 @@
|
||||
0000000000000000000000000000000000000000 0b4cf703087e2150968826b7508cf119437eba7a Joachim Nielandt <joachim.nielandt@d-n.be> 1635231713 +0200 clone: from https://github.com/bardisty/gruvbox-rofi
|
||||
Binary file not shown.
Binary file not shown.
@ -1,12 +0,0 @@
|
||||
# pack-refs with: peeled fully-peeled sorted
|
||||
0b4cf703087e2150968826b7508cf119437eba7a refs/remotes/origin/master
|
||||
06f49c979a4bf9634e4a9000fb1f7b486654091b refs/tags/0.1.0
|
||||
^654ab9700aff378c306a2cc261f2aef82bf31bbe
|
||||
dd357e8b985e6898a997cc1879b5f3f6d314600f refs/tags/0.2.0
|
||||
^570a8dedbccb2a2d0f82a2336f8004237b8e6460
|
||||
857e529c874667d5105f3fc561d7d24c281fc110 refs/tags/0.2.1
|
||||
^d077a59e75764f7d943a4b5c09ab6c96daacd454
|
||||
65539a03cc674d2195f3418fc4c2338c9cbf28d6 refs/tags/0.3.0
|
||||
^849daa3cde19c73dfc6f4280aede0e48a7947d80
|
||||
d98f6ab6aeb9639d5ebb48267850caab3b5f8f00 refs/tags/0.3.1
|
||||
^c96c2359781bcd9c8a1f5a7efbede03892a76e46
|
||||
@ -1 +0,0 @@
|
||||
0b4cf703087e2150968826b7508cf119437eba7a
|
||||
@ -1 +0,0 @@
|
||||
ref: refs/remotes/origin/master
|
||||
@ -1,127 +0,0 @@
|
||||
/* ==========================================================================
|
||||
File: gruvbox-common.rasi
|
||||
Desc: Shared rules between all gruvbox themes
|
||||
Author: bardisty <b@bah.im>
|
||||
Source: https://github.com/bardisty/gruvbox-rofi
|
||||
Modified: Mon Feb 12 2018 06:06:47 PST -0800
|
||||
========================================================================== */
|
||||
|
||||
window {
|
||||
background-color: @background;
|
||||
border: 2;
|
||||
padding: 2;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
message {
|
||||
border: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
textbox {
|
||||
highlight: @highlight;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
listview {
|
||||
border: 2px solid 0 0;
|
||||
padding: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
spacing: 2px;
|
||||
scrollbar: @scrollbar;
|
||||
}
|
||||
|
||||
element {
|
||||
border: 0;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
element.normal.normal {
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
|
||||
element.normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
|
||||
element.normal.active {
|
||||
background-color: @active-background;
|
||||
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: @alternate-normal-background;
|
||||
text-color: @alternate-normal-foreground;
|
||||
}
|
||||
|
||||
element.alternate.urgent {
|
||||
background-color: @alternate-urgent-background;
|
||||
text-color: @alternate-urgent-foreground;
|
||||
}
|
||||
|
||||
element.alternate.active {
|
||||
background-color: @alternate-active-background;
|
||||
text-color: @alternate-active-foreground;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
width: 4px;
|
||||
border: 0;
|
||||
handle-color: @scrollbar-handle;
|
||||
handle-width: 8px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
sidebar {
|
||||
border: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
padding: 2px;
|
||||
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
|
||||
}
|
||||
|
||||
case-indicator,
|
||||
entry,
|
||||
prompt,
|
||||
button {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
|
||||
button.selected {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
|
||||
textbox-prompt-sep {
|
||||
expand: false;
|
||||
str: ":";
|
||||
text-color: @normal-foreground;
|
||||
margin: 0 0.3em 0 0;
|
||||
}
|
||||
@ -1,62 +0,0 @@
|
||||
/* ==========================================================================
|
||||
Rofi color theme
|
||||
|
||||
Based on the Gruvbox color scheme for Vim by morhetz
|
||||
https://github.com/morhetz/gruvbox
|
||||
|
||||
File: gruvbox-dark-hard.rasi
|
||||
Desc: Gruvbox dark (hard contrast) color theme for Rofi
|
||||
Author: bardisty <b@bah.im>
|
||||
Source: https://github.com/bardisty/gruvbox-rofi
|
||||
Modified: Mon Feb 12 2018 06:04:26 PST -0800
|
||||
========================================================================== */
|
||||
|
||||
* {
|
||||
/* Theme settings */
|
||||
highlight: bold italic;
|
||||
scrollbar: true;
|
||||
|
||||
/* Gruvbox dark colors */
|
||||
gruvbox-dark-bg0-hard: #1d2021;
|
||||
gruvbox-dark-bg0: #282828;
|
||||
gruvbox-dark-bg2: #504945;
|
||||
gruvbox-dark-fg0: #fbf1c7;
|
||||
gruvbox-dark-fg1: #ebdbb2;
|
||||
gruvbox-dark-red-dark: #cc241d;
|
||||
gruvbox-dark-red-light: #fb4934;
|
||||
gruvbox-dark-yellow-dark: #d79921;
|
||||
gruvbox-dark-yellow-light: #fabd2f;
|
||||
gruvbox-dark-gray: #a89984;
|
||||
|
||||
/* Theme colors */
|
||||
background: @gruvbox-dark-bg0-hard;
|
||||
background-color: @background;
|
||||
foreground: @gruvbox-dark-fg1;
|
||||
border-color: @gruvbox-dark-gray;
|
||||
separatorcolor: @border-color;
|
||||
scrollbar-handle: @border-color;
|
||||
|
||||
normal-background: @background;
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: @gruvbox-dark-bg0;
|
||||
alternate-normal-foreground: @foreground;
|
||||
selected-normal-background: @gruvbox-dark-bg2;
|
||||
selected-normal-foreground: @gruvbox-dark-fg0;
|
||||
|
||||
active-background: @gruvbox-dark-yellow-dark;
|
||||
active-foreground: @background;
|
||||
alternate-active-background: @active-background;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
selected-active-background: @gruvbox-dark-yellow-light;
|
||||
selected-active-foreground: @active-foreground;
|
||||
|
||||
urgent-background: @gruvbox-dark-red-dark;
|
||||
urgent-foreground: @background;
|
||||
alternate-urgent-background: @urgent-background;
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
selected-urgent-background: @gruvbox-dark-red-light;
|
||||
selected-urgent-foreground: @urgent-foreground;
|
||||
}
|
||||
|
||||
@import "gruvbox-common.rasi"
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
/* ==========================================================================
|
||||
Rofi color theme
|
||||
|
||||
Based on the Gruvbox color scheme for Vim by morhetz
|
||||
https://github.com/morhetz/gruvbox
|
||||
|
||||
File: gruvbox-dark-soft.rasi
|
||||
Desc: Gruvbox dark (soft contrast) color theme for Rofi
|
||||
Author: bardisty <b@bah.im>
|
||||
Source: https://github.com/bardisty/gruvbox-rofi
|
||||
Modified: Mon Feb 12 2018 06:04:37 PST -0800
|
||||
========================================================================== */
|
||||
|
||||
* {
|
||||
/* Theme settings */
|
||||
highlight: bold italic;
|
||||
scrollbar: true;
|
||||
|
||||
/* Gruvbox dark colors */
|
||||
gruvbox-dark-bg0-soft: #32302f;
|
||||
gruvbox-dark-bg1: #3c3836;
|
||||
gruvbox-dark-bg3: #665c54;
|
||||
gruvbox-dark-fg0: #fbf1c7;
|
||||
gruvbox-dark-fg1: #ebdbb2;
|
||||
gruvbox-dark-red-dark: #cc241d;
|
||||
gruvbox-dark-red-light: #fb4934;
|
||||
gruvbox-dark-yellow-dark: #d79921;
|
||||
gruvbox-dark-yellow-light: #fabd2f;
|
||||
gruvbox-dark-gray: #a89984;
|
||||
|
||||
/* Theme colors */
|
||||
background: @gruvbox-dark-bg0-soft;
|
||||
background-color: @background;
|
||||
foreground: @gruvbox-dark-fg1;
|
||||
border-color: @gruvbox-dark-gray;
|
||||
separatorcolor: @border-color;
|
||||
scrollbar-handle: @border-color;
|
||||
|
||||
normal-background: @background;
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: @gruvbox-dark-bg1;
|
||||
alternate-normal-foreground: @foreground;
|
||||
selected-normal-background: @gruvbox-dark-bg3;
|
||||
selected-normal-foreground: @gruvbox-dark-fg0;
|
||||
|
||||
active-background: @gruvbox-dark-yellow-dark;
|
||||
active-foreground: @background;
|
||||
alternate-active-background: @active-background;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
selected-active-background: @gruvbox-dark-yellow-light;
|
||||
selected-active-foreground: @active-foreground;
|
||||
|
||||
urgent-background: @gruvbox-dark-red-dark;
|
||||
urgent-foreground: @background;
|
||||
alternate-urgent-background: @urgent-background;
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
selected-urgent-background: @gruvbox-dark-red-light;
|
||||
selected-urgent-foreground: @urgent-foreground;
|
||||
}
|
||||
|
||||
@import "gruvbox-common.rasi"
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
/* ==========================================================================
|
||||
Rofi color theme
|
||||
|
||||
Based on the Gruvbox color scheme for Vim by morhetz
|
||||
https://github.com/morhetz/gruvbox
|
||||
|
||||
File: gruvbox-dark.rasi
|
||||
Desc: Gruvbox dark color theme for Rofi
|
||||
Author: bardisty <b@bah.im>
|
||||
Source: https://github.com/bardisty/gruvbox-rofi
|
||||
Modified: Mon Feb 12 2018 04:08:43 PST -0800
|
||||
========================================================================== */
|
||||
|
||||
* {
|
||||
/* Theme settings */
|
||||
highlight: bold italic;
|
||||
scrollbar: true;
|
||||
|
||||
/* Gruvbox dark colors */
|
||||
gruvbox-dark-bg0: #282828;
|
||||
gruvbox-dark-bg0-soft: #32302f;
|
||||
gruvbox-dark-bg3: #665c54;
|
||||
gruvbox-dark-fg0: #fbf1c7;
|
||||
gruvbox-dark-fg1: #ebdbb2;
|
||||
gruvbox-dark-red-dark: #cc241d;
|
||||
gruvbox-dark-red-light: #fb4934;
|
||||
gruvbox-dark-yellow-dark: #d79921;
|
||||
gruvbox-dark-yellow-light: #fabd2f;
|
||||
gruvbox-dark-gray: #a89984;
|
||||
|
||||
/* Theme colors */
|
||||
background: @gruvbox-dark-bg0;
|
||||
background-color: @background;
|
||||
foreground: @gruvbox-dark-fg1;
|
||||
border-color: @gruvbox-dark-gray;
|
||||
separatorcolor: @border-color;
|
||||
scrollbar-handle: @border-color;
|
||||
|
||||
normal-background: @background;
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: @gruvbox-dark-bg0-soft;
|
||||
alternate-normal-foreground: @foreground;
|
||||
selected-normal-background: @gruvbox-dark-bg3;
|
||||
selected-normal-foreground: @gruvbox-dark-fg0;
|
||||
|
||||
active-background: @gruvbox-dark-yellow-dark;
|
||||
active-foreground: @background;
|
||||
alternate-active-background: @active-background;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
selected-active-background: @gruvbox-dark-yellow-light;
|
||||
selected-active-foreground: @active-foreground;
|
||||
|
||||
urgent-background: @gruvbox-dark-red-dark;
|
||||
urgent-foreground: @background;
|
||||
alternate-urgent-background: @urgent-background;
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
selected-urgent-background: @gruvbox-dark-red-light;
|
||||
selected-urgent-foreground: @urgent-foreground;
|
||||
}
|
||||
|
||||
@import "gruvbox-common.rasi"
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
/* ==========================================================================
|
||||
Rofi color theme
|
||||
|
||||
Based on the Gruvbox color scheme for Vim by morhetz
|
||||
https://github.com/morhetz/gruvbox
|
||||
|
||||
File: gruvbox-light-hard.rasi
|
||||
Desc: Gruvbox light (hard contrast) color theme for Rofi
|
||||
Author: bardisty <b@bah.im>
|
||||
Source: https://github.com/bardisty/gruvbox-rofi
|
||||
Modified: Mon Feb 12 2018 06:04:48 PST -0800
|
||||
========================================================================== */
|
||||
|
||||
* {
|
||||
/* Theme settings */
|
||||
highlight: bold italic;
|
||||
scrollbar: true;
|
||||
|
||||
/* Gruvbox light colors */
|
||||
gruvbox-light-bg0-hard: #f9f5d7;
|
||||
gruvbox-light-bg0: #fbf1c7;
|
||||
gruvbox-light-bg1: #ebdbb2;
|
||||
gruvbox-light-fg0: #282828;
|
||||
gruvbox-light-fg1: #3c3836;
|
||||
gruvbox-light-red-dark: #9d0006;
|
||||
gruvbox-light-red-light: #cc241d;
|
||||
gruvbox-light-yellow-dark: #b57614;
|
||||
gruvbox-light-yellow-light: #d79921;
|
||||
gruvbox-light-gray: #7c6f64;
|
||||
|
||||
/* Theme colors */
|
||||
background: @gruvbox-light-bg0-hard;
|
||||
background-color: @background;
|
||||
foreground: @gruvbox-light-fg1;
|
||||
border-color: @gruvbox-light-gray;
|
||||
separatorcolor: @border-color;
|
||||
scrollbar-handle: @border-color;
|
||||
|
||||
normal-background: @background;
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: @gruvbox-light-bg0;
|
||||
alternate-normal-foreground: @foreground;
|
||||
selected-normal-background: @gruvbox-light-bg1;
|
||||
selected-normal-foreground: @gruvbox-light-fg0;
|
||||
|
||||
active-background: @gruvbox-light-yellow-dark;
|
||||
active-foreground: @background;
|
||||
alternate-active-background: @active-background;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
selected-active-background: @gruvbox-light-yellow-light;
|
||||
selected-active-foreground: @active-foreground;
|
||||
|
||||
urgent-background: @gruvbox-light-red-dark;
|
||||
urgent-foreground: @background;
|
||||
alternate-urgent-background: @urgent-background;
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
selected-urgent-background: @gruvbox-light-red-light;
|
||||
selected-urgent-foreground: @urgent-foreground;
|
||||
}
|
||||
|
||||
@import "gruvbox-common.rasi"
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
/* ==========================================================================
|
||||
Rofi color theme
|
||||
|
||||
Based on the Gruvbox color scheme for Vim by morhetz
|
||||
https://github.com/morhetz/gruvbox
|
||||
|
||||
File: gruvbox-light-soft.rasi
|
||||
Desc: Gruvbox light (soft contrast) color theme for Rofi
|
||||
Author: bardisty <b@bah.im>
|
||||
Source: https://github.com/bardisty/gruvbox-rofi
|
||||
Modified: Mon Feb 12 2018 06:05:38 PST -0800
|
||||
========================================================================== */
|
||||
|
||||
* {
|
||||
/* Theme settings */
|
||||
highlight: bold italic;
|
||||
scrollbar: true;
|
||||
|
||||
/* Gruvbox light colors */
|
||||
gruvbox-light-bg0-soft: #f2e5bc;
|
||||
gruvbox-light-bg1: #ebdbb2;
|
||||
gruvbox-light-bg2: #d5c4a1;
|
||||
gruvbox-light-fg0: #282828;
|
||||
gruvbox-light-fg1: #3c3836;
|
||||
gruvbox-light-red-dark: #9d0006;
|
||||
gruvbox-light-red-light: #cc241d;
|
||||
gruvbox-light-yellow-dark: #b57614;
|
||||
gruvbox-light-yellow-light: #d79921;
|
||||
gruvbox-light-gray: #7c6f64;
|
||||
|
||||
/* Theme colors */
|
||||
background: @gruvbox-light-bg0-soft;
|
||||
background-color: @background;
|
||||
foreground: @gruvbox-light-fg1;
|
||||
border-color: @gruvbox-light-gray;
|
||||
separatorcolor: @border-color;
|
||||
scrollbar-handle: @border-color;
|
||||
|
||||
normal-background: @background;
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: @gruvbox-light-bg1;
|
||||
alternate-normal-foreground: @foreground;
|
||||
selected-normal-background: @gruvbox-light-bg2;
|
||||
selected-normal-foreground: @gruvbox-light-fg0;
|
||||
|
||||
active-background: @gruvbox-light-yellow-dark;
|
||||
active-foreground: @background;
|
||||
alternate-active-background: @active-background;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
selected-active-background: @gruvbox-light-yellow-light;
|
||||
selected-active-foreground: @active-foreground;
|
||||
|
||||
urgent-background: @gruvbox-light-red-dark;
|
||||
urgent-foreground: @background;
|
||||
alternate-urgent-background: @urgent-background;
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
selected-urgent-background: @gruvbox-light-red-light;
|
||||
selected-urgent-foreground: @urgent-foreground;
|
||||
}
|
||||
|
||||
@import "gruvbox-common.rasi"
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
/* ==========================================================================
|
||||
Rofi color theme
|
||||
|
||||
Based on the Gruvbox color scheme for Vim by morhetz
|
||||
https://github.com/morhetz/gruvbox
|
||||
|
||||
File: gruvbox-light.rasi
|
||||
Desc: Gruvbox light color theme for rofi
|
||||
Author: bardisty <b@bah.im>
|
||||
Source: https://github.com/bardisty/gruvbox-rofi
|
||||
Modified: Mon Feb 12 2018 06:06:06 PST -0800
|
||||
========================================================================== */
|
||||
|
||||
* {
|
||||
/* Theme settings */
|
||||
highlight: bold italic;
|
||||
scrollbar: true;
|
||||
|
||||
/* Gruvbox light colors */
|
||||
gruvbox-light-bg0: #fbf1c7;
|
||||
gruvbox-light-bg0-soft: #f2e5bc;
|
||||
gruvbox-light-bg2: #d5c4a1;
|
||||
gruvbox-light-fg0: #282828;
|
||||
gruvbox-light-fg1: #3c3836;
|
||||
gruvbox-light-gray: #7c6f64;
|
||||
gruvbox-light-red-dark: #9d0006;
|
||||
gruvbox-light-red-light: #cc241d;
|
||||
gruvbox-light-yellow-dark: #b57614;
|
||||
gruvbox-light-yellow-light: #d79921;
|
||||
|
||||
/* Theme colors */
|
||||
background: @gruvbox-light-bg0;
|
||||
background-color: @background;
|
||||
foreground: @gruvbox-light-fg1;
|
||||
border-color: @gruvbox-light-gray;
|
||||
separatorcolor: @border-color;
|
||||
scrollbar-handle: @border-color;
|
||||
|
||||
normal-background: @background;
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: @gruvbox-light-bg0-soft;
|
||||
alternate-normal-foreground: @foreground;
|
||||
selected-normal-background: @gruvbox-light-bg2;
|
||||
selected-normal-foreground: @gruvbox-light-fg0;
|
||||
|
||||
active-background: @gruvbox-light-yellow-dark;
|
||||
active-foreground: @background;
|
||||
alternate-active-background: @active-background;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
selected-active-background: @gruvbox-light-yellow-light;
|
||||
selected-active-foreground: @active-foreground;
|
||||
|
||||
urgent-background: @gruvbox-light-red-dark;
|
||||
urgent-foreground: @background;
|
||||
alternate-urgent-background: @urgent-background;
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
selected-urgent-background: @gruvbox-light-red-light;
|
||||
selected-urgent-foreground: @urgent-foreground;
|
||||
}
|
||||
|
||||
@import "gruvbox-common.rasi"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.5 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.8 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.8 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB |
@ -1,200 +0,0 @@
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
|
||||
# where the sway config lives
|
||||
set $swaydir $HOME/.config/sway
|
||||
|
||||
# load all variables ... 'set x'
|
||||
include $swaydir/variables.conf
|
||||
|
||||
# load sway settings, depends on variables
|
||||
include $swaydir/settings.conf
|
||||
|
||||
# Hide borders for single window
|
||||
hide_edge_borders smart
|
||||
# default_border normal # border + title
|
||||
default_border pixel
|
||||
|
||||
# Don't autofocus with mouse pointer
|
||||
focus_follows_mouse no
|
||||
|
||||
# Font
|
||||
font pango:Hasklig Medium 9
|
||||
|
||||
# https://github.com/Alexays/Waybar/issues/1093#issuecomment-841846291
|
||||
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
exec hash dbus-update-activation-environment 2>/dev/null && \
|
||||
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
# make idea work - should be fine now
|
||||
exec wmname LG3D
|
||||
|
||||
# wayland clipboard manager
|
||||
exec {
|
||||
wl-paste --watch cliphist store
|
||||
}
|
||||
|
||||
# start kanshi for auto-output management
|
||||
exec_always {
|
||||
bash -c "pkill kanshi; kanshi"
|
||||
|
||||
# sway fixes for screensharing
|
||||
# https://github.com/emersion/xdg-desktop-portal-wlr/wiki/%22It-doesn't-work%22-Troubleshooting-Checklist
|
||||
bash -c "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway; systemctl --user stop pipewire xdg-desktop-portal xdg-desktop-portal-wlr; exec systemctl --user start pipewire"
|
||||
}
|
||||
|
||||
|
||||
### Idle configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
exec swayidle -w \
|
||||
timeout 500 'swaylock -f -c 000000 --fade-in 5' \
|
||||
timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep 'swaylock -f -c 000000'
|
||||
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||
# your displays after another 300 seconds, and turn your screens back on when
|
||||
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||
|
||||
### Input configuration
|
||||
input "1267:12590:ELAN0755:00_04F3:312E_Touchpad" {
|
||||
dwt enabled
|
||||
tap enabled
|
||||
# adaptive would be acceleration
|
||||
accel_profile flat
|
||||
natural_scroll enabled
|
||||
pointer_accel 0.5
|
||||
middle_emulation enabled
|
||||
}
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
|
||||
# Disallow endless looping of focus: extreme right is extreme right, don't flip to extreme left whenever you want...
|
||||
focus_wrapping no
|
||||
|
||||
# include the modes - to be mapped in keybinding.conf
|
||||
include $swayconfig/modes.conf
|
||||
|
||||
# include all the keybindings
|
||||
include $swayconfig/keybinding.conf
|
||||
|
||||
##########
|
||||
# PROGRAMS
|
||||
##########
|
||||
assign [class="Thunderbird"] $ws2
|
||||
|
||||
|
||||
######################
|
||||
# MODES
|
||||
######################
|
||||
#mode "resize" {
|
||||
# # left will shrink the containers width
|
||||
# # right will grow the containers width
|
||||
# # up will shrink the containers height
|
||||
# # down will grow the containers height
|
||||
# bindsym $left resize shrink width 10px
|
||||
# bindsym $down resize grow height 10px
|
||||
# bindsym $up resize shrink height 10px
|
||||
# bindsym $right resize grow width 10px
|
||||
# # Ditto, with arrow keys
|
||||
# bindsym $left_alt resize shrink width 10px
|
||||
# bindsym $down_alt resize grow height 10px
|
||||
# bindsym $up_alt resize shrink height 10px
|
||||
# bindsym Right resize grow width 10px
|
||||
# # Return to default mode
|
||||
# bindsym Return mode "default"
|
||||
# bindsym Escape mode "default"
|
||||
#}
|
||||
# bindsym $mod+r mode "resize"
|
||||
|
||||
# lock / logout / sleep / hibernate / restart / poweroff
|
||||
# TODO convert this to swaylock
|
||||
#set $mode_system "System l e s鈴 h rﰇ וּsﮤ"
|
||||
#mode $mode_system {
|
||||
# bindsym l exec --no-startup-id ~/.config/i3/i3exit.sh lock, mode "default"
|
||||
# bindsym e exec --no-startup-id ~/.config/i3/i3exit.sh logout, mode "default"
|
||||
# bindsym s exec --no-startup-id systemctl suspend, mode "default"
|
||||
# bindsym h exec --no-startup-id ~/.config/i3/i3exit.sh hibernate, mode "default"
|
||||
# bindsym r exec --no-startup-id ~/.config/i3/i3exit.sh reboot, mode "default"
|
||||
# bindsym Shift+s exec --no-startup-id ~/.config/i3/i3exit.sh shutdown, mode "default"
|
||||
# # back to normal: Enter or Escape
|
||||
# bindsym Return mode "default"
|
||||
# bindsym Escape mode "default"
|
||||
#}
|
||||
#bindsym $mod+Pause mode $mode_system
|
||||
#bindsym $mod+F12 mode $mode_system
|
||||
|
||||
|
||||
# toggle keyboard layouts with scroll lock
|
||||
input "type:keyboard" {
|
||||
xkb_layout us,us
|
||||
xkb_variant intl,
|
||||
xkb_options grp:sclk_toggle
|
||||
}
|
||||
$bindsym $mod+F9 mode "$mode_keyboard"
|
||||
|
||||
|
||||
#############
|
||||
# Status Bar
|
||||
#############
|
||||
# Waybar
|
||||
bar swaybar_command waybar
|
||||
|
||||
###################
|
||||
### LAUNCH AT START
|
||||
###################
|
||||
exec --no-startup-id gammastep
|
||||
# overrule mako and start mako
|
||||
exec --no-startup-id pkill dunst
|
||||
exec --no-startup-id mako
|
||||
#exec --no-startup-id kanshi
|
||||
# start multi touch support
|
||||
exec --no-startup-id libinput-gestures-setup start
|
||||
# start greenclip, this somehow fails to start at launch (sometimes?)
|
||||
#exec --no-startup-id greenclip daemon>/dev/null
|
||||
|
||||
# autostart background applications
|
||||
exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec {
|
||||
# $xdg-dirs
|
||||
# $swayidle
|
||||
$mako
|
||||
$swappy_notify
|
||||
# $autostart_dex
|
||||
# $flashfocus
|
||||
$wlsunset
|
||||
# $autotiling
|
||||
# $foot_server
|
||||
$help_menu
|
||||
# $cliphist_store
|
||||
# $cliphist_watch
|
||||
$workspace_icons
|
||||
# $mounting_daemon
|
||||
}
|
||||
exec_always {
|
||||
# $kanshi
|
||||
# $auto_xdg_keyboard
|
||||
# $poweralert
|
||||
# $watch_playerctl
|
||||
# $calendar_daemon
|
||||
# $update_rofi_theme
|
||||
# $create_rofi_config
|
||||
# $swayr_daemon
|
||||
}
|
||||
|
||||
# theme settings
|
||||
exec_always {
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "$gtk-theme"
|
||||
gsettings set org.gnome.desktop.interface icon-theme "$icon-theme"
|
||||
gsettings set org.gnome.desktop.interface cursor-theme "$cursor-theme"
|
||||
gsettings set org.gnome.desktop.interface font-name "$gui-font"
|
||||
gsettings set org.gnome.desktop.interface color-scheme "$gtk-color-scheme"
|
||||
gsettings set org.gnome.desktop.input-sources show-all-sources true
|
||||
gsettings set org.gnome.desktop.interface monospace-font-name "$term-font"
|
||||
kvantummanager --set "$kvantum-theme"
|
||||
}
|
||||
|
||||
####################
|
||||
# SOURCE OTHER FILES
|
||||
####################
|
||||
# pretty important, loads specific fixes, e.g., https://www.reddit.com/r/swaywm/comments/n13tro/problem_with_dbus_auto_activation_in_archsway/
|
||||
# managed directoryw
|
||||
include /etc/sway/config.d/*
|
||||
@ -1,218 +0,0 @@
|
||||
# Default config for sway
|
||||
#
|
||||
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||
#
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
|
||||
### Variables
|
||||
#
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
# Home row direction keys, like vim
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
# Your preferred terminal emulator
|
||||
set $term alacritty
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
# on the original workspace that the command was run on.
|
||||
set $menu dmenu_path | dmenu | xargs swaymsg exec --
|
||||
|
||||
### Output configuration
|
||||
#
|
||||
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
|
||||
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||
#
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
|
||||
### Idle configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# exec swayidle -w \
|
||||
# timeout 300 'swaylock -f -c 000000' \
|
||||
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||
# before-sleep 'swaylock -f -c 000000'
|
||||
#
|
||||
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||
# your displays after another 300 seconds, and turn your screens back on when
|
||||
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||
# dwt enabled
|
||||
# tap enabled
|
||||
# natural_scroll enabled
|
||||
# middle_emulation enabled
|
||||
# }
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
|
||||
### Key bindings
|
||||
#
|
||||
# Basics:
|
||||
#
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
# Move your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# Move the focused window with the same, but add Shift
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace number 1
|
||||
bindsym $mod+2 workspace number 2
|
||||
bindsym $mod+3 workspace number 3
|
||||
bindsym $mod+4 workspace number 4
|
||||
bindsym $mod+5 workspace number 5
|
||||
bindsym $mod+6 workspace number 6
|
||||
bindsym $mod+7 workspace number 7
|
||||
bindsym $mod+8 workspace number 8
|
||||
bindsym $mod+9 workspace number 9
|
||||
bindsym $mod+0 workspace number 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number 1
|
||||
bindsym $mod+Shift+2 move container to workspace number 2
|
||||
bindsym $mod+Shift+3 move container to workspace number 3
|
||||
bindsym $mod+Shift+4 move container to workspace number 4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+6 move container to workspace number 6
|
||||
bindsym $mod+Shift+7 move container to workspace number 7
|
||||
bindsym $mod+Shift+8 move container to workspace number 8
|
||||
bindsym $mod+Shift+9 move container to workspace number 9
|
||||
bindsym $mod+Shift+0 move container to workspace number 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym $left resize shrink width 10px
|
||||
bindsym $down resize grow height 10px
|
||||
bindsym $up resize shrink height 10px
|
||||
bindsym $right resize grow width 10px
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
position top
|
||||
|
||||
# When the status_command prints a new line to stdout, swaybar updates.
|
||||
# The default just shows the current date and time.
|
||||
status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
|
||||
|
||||
colors {
|
||||
statusline #ffffff
|
||||
background #323232
|
||||
inactive_workspace #32323200 #32323200 #5c5c5c
|
||||
}
|
||||
}
|
||||
|
||||
include /etc/sway/config.d/*
|
||||
|
||||
@ -1,182 +0,0 @@
|
||||
### Key bindings
|
||||
## Launch // Terminal ##
|
||||
$bindsym $mod+Return exec $term_cwd
|
||||
$bindsym $mod+Shift+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Launchers
|
||||
bindsym $mod+d exec ~/.config/rofi/runrofi.sh
|
||||
#bindsym $mod+Shift+d exec "albert show"
|
||||
#this is the i3 manager
|
||||
#bindsym $mod+C exec rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
|
||||
bindsym $mod+C exec ~/.config/rofi/runcliphist.sh
|
||||
#
|
||||
|
||||
# Screenshot
|
||||
#bindsym --release Print exec grim -g "$(slurp)" "/home/joachim/pictures/screenshots/$(date +'%s_grim.png')"
|
||||
bindsym --release Print exec ~/scripts/grim.screenshot.sh
|
||||
bindsym $mod+Print exec grimshot save output
|
||||
bindsym $mod+Shift+Print exec grimshot save active
|
||||
#bindsym $mod+Print exec grimshot save area
|
||||
#bindsym Mod4+Mod1+p exec grimshot save output
|
||||
#bindsym Mod4+Ctrl+p exec grimshot save windowscripts/grim.screenshot.sh
|
||||
|
||||
# Custom 'help' screen
|
||||
# bindsym $mod+F1 exec $term -e chezmoi edit ~/.dotfiles/README.md
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||
|
||||
##################
|
||||
# MOVING AROUND
|
||||
##################
|
||||
# Move your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+$left_alt focus left
|
||||
bindsym $mod+$down_alt focus down
|
||||
bindsym $mod+$up_alt focus up
|
||||
bindsym $mod+$right_alt focus right
|
||||
# Move the focused window with the same, but add Shift
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+$left_alt move left
|
||||
bindsym $mod+Shift+$down_alt move down
|
||||
bindsym $mod+Shift+$up_alt move up
|
||||
bindsym $mod+Shift+$right_alt move right
|
||||
# move workspace to left and right monitors
|
||||
bindsym $mod+Shift+bracketleft move workspace to output left
|
||||
bindsym $mod+Shift+bracketright move workspace to output right
|
||||
|
||||
#############
|
||||
# WORKSPACES
|
||||
#############
|
||||
# workspace names
|
||||
set $ws1 number 1
|
||||
set $ws2 number 2
|
||||
set $ws3 number 3
|
||||
set $ws4 number 4
|
||||
set $ws5 number 5
|
||||
set $ws6 number 6
|
||||
set $ws7 number 7
|
||||
set $ws8 number 8
|
||||
set $ws9 number 9
|
||||
set $ws10 number 10
|
||||
# Special workspaces names
|
||||
set $ws11 number 11
|
||||
set $ws12 number 12
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace $ws1
|
||||
bindsym $mod+2 workspace $ws2
|
||||
bindsym $mod+3 workspace $ws3
|
||||
bindsym $mod+4 workspace $ws4
|
||||
bindsym $mod+5 workspace $ws5
|
||||
bindsym $mod+6 workspace $ws6
|
||||
bindsym $mod+7 workspace $ws7
|
||||
bindsym $mod+8 workspace $ws8
|
||||
bindsym $mod+9 workspace $ws9
|
||||
bindsym $mod+0 workspace $ws10
|
||||
bindsym $mod+comma workspace $ws11
|
||||
bindsym $mod+period workspace $ws12
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace $ws1, exec $focus_ws $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace $ws2, exec $focus_ws $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace $ws3, exec $focus_ws $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace $ws4, exec $focus_ws $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace $ws5, exec $focus_ws $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace $ws6, exec $focus_ws $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace $ws7, exec $focus_ws $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace $ws8, exec $focus_ws $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace $ws9, exec $focus_ws $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace $ws10, exec $focus_ws $ws10
|
||||
bindsym $mod+Shift+comma move container to workspace $ws11, exec $focus_ws $ws11
|
||||
bindsym $mod+Shift+period move container to workspace $ws12, exec $focus_ws $ws12
|
||||
|
||||
###############
|
||||
# Layout stuff
|
||||
###############
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+m splith
|
||||
bindsym $mod+n splitv
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+i focus parent
|
||||
# focus the child container
|
||||
bindsym $mod+u focus child
|
||||
# Dunst controls
|
||||
# TODO moved these over to mako
|
||||
bindsym $mod+Ctrl+space exec dunstctl close
|
||||
bindsym $mod+Ctrl+Shift+space exec dunstctl close-all
|
||||
#bindsym $mod+Ctrl+space exec dunstctl history-pop
|
||||
#bindsym $mod+Ctrl+space exec makoctl dismiss
|
||||
|
||||
#############
|
||||
# SCRATCHPAD
|
||||
#############
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+BackSpace move scratchpad
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+BackSpace scratchpad show
|
||||
|
||||
## Launch // Toggle Help ##
|
||||
$bindsym $mod+F1 exec $help
|
||||
|
||||
# allow to kill focused floating shell windows using Esc (manjaro)
|
||||
$bindsym --release Escape [app_id="floating_shell" con_id=__focused__] kill
|
||||
|
||||
# manjaro copy
|
||||
$bindsym --locked XF86MonBrightnessUp exec $brightness_up
|
||||
$bindsym --locked $mod+Shift+b exec $brightness_up
|
||||
$bindsym --locked XF86MonBrightnessDown exec $brightness_down
|
||||
|
||||
# --locked flags allow the buttons to be used whilst the screen is locked.
|
||||
$bindsym --locked XF86AudioRaiseVolume exec $volume_up
|
||||
$bindsym --locked XF86AudioLowerVolume exec $volume_down
|
||||
$bindsym --locked XF86AudioMute exec $volume_mute
|
||||
|
||||
# modes
|
||||
bindsym $mod+r mode $mode_resize
|
||||
bindsym $mod+F12 mode $mode_shutdown
|
||||
bindsym $mod+F11 mode $mode_audio
|
||||
bindsym $mod+Ctrl+k mode $mode_xkbmap
|
||||
bindsym $mod+F10 mode $mode_launch
|
||||
|
||||
## Action // Scale up ##
|
||||
bindsym $mod+equal exec $scale_up
|
||||
## Action // Scale down ##
|
||||
bindsym $mod+minus exec $scale_down
|
||||
|
||||
## Launch // Toggle Help ##
|
||||
$bindsym $mod+question exec $help
|
||||
@ -1,133 +0,0 @@
|
||||
# generic mode colors
|
||||
set $mode_color_foreground $light0
|
||||
set $mode_color_action $bright_green
|
||||
|
||||
# RESIZE
|
||||
set $mode_resize "<span foreground='$mode_color_foreground'></span> \
|
||||
<span foreground='$mode_color_foreground'><b>Resize</b></span> <span foreground='$mode_color_action'>(<b>↑ ↓ ← →</b>)</span> \
|
||||
<span foreground='$mode_color_foreground'><b>Increase Gaps</b></span> <span foreground='$mode_color_action'>(<b>+</b>)</span> \
|
||||
<span foreground='$mode_color_foreground'><b>Decrease Gaps</b></span> <span foreground='$mode_color_action'>(<b>-</b>)</span>"
|
||||
mode --pango_markup $mode_resize {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
$bindsym $left resize shrink width $resizestepsize
|
||||
$bindsym $down resize grow height $resizestepsize
|
||||
$bindsym $up resize shrink height $resizestepsize
|
||||
$bindsym $right resize grow width $resizestepsize
|
||||
$bindsym $left_alt resize shrink width $resizestepsize
|
||||
$bindsym $down_alt resize grow height $resizestepsize
|
||||
$bindsym $up_alt resize shrink height $resizestepsize
|
||||
$bindsym $right_alt resize grow width $resizestepsize
|
||||
$bindsym Shift+$left resize shrink width $resizestepsize
|
||||
$bindsym Shift+$down resize grow height $resizestepsize
|
||||
$bindsym Shift+$up resize shrink height $resizestepsize
|
||||
$bindsym Shift+$right resize grow width $resizestepsize
|
||||
$bindsym Shift+$left_alt resize shrink width $resizestepsize
|
||||
$bindsym Shift+$down_alt resize grow height $resizestepsize
|
||||
$bindsym Shift+$up_alt resize shrink height $resizestepsize
|
||||
$bindsym Shift+$right_alt resize grow width $resizestepsize
|
||||
## Resize // Window Gaps // + - ##
|
||||
$bindsym minus gaps inner current minus 5px
|
||||
$bindsym plus gaps inner current plus 5px
|
||||
# Return to default mode
|
||||
$bindsym Return mode "default"
|
||||
$bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
# SHUTDOWN
|
||||
set $mode_shutdown "\
|
||||
<span foreground='$mode_color_foreground'></span> \
|
||||
<span foreground='$mode_color_foreground'> \
|
||||
<span foreground='$mode_color_action'>(<b>h</b>)</span>hibernate \
|
||||
<span foreground='$mode_color_action'>(<b>l</b>)</span>lock \
|
||||
<span foreground='$mode_color_action'>(<b>e</b>)</span>logout \
|
||||
<span foreground='$mode_color_action'>(<b>r</b>)</span>reboot \
|
||||
<span foreground='$mode_color_action'>(<b>u</b>)</span>suspend \
|
||||
<span foreground='$mode_color_action'>(<b>s</b>)</span>shutdown \
|
||||
</span>"
|
||||
set $purge_cliphist [ $purge_cliphist_logout == 'true' ] && rm -f $HOME/.cache/cliphist/db || exit 0
|
||||
mode --pango_markup $mode_shutdown {
|
||||
# lock
|
||||
$bindsym l mode "default", exec swaylock -i ~/pictures/wallpapers/ethiopia.jpg --clock --indicator --fade-in 0.2 --grace 2
|
||||
# logout
|
||||
$bindsym e exec $purge_cliphist; exec loginctl terminate-user $USER
|
||||
# suspend
|
||||
$bindsym u mode "default", exec systemctl suspend
|
||||
# hibernate
|
||||
$bindsym h mode "default", exec systemctl hibernate
|
||||
# shutdown
|
||||
$bindsym s exec $purge_cliphist; exec systemctl poweroff
|
||||
# reboot
|
||||
$bindsym r exec $purge_cliphist; exec systemctl reboot
|
||||
# Return to default mode.
|
||||
$bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
# AUDIO
|
||||
# some nice symbols to try here: 0| 論b籠i錄
|
||||
set $mode_audio "Audio - + 0 y"
|
||||
mode $mode_audio {
|
||||
# Increase / decrease volume for the running sink only
|
||||
$bindsym k exec $volume_up
|
||||
# Decrease
|
||||
$bindsym j exec $volume_down
|
||||
# Mute sound
|
||||
$bindsym 0 exec $volume_mute
|
||||
# Start mps-youtube
|
||||
$bindsym y exec --no-startup-id urxvt -e mpsyt, mode "default"
|
||||
# Toggle pause/play
|
||||
$bindsym space exec playerctl play-pause
|
||||
#bindsym XF86AudioPause exec playerctl pause
|
||||
#bindsym XF86AudioNext exec playerctl next
|
||||
#bindsym XF86AudioPrev exec playerctl previous
|
||||
# back to normal: Enter or Escape
|
||||
$bindsym Return mode "default"
|
||||
$bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
#set $mode_keyboard "us-intl (a), us-altgr-intl (b)"
|
||||
#mode $mode_keyboard {
|
||||
# bindsym a exec swaymsg input type:keyboard xkb_variant intl
|
||||
# bindsym b exec swaymsg input type:keyboard xkb_variant altgr-intl
|
||||
# bindsym return mode "default"
|
||||
# bindsym escape mode "default"
|
||||
#}
|
||||
#
|
||||
# do a nice menu for keyboard layouts
|
||||
# TODO convert to wayland, using dconf-editor perhaps?
|
||||
set $mode_keys "keys"
|
||||
mode $mode_keys {
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
# do a nice menu for keyboard layouts
|
||||
# TODO convert to wayland, using dconf-editor perhaps?
|
||||
set $mode_xkbmap "Layout aus bus-intl cus-altgr dgb egb-intl fdvorak"
|
||||
mode $mode_xkbmap {
|
||||
bindsym a exec --no-startup-id setxkbmap us, mode "default"
|
||||
bindsym b exec --no-startup-id setxkbmap us intl, mode "default"
|
||||
bindsym c exec --no-startup-id setxkbmap us altgr-intl, mode "default"
|
||||
bindsym d exec --no-startup-id setxkbmap gb, mode "default"
|
||||
bindsym e exec --no-startup-id setxkbmap gb intl, mode "default"
|
||||
bindsym f exec --no-startup-id setxkbmap dvorak, mode "default"
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
# do a nice menu for custom exec launches
|
||||
set $mode_launch " adefault start-up bnoise-fix cdual dhorizontal etearing"
|
||||
mode $mode_launch {
|
||||
# These are all the default programs launching at startup.
|
||||
bindsym a exec thunderbird, exec signal-desktop, exec ferdi, exec obsidian mode "default", exec teams --no-sandbox, exec slack
|
||||
# execute default horizontal layout of monitors
|
||||
bindsym d exec autorandr horizontal, mode "default"
|
||||
# this fixes tearing on nvidia
|
||||
bindsym e exec nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
@ -1,10 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
# wrapper script for foot
|
||||
|
||||
USER_CONFIG_PATH="${HOME}/.config/foot/foot.ini"
|
||||
|
||||
if [ -f "$USER_CONFIG_PATH" ]; then
|
||||
USER_CONFIG=$USER_CONFIG_PATH
|
||||
fi
|
||||
|
||||
foot -c "${USER_CONFIG:-"/usr/share/sway/templates/foot.ini"}" "$@" &
|
||||
@ -1,4 +0,0 @@
|
||||
### Output configuration
|
||||
# Wallpaper
|
||||
output * bg $background fill
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
@ -1,159 +0,0 @@
|
||||
# Add --to-code to bindsym, support for non-latin layouts
|
||||
set $bindsym bindsym --to-code
|
||||
# For user's convenience, the same for unbindsym
|
||||
set $unbindsym unbindsym --to-code
|
||||
|
||||
# background
|
||||
set $background $HOME/pictures/wallpapers/iceland.jpg
|
||||
|
||||
# directories
|
||||
set $swayconfig $HOME/.config/sway
|
||||
set $swayscripts $swayconfig/scripts
|
||||
|
||||
# resize behaviour
|
||||
set $resizestepsize 30px
|
||||
|
||||
|
||||
###
|
||||
### Variables
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
set $mod1 Alt
|
||||
|
||||
# Gruvbox Colors
|
||||
set $dark0_hard #1d2021
|
||||
set $dark0_hard_t #1d2021e6
|
||||
set $dark0 #282828
|
||||
set $dark0_t #282828e6
|
||||
set $dark0_soft #32302f
|
||||
set $dark1 #3c3836
|
||||
set $dark2 #504945
|
||||
set $dark3 #665c54
|
||||
set $dark4 #7c6f64
|
||||
set $gray_245 #928374
|
||||
set $gray_244 #928374
|
||||
set $light0_hard #f9f5d7
|
||||
set $light0 #fbf1c7
|
||||
set $light0_soft #f2e5bc
|
||||
set $light1 #ebdbb2
|
||||
set $light2 #d5c4a1
|
||||
set $light3 #bdae93
|
||||
set $light4 #a89984
|
||||
set $bright_red #fb4934
|
||||
set $bright_green #b8bb26
|
||||
set $bright_yellow #fabd2f
|
||||
set $bright_blue #83a598
|
||||
set $bright_purple #d3869b
|
||||
set $bright_aqua #8ec07c
|
||||
set $bright_orange #fe8019
|
||||
set $neutral_red #cc241d
|
||||
set $neutral_green #98971a
|
||||
set $neutral_yellow #d79921
|
||||
set $neutral_blue #458588
|
||||
set $neutral_purple #b16286
|
||||
set $neutral_aqua #689d6a
|
||||
set $neutral_orange #d65d0e
|
||||
set $faded_red #9d0006
|
||||
set $faded_green #79740e
|
||||
set $faded_yellow #b57614
|
||||
set $faded_blue #076678
|
||||
set $faded_purple #8f3f71
|
||||
set $faded_aqua #427b58
|
||||
set $faded_orange #af3a03
|
||||
set $transparent #ffffff00
|
||||
|
||||
set $background-color $dark0_hard
|
||||
set $text-color $light0_hard_
|
||||
set $selection-color $bright_orange
|
||||
set $accent-color $bright_green
|
||||
|
||||
# manjaro originals
|
||||
set $gtk-theme Matcha-dark-sea
|
||||
set $icon-theme Papirus-Dark-Maia
|
||||
set $cursor-theme xcursor-breeze
|
||||
set $gui-font Roboto 11
|
||||
set $term-font Hasklug Nerd Font Mono 8
|
||||
set $gtk-color-scheme prefer-dark
|
||||
set $kvantum-theme Matcha-Dark
|
||||
|
||||
# Direction keys
|
||||
set $left Left
|
||||
set $down Down
|
||||
set $up Up
|
||||
set $right Right
|
||||
# Alternative direction keys
|
||||
set $left_alt h
|
||||
set $down_alt j
|
||||
set $up_alt k
|
||||
set $right_alt l
|
||||
|
||||
# Your preferred terminal emulator
|
||||
set $term $HOME/.config/sway/scripts/foot.sh
|
||||
set $term_cwd $term -D "$(swaycwd 2>/dev/null || echo $HOME)"
|
||||
set $term_float footclient -a floating_shell
|
||||
|
||||
# onscreen bar
|
||||
set $onscreen_bar $HOME/.config/sway/scripts/wob.sh "$bright_green" "$dark0_hard"
|
||||
|
||||
# brightness control
|
||||
set $brightness $HOME/.config/sway/scripts/brightness.sh
|
||||
set $brightness_up $brightness up | $onscreen_bar
|
||||
set $brightness_down $brightness down | $onscreen_bar
|
||||
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
# on the original workspace that the command was run on.
|
||||
#
|
||||
# this is the default search menu
|
||||
# set $menu dmenu_path | dmenu | xargs swaymsg exec --
|
||||
|
||||
# Layout
|
||||
# window color class border backgr. text indicator child_border
|
||||
client.focused $bright_green $dark0_t $light0_hard $bright_orange $bright_green
|
||||
client.focused_inactive $faded_green $dark0_t $light0_hard $dark0_hard $dark0_hard
|
||||
client.unfocused $dark0_hard_t $dark0_t $light0_hard $dark0_hard $dark0_hard_t
|
||||
client.urgent $bright_green $bright_orange $light0_hard $dark0_hard $bright_orange
|
||||
client.placeholder $bright_green $dark0_t $light0_hard $dark0_hard $dark0_hard
|
||||
client.background $dark0_hard
|
||||
|
||||
# audio control (manjaro)
|
||||
set $sink_volume pactl get-sink-volume @DEFAULT_SINK@ | grep '^Volume:' | cut -d / -f 2 | tr -d ' ' | sed 's/%//'
|
||||
set $source_volume pactl get-source-volume @DEFAULT_SOURCE@ | grep '^Volume:' | cut -d / -f 2 | tr -d ' ' | sed 's/%//'
|
||||
set $volume_down $onscreen_bar $(pactl set-sink-volume @DEFAULT_SINK@ -5% && $sink_volume)
|
||||
set $volume_up $onscreen_bar $(pactl set-sink-volume @DEFAULT_SINK@ +5% && $sink_volume)
|
||||
set $volume_mute $onscreen_bar $(pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-mute @DEFAULT_SINK@ | sed -En "/no/ s/.*/$($sink_volume)/p; /yes/ s/.*/0/p")
|
||||
set $mic_mute $onscreen_bar $(pactl set-source-mute @DEFAULT_SOURCE@ toggle && pactl get-source-mute @DEFAULT_SOURCE@ | sed -En "/no/ s/.*/$($source_volume)/p; /yes/ s/.*/0/p")
|
||||
|
||||
# scaling
|
||||
set $scale_up $swayscripts/scale.sh up
|
||||
set $scale_down $swayscripts/scale.sh down
|
||||
|
||||
# autostarts
|
||||
#set $autostart_dex '[ -x "$(command -v dex)" ] && gdbus wait --session org.kde.StatusNotifierWatcher && dex --autostart'
|
||||
#set $flashfocus '[ -x "$(command -v flashfocus)" ] && flashfocus'
|
||||
set $wlsunset '[ -x "$(command -v wlsunset)" ] && $swayscripts/scripts/sunset.sh "on"'
|
||||
#set $autotiling '[ -x "$(command -v autotiling-rs)" ] && autotiling-rs'
|
||||
#set $foot_server '[ -x "$(command -v foot)" ] && /usr/share/sway/scripts/foot.sh --server'
|
||||
set $workspace_icons '[ -x "$(command -v sworkstyle)" ] && sworkstyle -d -l info -c $HOME/.config/sworkstyle/config.toml &> /tmp/sworkstyle.log'
|
||||
#set $mounting_daemon '[ -x "$(command -v pcmanfm)" ] && pcmanfm -d'
|
||||
## restart kanshi https://github.com/emersion/kanshi/issues/43#issuecomment-531679213
|
||||
#set $kanshi '[ -x "$(command -v kanshi)" ] && pkill kanshi; exec kanshi'
|
||||
#set $xdg-dirs '[ -x "$(command -v xdg-user-dirs-update)" ] && exec xdg-user-dirs-update'
|
||||
## apply the keyboard layout from localectl if no keyboard layout has been set via config.d
|
||||
#set $auto_xdg_keyboard 'grep -q xkb_layout ~/.config/sway/config.d/*.conf || /usr/share/sway/scripts/keyboard.sh'
|
||||
#set $update_rofi_theme 'mkdir -p $HOME/.config/rofi/ && echo $rofi_theme > $HOME/.config/rofi/Manjaro.rasi'
|
||||
#set $create_rofi_config '[ ! -f $HOME/.config/rofi/config.rasi ] && echo '@import \\"Manjaro\\"' > $HOME/.config/rofi/config.rasi'
|
||||
|
||||
# daemons
|
||||
set $mako '$HOME/.config/sway/scripts/mako.sh --font "$term-font" --text-color "$text-color" --border-color "$accent-color" --background-color "$background-color" --border-size 3 --width 400 --height 200 --padding 20 --margin 20 --default-timeout 15000'
|
||||
set $swappy_notify '[ -x "$(command -v swappy)" ] && /usr/share/sway/scripts/screenshot-notify.sh'
|
||||
#set $poweralert '[ -x "$(command -v poweralertd)" ] && pkill poweralertd; poweralertd -s -i "line power" &'
|
||||
#set $swayr_daemon '[ -x "$(command -v swayrd)" ] && pkill swayrd; RUST_BACKTRACE=1 RUST_LOG=swayr=debug swayrd &> /tmp/swayrd.log'
|
||||
#set $cliphist_watch '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch pkill -RTMIN+9 waybar'
|
||||
#set $cliphist_store '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch cliphist store'
|
||||
#set $calendar_daemon 'calcurse --daemon'
|
||||
set $nm_applet '[ -x "$(command -v nm-applet)" ] && nm-applet'
|
||||
#set $watch_playerctl '[ -x "$(command -v playerctl)" ] && pkill playerctl; playerctl -a metadata --format \'{{status}} {{title}}\' --follow | while read line; do pkill -RTMIN+5 waybar; done'
|
||||
|
||||
# used when auto focusing moved windows, for example
|
||||
set $focus_ws [ $focus_after_move == 'true' ] && swaymsg workspace
|
||||
@ -1,38 +0,0 @@
|
||||
# get an overview of all open windows etc
|
||||
# swaymsg -t get_tree
|
||||
|
||||
fallback = ''
|
||||
|
||||
[matching]
|
||||
'/(?i)Github.*Firefox/' = ''
|
||||
'/node/' = ''
|
||||
'/npm/' = ''
|
||||
'/nvim ?\w*/' = ''
|
||||
'/yarn/' = ''
|
||||
'Alacritty' = ''
|
||||
'Bitwarden' = ''
|
||||
'Chia Blockchain' = ''
|
||||
'Chromium' = ''
|
||||
'Code' = ''
|
||||
'Emacs' = ''
|
||||
'GitHub Desktop' = ''
|
||||
'Google-chrome' = ''
|
||||
'Insomnia' = ''
|
||||
'Microsoft-edge' = ''
|
||||
'Nightly' = ''
|
||||
'Postman' = ''
|
||||
'Slack' = ''
|
||||
'Spotify' = ''
|
||||
'Steam' = ''
|
||||
'Thunderbird' = ''
|
||||
'balena-etcher' = ''
|
||||
'code-oss' = ''
|
||||
'discord' = ''
|
||||
'firefox' = ''
|
||||
'firefoxdeveloperedition' = ''
|
||||
'foot' = ''
|
||||
'jetbrains-idea-ce' = ''
|
||||
'jetbrains-studio' = ''
|
||||
'org.qbittorrent.qBittorrent' = ''
|
||||
'thunderbird' = ''
|
||||
'vlc' = ''
|
||||
1
dot_config/symlink_i3
Normal file
1
dot_config/symlink_i3
Normal file
@ -0,0 +1 @@
|
||||
../.dotfiles/i3
|
||||
1
dot_config/symlink_oh-my-zsh
Normal file
1
dot_config/symlink_oh-my-zsh
Normal file
@ -0,0 +1 @@
|
||||
../.dotfiles/oh-my-zsh
|
||||
1
dot_config/symlink_polybar
Normal file
1
dot_config/symlink_polybar
Normal file
@ -0,0 +1 @@
|
||||
../.dotfiles/polybar
|
||||
@ -1,198 +0,0 @@
|
||||
[
|
||||
{
|
||||
// TOP BAR
|
||||
"name": "top",
|
||||
"layer": "top",
|
||||
"output": "eDP-1",
|
||||
// styling
|
||||
"height": 30,
|
||||
// modules
|
||||
"modules-left": [],
|
||||
"modules-center": ["sway/window"],
|
||||
"modules-right": ["tray"],
|
||||
|
||||
}
|
||||
,
|
||||
{
|
||||
// BOTTOM BAR
|
||||
"name": "top",
|
||||
"layer": "top", // Waybar at top layer
|
||||
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
||||
"height": 30, // Waybar height (to be removed for auto height)
|
||||
// "width": 1280, // Waybar width
|
||||
"spacing": 4, // Gaps between modules (4px)
|
||||
// Choose the order of the modules
|
||||
"modules-left": ["sway/workspaces", "sway/mode", "custom/media"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2"],
|
||||
// Modules configuration
|
||||
// "sway/workspaces": {
|
||||
// "disable-scroll": true,
|
||||
// "all-outputs": true,
|
||||
// "format": "{name}: {icon}",
|
||||
// "format-icons": {
|
||||
// "1": "",
|
||||
// "2": "",
|
||||
// "3": "",
|
||||
// "4": "",
|
||||
// "5": "",
|
||||
// "urgent": "",
|
||||
// "focused": "",
|
||||
// "default": ""
|
||||
// }
|
||||
// },
|
||||
"keyboard-state": {
|
||||
"numlock": true,
|
||||
"capslock": true,
|
||||
"format": "{name} {icon}",
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
//"timezone": "America/New_York",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format": "{:%H:%M %d/%m/%Y}",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
"sway/mode": {
|
||||
//"format": "<span style=\"italic\">{}</span>"
|
||||
"format": "{}"
|
||||
},
|
||||
"mpd": {
|
||||
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
|
||||
"format-disconnected": " ",
|
||||
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||
"unknown-tag": "N/A",
|
||||
"interval": 2,
|
||||
"consume-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"random-icons": {
|
||||
"off": "<span color=\"#f53c3c\"></span> ",
|
||||
"on": " "
|
||||
},
|
||||
"repeat-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"single-icons": {
|
||||
"on": "1 "
|
||||
},
|
||||
"state-icons": {
|
||||
"paused": "",
|
||||
"playing": ""
|
||||
},
|
||||
"tooltip-format": "MPD (connected)",
|
||||
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"cpu": {
|
||||
//"format": "{usage}% {icon}",
|
||||
"format": "{usage}% {icon}",
|
||||
"format-icons": ["<span foreground=\"#b8bb26\"></span>", "<span foreground=\"#f38019\"></span>", "<span foreground=\"#fb4934\"></span>"],
|
||||
"tooltip": true
|
||||
},
|
||||
"memory": {
|
||||
"format": "{}% "
|
||||
},
|
||||
"temperature": {
|
||||
// "thermal-zone": 2,
|
||||
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||
"critical-threshold": 80,
|
||||
// "format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"backlight": {
|
||||
// "device": "acpi_video1",
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"battery#bat2": {
|
||||
"bat": "BAT2"
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "{icon}",
|
||||
"format-alt": "bluetooth: {status}",
|
||||
"format-icons": {
|
||||
"enabled": "",
|
||||
"disabled": ""
|
||||
},
|
||||
"tooltip-format": "{}"
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} ({signalStrength}%) {bandwidthUpBytes} {bandwidthDownBytes} ",
|
||||
"format-ethernet": "{ipaddr}/{cidr} {bandwidthUpBytes} {bandwidthDownBytes} ",
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-disconnected": "Disconnected ⚠",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": "{volume}% ",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/media": {
|
||||
"format": "{icon} {}",
|
||||
"return-type": "json",
|
||||
"max-length": 40,
|
||||
"format-icons": {
|
||||
"spotify": "",
|
||||
"default": "🎜"
|
||||
},
|
||||
"escape": true,
|
||||
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||
},
|
||||
"custom/gpu-temp": {
|
||||
"format": "{icon} {}°C",
|
||||
"max-length": 10,
|
||||
"format-icons": {
|
||||
"default": ""
|
||||
},
|
||||
"escape": true,
|
||||
"exec": "sh $HOME/scripts/gpu.temp.sh 2> /dev/null"
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -1,87 +0,0 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
// Gruvbox scss file
|
||||
// June 18 2017
|
||||
// Author: Will Tanna
|
||||
|
||||
// How to Read:
|
||||
// $gb-dm-dark-red = Gruvbox-DarkMode-Dark-Red
|
||||
// $gb-lm-dark-red = Gruvbox-LightMode-Dark-Red
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Dark Mode
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Dark Background
|
||||
$bg0: #282828;
|
||||
$bg0-hard: #1d2021;
|
||||
$bg0-soft: #32302f;
|
||||
$bg1: #3c3836;
|
||||
$bg2: #504945;
|
||||
$bg3: #665c54;
|
||||
$bg4: #7c6f64;
|
||||
|
||||
// Dark Foreground
|
||||
$fg0: #fbf1c7;
|
||||
$fg1: #ebdbb2;
|
||||
$fg2: #d5c4a1;
|
||||
$fg3: #bdae93;
|
||||
$fg4: #a89984;
|
||||
|
||||
// Dark Colors
|
||||
$dark-red: #cc241d;
|
||||
$dark-green: #98971a;
|
||||
$dark-yellow: #d79921;
|
||||
$dark-blue: #458588;
|
||||
$dark-purple: #b16286;
|
||||
$dark-aqua: #689d6a;
|
||||
$dark-orange: #d65d0e;
|
||||
$dark-gray: #928374;
|
||||
|
||||
$light-red: #fb4934;
|
||||
$light-green: #b8bb26;
|
||||
$light-yellow: #fabd2f;
|
||||
$light-blue: #83a598;
|
||||
$light-purple: #d3869b;
|
||||
$light-aqua: #8ec07c;
|
||||
$light-orange: #f38019;
|
||||
$light-gray: #a89984;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Light Mode
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Light Background
|
||||
$gb-lm-bg0: #fbf1c7;
|
||||
$gb-lm-bg0-hard: #f9f5d7;
|
||||
$gb-lm-bg0-soft: #f2e5bc;
|
||||
$gb-lm-bg1: #ebdbb2;
|
||||
$gb-lm-bg2: #d5c4a1;
|
||||
$gb-lm-bg3: #bdae93;
|
||||
$gb-lm-bg4: #a89984;
|
||||
|
||||
// Light Foreground
|
||||
$gb-lm-fg0: #282828;
|
||||
$gb-lm-fg1: #3c3836;
|
||||
$gb-lm-fg2: #504945;
|
||||
$gb-lm-fg3: #665c54;
|
||||
$gb-lm-fg4: #7c6f64;
|
||||
|
||||
// Light Colors
|
||||
$gb-lm-dark-red: #cc241d;
|
||||
$gb-lm-dark-green: #98971a;
|
||||
$gb-lm-dark-yellow: #d79921;
|
||||
$gb-lm-dark-blue: #458588;
|
||||
$gb-lm-dark-purple: #b16286;
|
||||
$gb-lm-dark-aqua: #689d6a;
|
||||
$gb-lm-dark-orange: #d65d0e;
|
||||
$gb-lm-dark-gray: #928374;
|
||||
|
||||
$gb-lm-light-red: #9d0006;
|
||||
$gb-lm-light-green: #79740e;
|
||||
$gb-lm-light-yellow: #b57614;
|
||||
$gb-lm-light-blue: #076678;
|
||||
$gb-lm-light-purple: #8f3f71;
|
||||
$gb-lm-light-aqua: #427b58;
|
||||
$gb-lm-light-orange: #af3a03;
|
||||
$gb-lm-light-gray: #7c6f64;
|
||||
@ -1,243 +0,0 @@
|
||||
/* compile with */
|
||||
/* sass -w style.scss style.css */
|
||||
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
/* font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */
|
||||
font-family: Hasklug Nerd Font;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: #282828;
|
||||
color: #fbf1c7;
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
/*
|
||||
&.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
&.solo {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
*/
|
||||
}
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
window#waybar.bottom {
|
||||
border-bottom: 3px solid #7c6f64;
|
||||
}
|
||||
window#waybar.termite {
|
||||
background-color: #282828;
|
||||
}
|
||||
window#waybar.chromium {
|
||||
background-color: #282828;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: #fbf1c7;
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Avoid rounded borders under each workspace name */
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
}
|
||||
#workspaces button:hover {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
box-shadow: inset 0 -3px #fbf1c7;
|
||||
}
|
||||
#workspaces button.focused {
|
||||
background-color: #504945;
|
||||
box-shadow: inset 0 -3px #fbf1c7;
|
||||
}
|
||||
#workspaces button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #504945;
|
||||
border-bottom: 3px solid #fbf1c7;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#custom-media,
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#mpd {
|
||||
padding: 0 10px;
|
||||
color: #fbf1c7;
|
||||
}
|
||||
|
||||
#window,
|
||||
#workspaces {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #fbf1c7;
|
||||
color: #282828;
|
||||
}
|
||||
}
|
||||
#battery {
|
||||
color: #f38019;
|
||||
}
|
||||
#battery.charging, #battery.plugged {
|
||||
color: #b8bb26;
|
||||
}
|
||||
#battery.critical:not(.charging) {
|
||||
color: #fb4934;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
color: #282828;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
color: #b8bb26;
|
||||
border-bottom: solid 3px #b8bb26;
|
||||
}
|
||||
|
||||
#memory {
|
||||
color: #fabd2f;
|
||||
border-bottom: solid 3px #fabd2f;
|
||||
}
|
||||
|
||||
#disk {
|
||||
color: #83a598;
|
||||
border-bottom: solid 3px #83a598;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
color: #d3869b;
|
||||
border-bottom: solid 3px #d3869b;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: #8ec07c;
|
||||
border-bottom: solid 3px #8ec07c;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: #cc241d;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: #fabd2f;
|
||||
border-bottom: solid 3px #fabd2f;
|
||||
}
|
||||
#pulseaudio.muted {
|
||||
color: #d79921;
|
||||
border-bottom: solid 3px #d79921;
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
min-width: 100px;
|
||||
}
|
||||
#custom-media.custom-spotify {
|
||||
background-color: #66cc99;
|
||||
}
|
||||
#custom-media.custom-vlc {
|
||||
background-color: #ffa000;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
color: #b8bb26;
|
||||
}
|
||||
#temperature.critical {
|
||||
color: #fb4934;
|
||||
}
|
||||
|
||||
#tray {
|
||||
background-color: #282828;
|
||||
}
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #cc241d;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
color: #d65d0e;
|
||||
border-bottom: 3px solid #b16286;
|
||||
}
|
||||
#idle_inhibitor.activated {
|
||||
color: #b8bb26;
|
||||
border-bottom: 3px solid #b8bb26;
|
||||
}
|
||||
|
||||
#mpd {
|
||||
color: #b8bb26;
|
||||
border-bottom: 3px solid #b16286;
|
||||
}
|
||||
#mpd.disconnected {
|
||||
color: #cc241d;
|
||||
border-bottom: 3px solid #cc241d;
|
||||
}
|
||||
#mpd.stopped {
|
||||
color: #458588;
|
||||
border-bottom: 3px solid #458588;
|
||||
}
|
||||
#mpd.paused {
|
||||
color: #83a598;
|
||||
border-bottom: 3px solid #458588;
|
||||
}
|
||||
|
||||
#language {
|
||||
color: #b16286;
|
||||
border-bottom: 3px solid #b16286;
|
||||
}
|
||||
|
||||
#keyboard-state {
|
||||
background: #689d6a;
|
||||
color: #282828;
|
||||
padding: 0 0px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
#keyboard-state > label {
|
||||
padding: 0 5px;
|
||||
}
|
||||
#keyboard-state > label.locked {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
#gpu-temp {
|
||||
color: #b16286;
|
||||
border-bottom: 3px solid #b16286;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=style.css.map */
|
||||
@ -1,301 +0,0 @@
|
||||
/* compile with */
|
||||
/* sass -w style.scss style.css */
|
||||
@import 'gruvbox.scss';
|
||||
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
/* font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */
|
||||
/* font-family: FiraCode Nerd Font Mono; */
|
||||
font-family: Hasklug Nerd Font;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
window {
|
||||
&#waybar {
|
||||
//background-color: $bg0;
|
||||
background-color: $bg0;
|
||||
opacity: 0.9;
|
||||
color: $fg0;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
|
||||
&.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
&.bottom {
|
||||
border-bottom: 3px solid $bg4;
|
||||
}
|
||||
|
||||
/*
|
||||
&.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
&.solo {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
*/
|
||||
|
||||
&.termite {
|
||||
background-color: $bg0;
|
||||
}
|
||||
|
||||
&.chromium {
|
||||
background-color: $bg0;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: $fg0;
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Avoid rounded borders under each workspace name */
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
&:hover {
|
||||
background: $dark-green;
|
||||
color: $light-green;
|
||||
box-shadow: inset 0 -3px $fg0;
|
||||
}
|
||||
|
||||
&.focused {
|
||||
background-color: $bg2;
|
||||
}
|
||||
|
||||
&.visible {
|
||||
box-shadow: inset 0 -3px $light-green;
|
||||
}
|
||||
|
||||
&.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#mode {
|
||||
background-color: $bg2;
|
||||
border-bottom: 3px solid $fg0;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#bluetooth,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#custom-media,
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#mpd {
|
||||
padding: 0 10px;
|
||||
color: $fg0;
|
||||
}
|
||||
|
||||
#window,
|
||||
#workspaces {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#clock {
|
||||
// background-color: #64727D;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: $fg0;
|
||||
color: $bg0;
|
||||
}
|
||||
}
|
||||
|
||||
#battery {
|
||||
//background-color: transparent;
|
||||
color: $light-orange;
|
||||
|
||||
&.charging, &.plugged {
|
||||
color: $light-green;
|
||||
//background-color: $light-green;
|
||||
}
|
||||
|
||||
&.critical:not(.charging) {
|
||||
color: $light-red;
|
||||
//background-color: $light-red;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
}
|
||||
|
||||
#bluetooth {
|
||||
background-color: $light-green;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
color: $bg0;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
color: $light-green;
|
||||
border-bottom: solid 3px $light-green;
|
||||
}
|
||||
|
||||
#memory {
|
||||
color: $light-yellow;
|
||||
border-bottom: solid 3px $light-yellow;
|
||||
}
|
||||
|
||||
#disk {
|
||||
color: $light-blue;
|
||||
border-bottom: solid 3px $light-blue;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
color: $light-purple;
|
||||
border-bottom: solid 3px $light-purple;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: $light-aqua;
|
||||
border-bottom: solid 3px $light-aqua;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: $dark-red;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: $light-yellow;
|
||||
border-bottom: solid 3px $light-yellow;
|
||||
|
||||
&.muted {
|
||||
color: $dark-yellow;
|
||||
border-bottom: solid 3px $dark-yellow;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#custom-media {
|
||||
background-color: $dark-aqua;
|
||||
color: $light-yellow;
|
||||
min-width: 100px;
|
||||
|
||||
&.custom-spotify {
|
||||
background-color: #66cc99;
|
||||
}
|
||||
|
||||
&.custom-vlc {
|
||||
background-color: #ffa000;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#temperature {
|
||||
color: $light-green;
|
||||
|
||||
&.critical {
|
||||
color: $light-red;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#tray {
|
||||
background-color: $bg0;
|
||||
opacity: 0.9;
|
||||
|
||||
& > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
& > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: $dark-red;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#idle_inhibitor {
|
||||
color: $dark-orange;
|
||||
border-bottom: 3px solid $dark-purple;
|
||||
|
||||
&.activated {
|
||||
color: $light-green;
|
||||
border-bottom: 3px solid $light-green;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#mpd {
|
||||
color: $light-green;
|
||||
border-bottom: 3px solid $dark-purple;
|
||||
|
||||
&.disconnected {
|
||||
color: $dark-red;
|
||||
border-bottom: 3px solid $dark-red;
|
||||
}
|
||||
|
||||
&.stopped {
|
||||
color: $dark-blue;
|
||||
border-bottom: 3px solid $dark-blue;
|
||||
}
|
||||
|
||||
&.paused {
|
||||
color: $light-blue;
|
||||
border-bottom: 3px solid $dark-blue;
|
||||
}
|
||||
}
|
||||
|
||||
#language {
|
||||
//background: #00b093;
|
||||
color: $dark-purple;
|
||||
border-bottom: 3px solid $dark-purple;
|
||||
// padding: 0 5px;
|
||||
// margin: 0 5px;
|
||||
// min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state {
|
||||
background: $dark-aqua;
|
||||
color: $bg0;
|
||||
padding: 0 0px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
|
||||
& > label {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
& > label.locked {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
#gpu-temp {
|
||||
color: $light-green;
|
||||
|
||||
&.critical {
|
||||
color: $light-red;
|
||||
}
|
||||
}
|
||||
@ -1,9 +0,0 @@
|
||||
mode=drun,run
|
||||
run-always_parse_args=true
|
||||
term=foot
|
||||
allow_images=true
|
||||
hide_scroll=true
|
||||
insensitive=true
|
||||
prompt=
|
||||
height=40%
|
||||
width=20%
|
||||
@ -1 +0,0 @@
|
||||
set selection-clipboard clipboard
|
||||
@ -1,5 +1,5 @@
|
||||
# Zu's dotfiles
|
||||
These dotfiles are managed by chezmoi. Feel free to use these file and remove all functionality from your pc.
|
||||
It seems something everyone's doing: keep everything (dot / config files) together in one single directory and then symlink wherever appropriate. Feel free to use these files at your own peril.
|
||||
|
||||
Everything below assumes this repo is cloned in ~/.dotfiles.
|
||||
|
||||
@ -19,7 +19,6 @@ Everything below assumes this repo is cloned in ~/.dotfiles.
|
||||
- dunst
|
||||
- rofi-dmenu (optional, makes rofi take over role of dmenu)
|
||||
- xsel (needed by vim copy-to-clipboard plugin)
|
||||
- scrot (screenshotting)
|
||||
|
||||
## Setup
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
# Generated by Powerlevel10k configuration wizard on 2023-05-06 at 12:04 CEST.
|
||||
# Based on romkatv/powerlevel10k/config/p10k-classic.zsh, checksum 08042.
|
||||
# Generated by Powerlevel10k configuration wizard on 2020-07-10 at 20:21 CEST.
|
||||
# Based on romkatv/powerlevel10k/config/p10k-classic.zsh, checksum 18245.
|
||||
# Wizard options: nerdfont-complete + powerline, small icons, classic, unicode, dark,
|
||||
# 24h time, angled separators, sharp heads, flat tails, 2 lines, disconnected, no frame,
|
||||
# compact, many icons, concise, instant_prompt=verbose.
|
||||
# 24h time, vertical separators, slanted heads, flat tails, 2 lines, solid, no frame,
|
||||
# sparse, many icons, concise, instant_prompt=verbose.
|
||||
# Type `p10k configure` to generate another config.
|
||||
#
|
||||
# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate
|
||||
@ -27,9 +27,9 @@
|
||||
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||
|
||||
# Zsh >= 5.1 is required.
|
||||
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
|
||||
autoload -Uz is-at-least && is-at-least 5.1 || return
|
||||
|
||||
# Source custom color definition
|
||||
# colors
|
||||
source ~/.dotfiles/colors/gruvbox/termcolor.zsh
|
||||
|
||||
# The list of segments shown on the left. Fill it with the most important segments.
|
||||
@ -75,25 +75,19 @@
|
||||
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)
|
||||
perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
|
||||
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)
|
||||
# terraform_version # terraform version (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)
|
||||
toolbox # toolbox name (https://github.com/containers/toolbox)
|
||||
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)
|
||||
lf # lf shell (https://github.com/gokcehan/lf)
|
||||
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
||||
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)
|
||||
@ -106,7 +100,6 @@
|
||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||
# cpu_arch # CPU architecture
|
||||
time # current time
|
||||
# =========================[ Line #2 ]=========================
|
||||
newline # \n
|
||||
@ -138,7 +131,7 @@
|
||||
typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=
|
||||
|
||||
# Add an empty line before each prompt.
|
||||
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
||||
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.
|
||||
@ -153,8 +146,8 @@
|
||||
# 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 this option.
|
||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
|
||||
# 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
|
||||
@ -168,20 +161,21 @@
|
||||
fi
|
||||
|
||||
# Default background color.
|
||||
#typeset -g POWERLEVEL9K_BACKGROUND=236
|
||||
typeset -g POWERLEVEL9K_BACKGROUND=$gruvbox_dark0_soft
|
||||
|
||||
# Separator between same-color segments on the left.
|
||||
typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%244F\uE0B1'
|
||||
typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%244F\u2502'
|
||||
# Separator between same-color segments on the right.
|
||||
typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%244F\uE0B3'
|
||||
typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%244F\u2502'
|
||||
# Separator between different-color segments on the left.
|
||||
typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
|
||||
typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR=''
|
||||
# Separator between different-color segments on the right.
|
||||
typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
|
||||
typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR=''
|
||||
# The right end of left prompt.
|
||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
|
||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0BC'
|
||||
# The left end of right prompt.
|
||||
typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2'
|
||||
typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0BA'
|
||||
# The left end of left prompt.
|
||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=''
|
||||
# The right end of right prompt.
|
||||
@ -203,14 +197,14 @@
|
||||
# Red prompt symbol if the last command failed.
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=$gruvbox_bright_red
|
||||
# Default prompt symbol.
|
||||
#
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION=' '
|
||||
#typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯'
|
||||
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=' '
|
||||
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=' '
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION=' '
|
||||
# Prompt symbol in overwrite vi mode.
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION=' '
|
||||
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=
|
||||
@ -232,7 +226,7 @@
|
||||
# Color of the anchor directory segments. Anchor segments are never shortened. The first
|
||||
# segment is always an anchor.
|
||||
typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=$gruvbox_bright_blue
|
||||
# Display anchor directory segments in bold.
|
||||
# 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=(
|
||||
@ -265,11 +259,6 @@
|
||||
# /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 ":<offset>" where <offset> 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
|
||||
@ -291,12 +280,12 @@
|
||||
# the full directory that was used in previous commands.
|
||||
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
|
||||
|
||||
# Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
|
||||
# and POWERLEVEL9K_DIR_CLASSES below.
|
||||
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3
|
||||
# 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 and non-existent directories when
|
||||
# POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3.
|
||||
# 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
|
||||
@ -309,8 +298,8 @@
|
||||
#
|
||||
# Triplets are tried in order. The first triplet whose pattern matches $PWD wins.
|
||||
#
|
||||
# If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories
|
||||
# acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively.
|
||||
# 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:
|
||||
#
|
||||
@ -319,11 +308,10 @@
|
||||
# '~(|/*)' HOME ''
|
||||
# '*' DEFAULT '')
|
||||
#
|
||||
# Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one
|
||||
# of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or
|
||||
# WORK_NON_EXISTENT.
|
||||
# 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
|
||||
# Simply assigning classes to directories don't have any visible effects. It merely gives you an
|
||||
# option to define custom colors and icons for different directory classes.
|
||||
#
|
||||
# # Styling for WORK.
|
||||
@ -338,12 +326,6 @@
|
||||
# typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103
|
||||
# typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39
|
||||
#
|
||||
# # Styling for WORK_NON_EXISTENT.
|
||||
# typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
# typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31
|
||||
# typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103
|
||||
# typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39
|
||||
#
|
||||
# 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.
|
||||
@ -354,16 +336,16 @@
|
||||
# typeset -g POWERLEVEL9K_DIR_PREFIX='%246Fin '
|
||||
|
||||
#####################################[ vcs: git status ]######################################
|
||||
# Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
|
||||
# Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon.
|
||||
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 '
|
||||
|
||||
# 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='?'
|
||||
typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON=''
|
||||
|
||||
# Formatter for Git status.
|
||||
#
|
||||
# Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
||||
# Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
||||
#
|
||||
# You can edit the function to customize how Git status looks.
|
||||
#
|
||||
@ -382,7 +364,7 @@
|
||||
if (( $1 )); then
|
||||
# Styling for up-to-date Git status.
|
||||
local meta='%246F' # grey foreground
|
||||
local clean='%'$gruvbox_bright_green'F' # green foreground
|
||||
local clean='%'$gruvbox_bright_green'F' # green foreground 76
|
||||
local modified='%'$gruvbox_bright_yellow'F' # yellow foreground
|
||||
local untracked='%'$gruvbox_bright_blue'F' # blue foreground
|
||||
local conflicted='%'$gruvbox_bright_red'F' # red foreground
|
||||
@ -396,42 +378,28 @@
|
||||
fi
|
||||
|
||||
local res
|
||||
|
||||
local where # branch or tag
|
||||
if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
|
||||
local branch=${(V)VCS_STATUS_LOCAL_BRANCH}
|
||||
# If local branch name is at most 32 characters long, show it in full.
|
||||
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.
|
||||
(( $#branch > 32 )) && branch[13,-13]="…" # <-- this line
|
||||
res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}"
|
||||
fi
|
||||
(( $#where > 32 )) && where[13,-13]="…"
|
||||
res+="${clean}${where//\%/%%}" # escape %
|
||||
|
||||
if [[ -n $VCS_STATUS_TAG
|
||||
# Show tag only if not on a branch.
|
||||
# Tip: To always show tag, delete the next line.
|
||||
&& -z $VCS_STATUS_LOCAL_BRANCH # <-- this line
|
||||
]]; then
|
||||
local tag=${(V)VCS_STATUS_TAG}
|
||||
# If tag name is at most 32 characters long, show it in full.
|
||||
# Otherwise show the first 12 … the last 12.
|
||||
# Tip: To always show tag name in full without truncation, delete the next line.
|
||||
(( $#tag > 32 )) && tag[13,-13]="…" # <-- this line
|
||||
res+="${meta}#${clean}${tag//\%/%%}"
|
||||
fi
|
||||
|
||||
# Display the current Git commit if there is no branch and no tag.
|
||||
# Tip: To always display the current Git commit, delete the next line.
|
||||
[[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line
|
||||
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
|
||||
# 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//\%/%%}"
|
||||
fi
|
||||
|
||||
# Display "wip" if the latest commit's summary contains "wip" or "WIP".
|
||||
if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then
|
||||
res+=" ${modified}wip"
|
||||
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape %
|
||||
fi
|
||||
|
||||
# ⇣42 if behind the remote.
|
||||
@ -492,6 +460,7 @@
|
||||
typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1
|
||||
|
||||
# Icon color.
|
||||
#typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76
|
||||
typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=$gruvbox_bright_orange
|
||||
typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=$gruvbox_faded_orange
|
||||
# Custom icon.
|
||||
@ -547,7 +516,7 @@
|
||||
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘'
|
||||
|
||||
###################[ command_execution_time: duration of the last command ]###################
|
||||
# Show duration of the last command if takes at least this many seconds.
|
||||
# Show duration of the last command if takes longer than 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
|
||||
@ -622,7 +591,7 @@
|
||||
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 directory, or its grandparent directory, and so on.
|
||||
# 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.
|
||||
@ -735,23 +704,11 @@
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
|
||||
# lf shell color.
|
||||
typeset -g POWERLEVEL9K_LF_FOREGROUND=72
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
|
||||
# xplr shell color.
|
||||
typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
|
||||
# Vim shell indicator color.
|
||||
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=$gruvbox_neutral_green
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION=''
|
||||
|
||||
######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]######
|
||||
# Midnight Commander shell color.
|
||||
@ -763,9 +720,6 @@
|
||||
# Nix shell color.
|
||||
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
|
||||
|
||||
# Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
|
||||
# typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
|
||||
|
||||
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
|
||||
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
|
||||
|
||||
@ -882,17 +836,6 @@
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
################################[ cpu_arch: CPU architecture ]################################
|
||||
# CPU architecture color.
|
||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
|
||||
|
||||
# Hide the segment when on a specific CPU architecture.
|
||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION=
|
||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION=
|
||||
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
##################################[ context: user@hostname ]##################################
|
||||
# Context color when running with privileges.
|
||||
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=$gruvbox_bright_orange
|
||||
@ -922,8 +865,7 @@
|
||||
typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37
|
||||
# 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.
|
||||
# Don't show virtualenv if pyenv is already shown.
|
||||
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=
|
||||
@ -981,10 +923,10 @@
|
||||
#
|
||||
# The default format has the following logic:
|
||||
#
|
||||
# 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or
|
||||
# starts with "$P9K_PYENV_PYTHON_VERSION/".
|
||||
# 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION".
|
||||
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
|
||||
# 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='⭐'
|
||||
@ -1167,16 +1109,6 @@
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############
|
||||
# Perlbrew color.
|
||||
typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67
|
||||
# Show perlbrew version only when in a perl project subdirectory.
|
||||
typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true
|
||||
# Don't show "perl-" at the front.
|
||||
typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
|
||||
# PHP color.
|
||||
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
|
||||
@ -1190,19 +1122,6 @@
|
||||
# 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=160
|
||||
# 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=172
|
||||
@ -1250,16 +1169,10 @@
|
||||
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
|
||||
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
#############[ terraform_version: terraform version (https://www.terraform.io) ]##############
|
||||
# Terraform version color.
|
||||
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
||||
# Show kubecontext only when the command you are typing invokes one of these tools.
|
||||
# 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|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor'
|
||||
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito'
|
||||
|
||||
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
|
||||
# different contexts.
|
||||
@ -1344,9 +1257,9 @@
|
||||
# typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%246Fat '
|
||||
|
||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
||||
# Show aws only when the command you are typing invokes one of these tools.
|
||||
# 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'
|
||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi'
|
||||
|
||||
# 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.
|
||||
@ -1378,12 +1291,6 @@
|
||||
typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
|
||||
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
# AWS segment format. The following parameters are available within the expansion.
|
||||
#
|
||||
# - P9K_AWS_PROFILE The name of the current AWS profile.
|
||||
# - P9K_AWS_REGION The region associated with the current AWS profile.
|
||||
typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}'
|
||||
|
||||
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
|
||||
# AWS Elastic Beanstalk environment color.
|
||||
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
|
||||
@ -1391,18 +1298,18 @@
|
||||
# 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 command you are typing invokes one of these tools.
|
||||
# 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'
|
||||
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi'
|
||||
# Azure account name color.
|
||||
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
||||
# 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|gsutil'
|
||||
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs'
|
||||
# Google cloud color.
|
||||
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
|
||||
|
||||
@ -1418,7 +1325,7 @@
|
||||
# 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 '%%'.
|
||||
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences 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
|
||||
@ -1441,9 +1348,9 @@
|
||||
# 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 command you are typing invokes one of these tools.
|
||||
# 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'
|
||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi'
|
||||
|
||||
# Google application credentials classes for the purpose of using different colors, icons and
|
||||
# expansions with different credentials.
|
||||
@ -1491,19 +1398,9 @@
|
||||
# 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 '%%'.
|
||||
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced by '%%'.
|
||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
|
||||
|
||||
##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]###############
|
||||
# Toolbox color.
|
||||
typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178
|
||||
# Don't display the name of the toolbox if it matches fedora-toolbox-*.
|
||||
typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}'
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
# Custom prefix.
|
||||
# typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%246Fin '
|
||||
|
||||
###############################[ public_ip: public IP address ]###############################
|
||||
# Public IP color.
|
||||
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
|
||||
@ -1518,7 +1415,7 @@
|
||||
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)|tailscale)[0-9]*|(zt.*)'
|
||||
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(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.
|
||||
@ -1532,19 +1429,17 @@
|
||||
# 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_BYTES_DELTA | number of bytes received since last prompt
|
||||
# P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
|
||||
# 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:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$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='[ew].*'
|
||||
typeset -g POWERLEVEL9K_IP_INTERFACE='e.*'
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
@ -1587,11 +1482,15 @@
|
||||
# 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_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"
|
||||
# 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)
|
||||
#
|
||||
# All parameters except P9K_WIFI_BARS are extracted from the output of the following command:
|
||||
#
|
||||
# /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
|
||||
|
||||
####################################[ time: current time ]####################################
|
||||
# Current time color.
|
||||
@ -2,26 +2,20 @@
|
||||
|
||||
# this sets the mod button -> windows key
|
||||
set $mod Mod4
|
||||
set $mod1 Mod1
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
# font pango:monospace 8
|
||||
# overrides title bars -> makes sure i3-gaps can do its thing
|
||||
for_window [class="^.*"] border pixel 2
|
||||
for_window [class="^.*"] border pixel 0
|
||||
|
||||
# for jetbrains windows... focus on dialogs!
|
||||
for_window [class="^jetbrains-.+"][window_type=dialog] focus
|
||||
# fix citrix windows
|
||||
for_window [class="Wfica_Seamless"] floating enable
|
||||
|
||||
# === Borders ===
|
||||
hide_edge_borders smart
|
||||
border_radius 15
|
||||
|
||||
# border radius for the rounded windows
|
||||
# border_radius 0
|
||||
|
||||
# === Workspaces ===
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
# Using the prefix of workspaces in order to be able to define ordering for special workspaces.
|
||||
@ -35,56 +29,41 @@ set $ws7 "7:7"
|
||||
set $ws8 "8:8"
|
||||
set $ws9 "9:9"
|
||||
set $ws10 "10:10"
|
||||
set $wsleft "11:"
|
||||
set $wsright "12:"
|
||||
set $wsleft "11:"
|
||||
set $wsright "12:"
|
||||
|
||||
# automatically assign programs to workspace
|
||||
# using workspace names here, otherwise doesn't work as expected
|
||||
# assign [class="Chromium"] $ws1
|
||||
assign [class="Thunderbird"] $ws2
|
||||
|
||||
# workspace 9: chat
|
||||
assign [class="Slack"] $ws9
|
||||
assign [class="Mattermost"] $ws9
|
||||
assign [class="Hamsket"] $ws9
|
||||
assign [class="discord"] $ws9
|
||||
assign [class="signal"] $ws9
|
||||
assign [class="ferdi"] $ws9
|
||||
assign [class="microsoft teams - preview"] $ws9
|
||||
|
||||
assign [class="obsidian"] $ws8
|
||||
|
||||
assign [class="Wfica_Seamless"] $ws10
|
||||
#assign [class="jetbrains-idea"] 7
|
||||
#assign [class="jetbrains-webstorm"] 8
|
||||
#assign [class="jetbrains-datagrip"] 9
|
||||
|
||||
#disabled this for now, using Ferdi for socials
|
||||
#exec --no-startup-id "i3-msg 'workspace 9:9; append_layout /home/joachim/.config/i3/workspace-9.json'"
|
||||
|
||||
# i3-gaps
|
||||
# 10
|
||||
gaps inner 0
|
||||
# 5
|
||||
gaps outer 0
|
||||
gaps inner 10
|
||||
gaps outer 5
|
||||
|
||||
# Disallow endless looping of focus: extreme right is extreme right, don't flip to extreme left whenever you want...
|
||||
focus_wrapping no
|
||||
|
||||
# font pango:DejaVu Sans Mono 8
|
||||
# font xft:Fantasque Sans Mono 9
|
||||
# font xft:FuraCode Nerd Font 8
|
||||
font xft:Hasklug Nerd Font 8
|
||||
font xft:FuraCode Nerd Font 8
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Shift+Return exec urxvt
|
||||
bindsym $mod+Return exec alacritty
|
||||
bindsym $mod+Return exec urxvt
|
||||
bindsym $mod+Shift+Return exec kitty
|
||||
|
||||
# TODO make this help window a bit fancier
|
||||
bindsym $mod+F1 exec urxvt -e chezmoi edit ~/.dotfiles/README.md
|
||||
bindsym $mod+F1 exec urxvt -e vim ~/.dotfiles/README.md
|
||||
|
||||
# screenshotting
|
||||
# Desktop screenshot
|
||||
@ -104,18 +83,16 @@ bindsym $mod+d exec ~/.config/rofi/runrofi.sh
|
||||
# this uses the output of greenclip (see here https://wiki.archlinux.org/index.php/Greenclip) to show clipboard history in rofi
|
||||
bindsym $mod+c exec rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
|
||||
|
||||
# symbols
|
||||
|
||||
# do a nice menu with mode
|
||||
# lock / logout / sleep / hibernate / restart / poweroff
|
||||
set $mode_system System l e s h r sﮤ
|
||||
set $mode_system System l e s鈴 h rﰇ וּsﮤ
|
||||
mode "$mode_system" {
|
||||
bindsym l exec --no-startup-id ~/.config/i3/i3exit.sh lock, mode "default"
|
||||
bindsym e exec --no-startup-id ~/.config/i3/i3exit.sh logout, mode "default"
|
||||
bindsym s exec --no-startup-id ~/.config/i3/i3exit.sh suspend, mode "default"
|
||||
bindsym h exec --no-startup-id ~/.config/i3/i3exit.sh hibernate, mode "default"
|
||||
bindsym r exec --no-startup-id ~/.config/i3/i3exit.sh reboot, mode "default"
|
||||
bindsym Shift+s exec --no-startup-id ~/.config/i3/i3exit.sh shutdown, mode "default"
|
||||
bindsym l exec --no-startup-id /home/jnieland/.config/i3/i3exit.sh lock, mode "default"
|
||||
bindsym e exec --no-startup-id /home/jnieland/.config/i3/i3exit.sh logout, mode "default"
|
||||
bindsym s exec --no-startup-id /home/jnieland/.config/i3/i3exit.sh suspend, mode "default"
|
||||
bindsym h exec --no-startup-id /home/jnieland/.config/i3/i3exit.sh hibernate, mode "default"
|
||||
bindsym r exec --no-startup-id /home/jnieland/.config/i3/i3exit.sh reboot, mode "default"
|
||||
bindsym Shift+s exec --no-startup-id /home/jnieland/.config/i3/i3exit.sh shutdown, mode "default"
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
@ -123,8 +100,8 @@ mode "$mode_system" {
|
||||
bindsym $mod+Pause mode "$mode_system"
|
||||
bindsym $mod+F12 mode "$mode_system"
|
||||
|
||||
# do a nice menu for monitor values
|
||||
set $mode_redshift Monitor 2,3,4,5,6,7,8洞 j/k
|
||||
# do a nice menu for redshift values
|
||||
set $mode_redshift Redshift <2,3,4,5,6,7,8>k
|
||||
mode "$mode_redshift" {
|
||||
bindsym 2 exec --no-startup-id redshift -P -O 2000
|
||||
bindsym 3 exec --no-startup-id redshift -P -O 3000
|
||||
@ -134,9 +111,6 @@ mode "$mode_redshift" {
|
||||
bindsym 7 exec --no-startup-id redshift -P -O 7000
|
||||
bindsym 8 exec --no-startup-id redshift -P -O 8000
|
||||
|
||||
bindsym k exec --no-startup-id "brightnessctl -c backlight s +10%"
|
||||
bindsym j exec --no-startup-id "brightnessctl -c backlight s 10%-"
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
@ -165,19 +139,12 @@ bindsym $mod+Ctrl+k mode "$mode_xkbmap"
|
||||
set $mode_audio Audio - + 0 y
|
||||
mode "$mode_audio" {
|
||||
# Pulse Audio controls
|
||||
|
||||
# Increase / decrease volume for the running sink only
|
||||
bindsym k exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) +2%
|
||||
bindsym plus exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) +2%
|
||||
bindsym bracketleft exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) +2%
|
||||
|
||||
# decrease
|
||||
bindsym j exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) -2%
|
||||
bindsym minus exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) -2%
|
||||
bindsym bracketright exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) -2%
|
||||
|
||||
# Increase sound volume
|
||||
bindsym plus exec --no-startup-id pactl set-sink-volume 0 +5%
|
||||
# Decrease sound volume
|
||||
bindsym minus exec --no-startup-id pactl set-sink-volume 0 -5%
|
||||
# Mute sound
|
||||
bindsym 0 exec --no-startup-id pactl set-sink-mute $(pactl list short sinks | grep RUNNING | cut -f 1) toggle
|
||||
bindsym 0 exec --no-startup-id pactl set-sink-mute 0 toggle
|
||||
|
||||
# Start mps-youtube
|
||||
bindsym y exec --no-startup-id urxvt -e mpsyt, mode "default"
|
||||
@ -199,18 +166,15 @@ bindsym $mod+F11 mode "$mode_audio"
|
||||
set $mode_launch adefault start-up bnoise-fix cdual dhorizontal etearing
|
||||
mode "$mode_launch" {
|
||||
# These are all the default programs launching at startup.
|
||||
bindsym a exec thunderbird, exec signal-desktop, exec ferdi, exec obsidian mode "default", exec teams --no-sandbox, exec slack
|
||||
# This fixes audio noise (lenovo)
|
||||
# bindsym b exec sudo hda-verb /dev/snd/hwC*D0 0x1d SET_PIN_WIDGET_CONTROL 0x0, mode "default"
|
||||
bindsym a exec hamsket, exec thunderbird, mode "default"
|
||||
# This fixes audio noise
|
||||
bindsym b exec sudo hda-verb /dev/snd/hwC*D0 0x1d SET_PIN_WIDGET_CONTROL 0x0, mode "default"
|
||||
# This bypasses weird xrandr bug, resets to single display, then goes back to triple monitor setup (use autorandr profile here, needs to be set up in advance)
|
||||
#bindsym c exec xrandr --output eDP1 --mode 2560x1440, exec autorandr triple, mode "default"
|
||||
#bindsym c exec autorandr dual2k, mode "default"
|
||||
bindsym c exec autorandr dual2k, mode "default"
|
||||
|
||||
# execute default horizontal layout of monitors
|
||||
bindsym d exec autorandr horizontal, mode "default"
|
||||
|
||||
# this fixes tearing on nvidia
|
||||
# bindsym e exec nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
|
||||
bindsym e exec nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
@ -255,8 +219,8 @@ bindsym $mod+Shift+bracketleft move workspace to output left
|
||||
bindsym $mod+Shift+bracketright move workspace to output right
|
||||
|
||||
# explicit bindings for arandr's setups: might not need these anymore... using autorandr now
|
||||
# bindsym $mod+Shift+Ctrl+1 exec ~/.screenlayout/laptop-only.sh
|
||||
# bindsym $mod+Shift+Ctrl+2 exec ~/.screenlayout/work-desk.sh
|
||||
# bindsym $mod+Shift+Ctrl+1 exec /home/jnieland/.screenlayout/laptop-only.sh
|
||||
# bindsym $mod+Shift+Ctrl+2 exec /home/jnieland/.screenlayout/work-desk.sh
|
||||
|
||||
|
||||
# split in horizontal orientation
|
||||
@ -399,7 +363,7 @@ mode "resize" {
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Edit config files
|
||||
bindsym XF86Tools exec --no-startup-id urxvt -e vim ~/.config/i3/config
|
||||
bindsym XF86Tools exec --no-startup-id urxvt -e vim /home/jnieland/.config/i3/config
|
||||
|
||||
# Pulse Audio controls
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
|
||||
@ -420,12 +384,6 @@ bindsym XF86AudioPrev exec playerctl previous
|
||||
bindsym XF86MonBrightnessUp exec xbacklight -inc 20
|
||||
bindsym XF86MonBrightnessDown exec xbacklight -dec 20
|
||||
|
||||
|
||||
# Dunst controls
|
||||
bindsym $mod+Ctrl+space exec dunstctl close
|
||||
bindsym $mod+Ctrl+Shift+space exec dunstctl close-all
|
||||
bindsym $mod+Ctrl+$mod1+space exec dunstctl history-pop
|
||||
|
||||
# start multi touch support
|
||||
exec --no-startup-id libinput-gestures-setup start
|
||||
|
||||
@ -435,27 +393,17 @@ exec_always --no-startup-id ~/.config/polybar/launch-multi.sh
|
||||
# start the network manager applet
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# start bluetooth applet
|
||||
exec --no-startup-id blueman-applet
|
||||
|
||||
# start the xfce4-power-manager -> helping us do lid / laptop things
|
||||
exec --no-startup-id xfce4-power-manager
|
||||
|
||||
# load the wallpaper
|
||||
exec_always --no-startup-id sh ~/.fehbg
|
||||
|
||||
# start picom: compositor that allows, for example, transparency
|
||||
# on g8 nvidia laptop, experimental-backends seems to be laggy
|
||||
{{- if eq .chezmoi.hostname "nielanjo" }}
|
||||
exec_always --no-startup-id picom
|
||||
{{ else }}
|
||||
exec_always --no-startup-id picom --experimental-backends
|
||||
{{- end }}
|
||||
# start compton: compositor that allows, for example, transparency
|
||||
exec --no-startup-id compton
|
||||
|
||||
# start greenclip, this somehow fails to start at launch (sometimes?)
|
||||
# exec --no-startup-id systemctl --user start greenclip
|
||||
exec --no-startup-id greenclip daemon>/dev/null
|
||||
|
||||
exec --no-startup-id systemctl --user start greenclip
|
||||
|
||||
# reload the walpaper / color configuratin using pywal
|
||||
# exec --no-startup-id wal -R -q
|
||||
@ -463,9 +411,10 @@ exec --no-startup-id greenclip daemon>/dev/null
|
||||
|
||||
# GAPS i3-gaps specific things...
|
||||
# smart gaps: only one window? no gaps!
|
||||
smart_gaps on
|
||||
# smart_gaps on
|
||||
# this removes borders when there's no gaps, nice!
|
||||
#smart_borders no_gaps
|
||||
# smart_borders on|no_gaps
|
||||
smart_borders no_gaps
|
||||
|
||||
# gruvbox colors
|
||||
set $dark0_hard #1d2021
|
||||
@ -512,7 +461,7 @@ set $transparent #ffffff00
|
||||
# set_from_resource $color0 i3wm.color0 #000000
|
||||
|
||||
# window color class [border|backgr.|text|indicator|child_border]
|
||||
client.focused $gray_245 $dark0_hard $light0_hard $bright_orange $bright_green
|
||||
client.focused $gray_245 $dark0_hard $light0_hard $bright_orange $light0_soft
|
||||
client.focused_inactive $dark0_hard $dark0_hard $light0_hard $dark0_hard $dark0_hard
|
||||
client.unfocused $dark0_hard $dark0_hard $light0_hard $dark0_hard #FFFFFF00
|
||||
client.urgent $dark0_hard $dark0 $light0_hard $dark0_hard $bright_orange
|
||||
@ -24,30 +24,30 @@ lock() {
|
||||
# --screen 1
|
||||
# --keylayout 2
|
||||
i3lock -i /home/jnieland/pictures/great-wall-namib.jpg --blur 5 --clock --indicator \
|
||||
--insidever-color=$background \
|
||||
--ringver-color=$col4 \
|
||||
--insidevercolor=$background \
|
||||
--ringvercolor=$col4 \
|
||||
\
|
||||
--insidewrong-color=$background \
|
||||
--ringwrong-color=$col9 \
|
||||
--insidewrongcolor=$background \
|
||||
--ringwrongcolor=$col9 \
|
||||
\
|
||||
--inside-color=$background \
|
||||
--ring-color=$col2 \
|
||||
--line-color=$background \
|
||||
--separator-color=$col11 \
|
||||
--insidecolor=$background \
|
||||
--ringcolor=$col2 \
|
||||
--linecolor=$background \
|
||||
--separatorcolor=$col11 \
|
||||
\
|
||||
--verif-color=$col4 \
|
||||
--wrong-color=$col4 \
|
||||
--time-color=$col4 \
|
||||
--date-color=$col4 \
|
||||
--layout-color=$col4 \
|
||||
--keyhl-color=$col11 \
|
||||
--bshl-color=$col9 \
|
||||
--verifcolor=$col4 \
|
||||
--wrongcolor=$col4 \
|
||||
--timecolor=$col4 \
|
||||
--datecolor=$col4 \
|
||||
--layoutcolor=$col4 \
|
||||
--keyhlcolor=$col11 \
|
||||
--bshlcolor=$col9 \
|
||||
\
|
||||
--blur 5 \
|
||||
--clock \
|
||||
--indicator \
|
||||
--time-str="%H:%M:%S" \
|
||||
--date-str="%A, %m %Y" \
|
||||
--timestr="%H:%M:%S" \
|
||||
--datestr="%A, %m %Y" \
|
||||
|
||||
}
|
||||
|
||||
@ -14,6 +14,8 @@ export EDITOR="vim"
|
||||
export LANG="en_US.UTF-8"
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
|
||||
# If you come from bash you might have to change your $PATH.
|
||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||
# ZSH History
|
||||
export HISTFILE="$HOME/.zsh_history"
|
||||
export HISTSIZE=100000
|
||||
@ -34,13 +36,3 @@ export MANPATH="/usr/local/man:$MANPATH"
|
||||
|
||||
# Add ~/bin to the PATH
|
||||
[ -d "$HOME/bin" ] && export PATH="$HOME/bin:$PATH"
|
||||
|
||||
# add doom emacs to the path
|
||||
#export PATH=$HOME/.emacs.d/bin:$PATH
|
||||
export PATH=$HOME/.config/emacs/bin:$PATH
|
||||
|
||||
export PATH=/home/joachim/.local/share/gem/ruby/3.0.0/bin:$PATH
|
||||
|
||||
# add my own scripts to the path
|
||||
export PATH=$HOME/scripts:$PATH
|
||||
|
||||
@ -48,8 +48,8 @@ zinit light zsh-users/zsh-history-substring-search
|
||||
|
||||
# Enhanced CD command
|
||||
# wait lucid > suppress output on console, messes with p10 setup
|
||||
#zinit wait lucid light-mode for \
|
||||
# b4b4r07/enhancd
|
||||
zinit wait lucid light-mode for \
|
||||
b4b4r07/enhancd
|
||||
|
||||
# Oh-My-Zsh plugins
|
||||
zinit snippet OMZ::plugins/git/git.plugin.zsh
|
||||
@ -16,11 +16,3 @@ alias time='time -p ' # -p for POSIX output
|
||||
|
||||
# git shortcuts
|
||||
alias gac="git add -A && git commit -a"
|
||||
|
||||
alias dddu="docker-compose down && docker-compose up -d"
|
||||
|
||||
# yank the last command from history into the clipboard
|
||||
alias yk="cat ~/.zsh_history | tail -n 2 | head -n 1 | cut -d ';' -f 2- | xclip -selection clipboard"
|
||||
|
||||
# add space after sudo to make it consider aliases, other 'sudo vi' would fail for not aliasing to vim
|
||||
alias sudo="sudo "
|
||||
7
dot_dotfiles/oh-my-zsh/custom/10_finalise.zsh
Normal file
7
dot_dotfiles/oh-my-zsh/custom/10_finalise.zsh
Normal file
@ -0,0 +1,7 @@
|
||||
# load fzf
|
||||
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
||||
|
||||
# Set up SDKMAN
|
||||
export SDKMAN_DIR="/home/jnieland/.sdkman"
|
||||
[[ -s "/home/jnieland/.sdkman/bin/sdkman-init.sh" ]] && source "/home/jnieland/.sdkman/bin/sdkman-init.sh"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user