diff --git a/alacritty/.config/alacritty/alacritty.toml b/alacritty/.config/alacritty/alacritty.toml
new file mode 100644
index 0000000..e3a972b
--- /dev/null
+++ b/alacritty/.config/alacritty/alacritty.toml
@@ -0,0 +1,12 @@
+import = ["/home/hactario/.config/alacritty/dracula.toml", "/home/hactario/.config/alacritty/qgodefro.toml"]
+
+[env]
+TERM = "xterm-256color"
+decorations = "none"
+startup_mode = "Maximized"
+
+[window]
+opacity = 0.70
+
+[scrolling]
+history = 100000
diff --git a/alacritty/.config/alacritty/alacritty.yml b/alacritty/.config/alacritty/alacritty.yml
deleted file mode 100644
index f764e36..0000000
--- a/alacritty/.config/alacritty/alacritty.yml
+++ /dev/null
@@ -1,905 +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
-
-import:
- - ~/.config/alacritty/dracula.yml
- - ~/.config/alacritty/qgodefro.yml
-
-#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: xterm-256color
- # 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. Both lines and columns
- # must be non-zero for this to take effect. 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: 0
- # y: 0
-
- # 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: Maximized
-
- # 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
-
- # Decorations theme variant (Linux/BSD only)
- #
- # Override the variant of the GTK theme/Wayland client side decorations.
- # Commonly supported values are `dark` and `light`. Set this to `None` to use
- # the default theme variant.
- #decorations_theme_variant: None
-
-scrolling:
- # Maximum number of lines in the scrollback buffer.
- # Specifying '0' will disable scrolling.
- history: 100000
-
- # Scrolling distance multiplier.
- #multiplier: 3
-
-# Font configuration
-#font:
- # Normal (roman) font face
- #normal:
- # Font family
- #
- # Default:
- # - (macOS) Menlo
- # - (Linux/BSD) monospace
- # - (Windows) Consolas
- #family: monospace
-
- # The `style` can be specified to pick a specific face.
- #style: Regular
-
- # Bold font face
- #bold:
- # Font family
- #
- # If the bold family is not specified, it will fall back to the
- # value specified for the normal font.
- #family: monospace
-
- # The `style` can be specified to pick a specific face.
- #style: Bold
-
- # Italic font face
- #italic:
- # Font family
- #
- # If the italic family is not specified, it will fall back to the
- # value specified for the normal font.
- #family: monospace
-
- # The `style` can be specified to pick a specific face.
- #style: Italic
-
- # Bold italic font face
- #bold_italic:
- # Font family
- #
- # If the bold italic family is not specified, it will fall back to the
- # value specified for the normal font.
- #family: monospace
-
- # The `style` can be specified to pick a specific face.
- #style: Bold Italic
-
- # Point size
- #size: 11.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
-
- # 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 (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'
-
- # Keyboard 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
-
- # Footer bar
- #
- # Color used for the footer bar on the bottom, used by search regex input,
- # hyperlink URI preview, etc.
- #
- #footer_bar:
- # background: '#c5c8c6'
- # foreground: '#1d1f21'
-
- # 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
-
- # Time after which cursor stops blinking, in seconds.
- #
- # Specifying '0' will disable timeout for blinking.
- #blink_timeout: 5
-
- # 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:
-# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
-# - (Windows) powershell
-#shell:
-# program: /bin/bash
-# args:
-# - --login
-
-# Startup directory
-#
-# Directory the shell is started in. If this is unset, or `None`, the working
-# directory of the parent process will be used.
-#working_directory: None
-
-# Send ESC (\x1b) before characters when alt is pressed.
-#alt_send_esc: true
-
-# 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
-
-# Hints
-#
-# Terminal hints can be used to find text or hyperlink 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 any of `regex` or `hyperlinks` field and either an
- # `action` or a `command` field. The fields `mouse`, `binding` and
- # `post_processing` are optional.
- #
- # The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
- # highlighted.
- #
- # 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 and applies only to
- # `regex` matches.
- #
- # 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{-}\\^⟨⟩`]+"
- # hyperlinks: true
- # 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`.
-# - CenterAroundViCursor
-# Center view around vi mode cursor
-#
-# - 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: Z, mode: Vi|~Search, action: CenterAroundViCursor }
- #- { 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
-
- # Highlight window damage information.
- #highlight_damage: false
diff --git a/alacritty/.config/alacritty/dracula.toml b/alacritty/.config/alacritty/dracula.toml
new file mode 100644
index 0000000..df4366a
--- /dev/null
+++ b/alacritty/.config/alacritty/dracula.toml
@@ -0,0 +1,72 @@
+[colors.bright]
+black = "#6272a4"
+blue = "#d6acff"
+cyan = "#a4ffff"
+green = "#69ff94"
+magenta = "#ff92df"
+red = "#ff6e6e"
+white = "#ffffff"
+yellow = "#ffffa5"
+
+[colors.cursor]
+cursor = "CellForeground"
+text = "CellBackground"
+
+[colors.footer_bar]
+background = "#282a36"
+foreground = "#f8f8f2"
+
+[colors.hints.end]
+background = "#282a36"
+foreground = "#f1fa8c"
+
+[colors.hints.start]
+background = "#f1fa8c"
+foreground = "#282a36"
+
+[colors.line_indicator]
+background = "None"
+foreground = "None"
+
+[colors.normal]
+black = "#21222c"
+blue = "#bd93f9"
+cyan = "#8be9fd"
+green = "#50fa7b"
+magenta = "#ff79c6"
+red = "#ff5555"
+white = "#f8f8f2"
+yellow = "#f1fa8c"
+
+[colors.primary]
+background = "0x0e1419"
+bright_foreground = "#ffffff"
+foreground = "0xf8f8f2"
+
+[colors.search.focused_match]
+background = "#ffb86c"
+foreground = "#44475a"
+
+[colors.search.matches]
+background = "#50fa7b"
+foreground = "#44475a"
+
+[colors.selection]
+background = "#44475a"
+text = "CellForeground"
+
+[colors.vi_mode_cursor]
+cursor = "CellForeground"
+text = "CellBackground"
+
+[font.bold]
+family = "monospace"
+style = "Bold"
+
+[font.normal]
+family = "monospace"
+style = "Regular"
+
+[font.offset]
+x = 1
+y = 1
diff --git a/alacritty/.config/alacritty/dracula.yml b/alacritty/.config/alacritty/dracula.yml
deleted file mode 100644
index a03b708..0000000
--- a/alacritty/.config/alacritty/dracula.yml
+++ /dev/null
@@ -1,145 +0,0 @@
-abspaces: 4
-font:
- # Normal (roman) font face
- normal:
- # Font family
- #
- # Default:
- # - (macOS) Menlo
- # - (Linux/BSD) monospace
- # - (Windows) Consolas
- family: monospace
-
- # The `style` can be specified to pick a specific face.
- style: Regular
-
- # Bold font face
- bold:
- # Font family
- #
- # If the bold family is not specified, it will fall back to the
- # value specified for the normal font.
- family: monospace
-
- # The `style` can be specified to pick a specific face.
- style: Bold
-
- # Italic font face
- #italic:
- # Font family
- #
- # If the italic family is not specified, it will fall back to the
- # value specified for the normal font.
- #family: monospace
-
- # The `style` can be specified to pick a specific face.
- #style: Italic
-
- # Bold italic font face
- #bold_italic:
- # Font family
- #
- # If the bold italic family is not specified, it will fall back to the
- # value specified for the normal font.
- #family: monospace
-
- # The `style` can be specified to pick a specific face.
- #style: Bold Italic
-
- # Point size
- # size: 8.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: 1
- y: 1
-
- # 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 upwards.
- #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`
- #
- # macOS >= 10.14.x:
- #
- # If the font quality on non-retina display looks bad then set
- # `use_thin_strokes` to `true` and enable font smoothing by running the
- # following command:
- # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
- #
- # This is a global setting and will require a log out or restart to take
- # effect.
- #use_thin_strokes: true
-
-# If `true`, bold text is drawn using the bright color variants.
-#draw_bold_text_with_bright_colors: true
-
-# Dracula theme for Alacritty
-# https://draculatheme.com/alacritty
-#
-# Color palette
-# https://spec.draculatheme.com
-#
-# Template
-# https://github.com/alacritty/alacritty/blob/master/alacritty.yml
-
-
-colors:
- primary:
- background: "0x0e1419"
- bright_foreground: '#ffffff'
- foreground: "0xf8f8f2"
- normal:
- black: '#21222c'
- red: '#ff5555'
- green: '#50fa7b'
- yellow: '#f1fa8c'
- blue: '#bd93f9'
- magenta: '#ff79c6'
- cyan: '#8be9fd'
- white: '#f8f8f2'
- bright:
- black: '#6272a4'
- red: '#ff6e6e'
- green: '#69ff94'
- yellow: '#ffffa5'
- blue: '#d6acff'
- magenta: '#ff92df'
- cyan: '#a4ffff'
- white: '#ffffff'
- cursor:
- text: CellBackground
- cursor: CellForeground
- vi_mode_cursor:
- text: CellBackground
- cursor: CellForeground
- search:
- matches:
- foreground: '#44475a'
- background: '#50fa7b'
- focused_match:
- foreground: '#44475a'
- background: '#ffb86c'
- footer_bar:
- background: '#282a36'
- foreground: '#f8f8f2'
- hints:
- start:
- foreground: '#282a36'
- background: '#f1fa8c'
- end:
- foreground: '#f1fa8c'
- background: '#282a36'
- line_indicator:
- foreground: None
- background: None
- selection:
- text: CellForeground
- background: '#44475a'
diff --git a/alacritty/.config/alacritty/qgodefro.toml b/alacritty/.config/alacritty/qgodefro.toml
new file mode 100644
index 0000000..c2191c2
--- /dev/null
+++ b/alacritty/.config/alacritty/qgodefro.toml
@@ -0,0 +1,28 @@
+live_config_reload = true
+
+[bell]
+animation = "EaseOutExpo"
+duration = 2
+
+[colors]
+draw_bold_text_with_bright_colors = true
+
+[scrolling]
+history = 10000
+multiplier = 1
+
+[selection]
+save_to_clipboard = true
+semantic_escape_chars = ",│`|:\"' ()[]{}<>\t"
+
+#[windows]
+#decorations = "none"
+#dynamic_title = true
+#opacity = 0.8
+
+#[windows.class]
+#general = "alacritty"
+
+#[windows.dimensions]
+#columns = 0
+#lines = 0
diff --git a/alacritty/.config/alacritty/qgodefro.yml b/alacritty/.config/alacritty/qgodefro.yml
deleted file mode 100644
index 0f6a2c7..0000000
--- a/alacritty/.config/alacritty/qgodefro.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-windows:
- decorations: none
- opacity: 0.8
- dynamic_title: true
- dimensions:
- columns: 0
- lines: 0
-
- class:
- general: alacritty
-
-scrolling:
- history: 10000
- multiplier: 1
-
-draw_bold_text_with_bright_colors: true
-
-bell:
- animation: EaseOutExpo
- duration: 2
-
-selection:
- semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
- save_to_clipboard: true
-
-live_config_reload: true
diff --git a/dunst/.config/dunst/dunstrc b/dunst/.config/dunst/dunstrc
new file mode 100644
index 0000000..acefd5a
--- /dev/null
+++ b/dunst/.config/dunst/dunstrc
@@ -0,0 +1,326 @@
+[global]
+ ### Display ###
+
+ # Which monitor should the notifications be displayed on.
+ monitor = 2
+
+ # Display notification on focused monitor. Possible modes are:
+ # mouse: follow mouse pointer
+ # keyboard: follow window with keyboard focus
+ # none: don't follow anything
+ #
+ # "keyboard" needs a window manager that exports the
+ # _NET_ACTIVE_WINDOW property.
+ # This should be the case for almost all modern window managers.
+ #
+ # If this option is set to mouse or keyboard, the monitor option
+ # will be ignored.
+ follow = none
+
+ # 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-30+20"
+
+ # 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.).
+ transparency = 20
+
+ # 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 = 6
+
+ # Padding between text and separator.
+ padding = 6
+
+ # Horizontal padding.
+ horizontal_padding = 8
+
+ # Defines width in pixels of frame around the notification window.
+ # Set to 0 to disable.
+ frame_width = 2
+
+ # Defines color of the frame around the notification window.
+ frame_color = "#6272A4"
+
+ # Define a color for the separator.
+ # possible values are:
+ # * auto: dunst tries to find a color fitting to the background;
+ # * foreground: use the same color as the foreground;
+ # * frame: use the same color as the frame;
+ # * anything else will be interpreted as a X color.
+ separator_color = auto
+
+ # Sort messages by urgency.
+ sort = yes
+
+ # 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.
+ # Transient notifications ignore this setting.
+ idle_threshold = 120
+
+ ### Text ###
+
+ font = Hack 10
+
+ # The spacing between lines. If the height is smaller than the
+ # font height, it will get raised to the font height.
+ line_height = 0
+
+ # Possible values are:
+ # full: Allow a small subset of html markup in notifications:
+ # bold
+ # italic
+ # strikethrough
+ # underline
+ #
+ # For a complete reference see
+ # .
+ #
+ # strip: This setting is provided for compatibility with some broken
+ # clients that send markup even though it's not enabled on the
+ # server. Dunst will try to strip the markup but the parsing is
+ # simplistic so using this option outside of matching rules for
+ # specific applications *IS GREATLY DISCOURAGED*.
+ #
+ # no: Disable markup parsing, incoming notifications will be treated as
+ # plain text. Dunst will not advertise that it has the body-markup
+ # capability if this is set as a global setting.
+ #
+ # It's important to note that markup inside the format option will be parsed
+ # regardless of what this is set to.
+ markup = full
+
+ # The format of the message. Possible variables are:
+ # %a appname
+ # %s summary
+ # %b body
+ # %i iconname (including its path)
+ # %I iconname (without its path)
+ # %p progress value if set ([ 0%] to [100%]) or nothing
+ # %n progress value if set without any extra characters
+ # %% Literal %
+ # Markup is allowed
+ format = "%s %a\n%b"
+
+ # Alignment of message text.
+ # Possible values are "left", "center" and "right".
+ alignment = left
+
+ # Show age of message if message is older than show_age_threshold
+ # seconds.
+ # Set to -1 to disable.
+ show_age_threshold = 60
+
+ # 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
+
+ # Merge multiple notifications with the same content
+ stack_duplicates = true
+
+ # Hide the count of merged notifications with the same content
+ hide_duplicate_count = false
+
+ # Display indicators for URLs (U) and actions (A).
+ show_indicators = yes
+
+ ### Icons ###
+
+ # Align icons left/right/off
+ icon_position = left
+
+ # Scale larger icons down to this size, set to 0 to disable
+ max_icon_size = 128
+
+ # Paths to default icons.
+ icon_path = /run/current-system/sw/share/icons/hicolor/128x128/status:/run/current-system/sw/share/icons/hicolor/128x128/devices:/run/current-system/sw/share/icons/hicolor/128x128/actions:/usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
+
+ ### History ###
+
+ # Should a notification popped up from history be sticky or timeout
+ # as if it would normally do.
+ sticky_history = yes
+
+ # Maximum amount of notifications kept in history
+ history_length = 20
+
+ ### Misc/Advanced ###
+
+ # dmenu path.
+ dmenu = /run/current-system/sw/bin/dmenu -p dunst:
+
+ # Browser for opening urls in context menu.
+ browser = /etc/profiles/per-user/hactario/bin/firefox -new-tab
+
+ # Always run rule-defined scripts, even if the notification is suppressed
+ always_run_script = true
+
+ # Define the title of the windows spawned by dunst
+ title = Dunst
+
+ # Define the class of the windows spawned by dunst
+ class = Dunst
+
+ # Print a notification on startup.
+ # This is mainly for error detection, since dbus (re-)starts dunst
+ # automatically after a crash.
+ startup_notification = true
+
+ ### Legacy
+
+ # Use the Xinerama extension instead of RandR for multi-monitor support.
+ # This setting is provided for compatibility with older nVidia drivers that
+ # do not support RandR and using it on systems that support RandR is highly
+ # discouraged.
+ #
+ # By enabling this setting dunst will not be able to detect when a monitor
+ # is connected or disconnected which might break follow mode if the screen
+ # layout changes.
+ force_xinerama = false
+
+# Experimental features that may or may not work correctly. Do not expect them
+# to have a consistent behaviour across releases.
+[experimental]
+ # Calculate the dpi to use on a per-monitor basis.
+ # If this setting is enabled the Xft.dpi value will be ignored and instead
+ # dunst will attempt to calculate an appropriate dpi value for each monitor
+ # using the resolution and physical size. This might be useful in setups
+ # 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+mod1+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+dead_acute
+
+ # 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 = "#282A36"
+ foreground = "#F8F8F2"
+ timeout = 10
+ # Icon for notifications with low urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_normal]
+ background = "#44475A"
+ foreground = "#F8F8F2"
+ timeout = 10
+ # Icon for notifications with normal urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_critical]
+ background = "#6272A4"
+ foreground = "#FF5555"
+ frame_color = "#FF5555"
+ timeout = 0
+ # Icon for notifications with critical urgency, uncomment to enable
+ #icon = /path/to/icon
+
+# 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", "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.
+#
+# SCRIPTING
+# You can specify a script that gets run when the rule matches by
+# setting the "script" option.
+# The script will be called as follows:
+# 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.
+
+#[espeak]
+# summary = "*"
+# script = dunst_espeak.sh
+
+#[script-test]
+# summary = "*script*"
+# script = dunst_test.sh
+
+#[ignore]
+# # This notification will not be displayed
+# summary = "foobar"
+# format = ""
+
+#[history-ignore]
+# # This notification will not be saved in history
+# summary = "foobar"
+# history_ignore = yes
+
+#[signed_on]
+# appname = Pidgin
+# summary = "*signed on*"
+# urgency = low
+#
+#[signed_off]
+# appname = Pidgin
+# summary = *signed off*
+# urgency = low
+#
+#[says]
+# appname = Pidgin
+# summary = *says*
+# urgency = critical
+#
+#[twitter]
+# appname = Pidgin
+# summary = *twitter.com*
+# urgency = normal
+#
+# vim: ft=cfg
\ No newline at end of file
diff --git a/dunst/.config/dunst/spotify.sh b/dunst/.config/dunst/spotify.sh
new file mode 100755
index 0000000..d495184
--- /dev/null
+++ b/dunst/.config/dunst/spotify.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+/usr/bin/spotifycli --statusshort > ~/.config/i3status/spotify.log
\ No newline at end of file
diff --git a/flake.nix b/flake.nix
index f496487..927e414 100644
--- a/flake.nix
+++ b/flake.nix
@@ -12,7 +12,7 @@
};
dotfiles = {
url = "git.ood.ovh:hactarus/dotfiles";
- flake = false;
+ flake = true;
};
outputs = { self, nixpkgs, home-manager, ... } @inputs: {
homeConfigurations.foodogsquared = home-manager.lib.homeManagerConfiguration {
diff --git a/helix/.config/helix/runtime b/helix/.config/helix/runtime
index a90893a..c51ba96 120000
--- a/helix/.config/helix/runtime
+++ b/helix/.config/helix/runtime
@@ -1 +1 @@
-/home/qgodefro/projects/helix/runtime/
\ No newline at end of file
+/etc/profiles/per-user/hactario/lib/runtime
\ No newline at end of file
diff --git a/i3/.config/config b/i3/.config/config
new file mode 100644
index 0000000..d21dc90
--- /dev/null
+++ b/i3/.config/config
@@ -0,0 +1,246 @@
+#!#sh-like
+
+# i3 config file (v4)
+#
+# Please see https://i3wm.org/docs/userguide.html for a complete reference!
+#
+# This config file uses keycodes (bindsym) and was written for the QWERTY
+# layout.
+#
+# To get a config file with the same key positions, but for your current
+# layout, use the i3-config-wizard
+#
+
+set $mod Mod4
+set $term wezterm
+
+# 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
+font pango:Noto Sans 10
+
+# This font is widely installed, provides lots of unicode glyphs, right-to-left
+# text rendering and scalability on retina/hidpi displays (thanks to pango).
+#font pango:DejaVu Sans Mono 8
+
+# https://wiki.archlinux.org/title/Picom
+# https://github.com/chjj/compton/issues/402
+# Inspect windows with: `xwininfo -tree -root`
+exec --no-startup-id picom --backend=egl \
+ --blur-method=dual_kawase --blur-strength=12 \
+ --corner-radius=24 --rounded-corners-exclude='class_g = "Polybar" || class_g = "dmenu"' \
+ --unredir-if-possible-delay=1000 \
+ --shadow --shadow-exclude='class_g = "dmenu"'
+
+# Start XDG autostart .desktop files using dex. See also
+# https://wiki.archlinux.org/index.php/XDG_Autostart
+exec --no-startup-id dex --autostart --environment i3
+
+# The combination of xss-lock, nm-applet and pactl is a popular choice, so
+# they are included here as an example. Modify as you see fit.
+
+# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
+# screen before suspend. Use loginctl lock-session to lock your screen.
+exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
+
+# NetworkManager is the most popular way to manage wireless networks on Linux,
+# and nm-applet is a desktop environment-independent system tray GUI for it.
+exec --no-startup-id nm-applet
+
+exec --no-startup-id feh --bg-fill /home/nehu/Pictures/matcha-set.jpg
+
+exec --no-startup-id pipewire
+exec --no-startup-id pipewire-pulse
+exec --no-startup-id wireplumber
+
+# Focus with keyboard or by clicking only
+focus_follows_mouse no
+
+default_border none
+gaps inner 8
+gaps outer 0
+
+# Use pactl to adjust volume in PulseAudio.
+set $refresh_i3status killall -SIGUSR1 i3status
+#bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
+#bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
+#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
+#bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
+bindsym XF86KbdBrightnessUp exec sudo keyboard-backlight up
+bindsym XF86KbdBrightnessDown exec sudo keyboard-backlight down
+bindsym XF86AudioRaiseVolume exec pamixer -i 5
+bindsym XF86AudioLowerVolume exec pamixer -d 5
+bindsym XF86AudioMute exec pamixer --toggle-mute
+bindsym XF86MonBrightnessDown exec sudo brightnessctl set 10%-
+bindsym XF86MonBrightnessUp exec sudo brightnessctl set 10%+
+
+# Switch between light/dark mode
+# `darkman` doesn't seem to change the color-scheme value on sway, but `gettings` does...
+bindsym $mod+XF86MonBrightnessDown exec gsettings set org.gnome.desktop.interface color-scheme prefer-dark
+bindsym $mod+XF86MonBrightnessUp exec gsettings set org.gnome.desktop.interface color-scheme prefer-light
+
+bindsym $mod+Shift+s exec spectacle -f
+#bindsym $mod+Shift+s exec flameshot full
+
+# use these keys for focus, movement, and resize directions when reaching for
+# the arrows is not convenient
+set $up l
+set $down k
+set $left j
+set $right semicolon
+
+# use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# move tiling windows via drag & drop by left-clicking into the title bar,
+# or left-clicking anywhere into the window while holding the floating modifier.
+tiling_drag modifier titlebar
+
+# start a terminal
+bindsym $mod+Return exec $term
+#bindsym $mod+Return exec i3-sensible-terminal
+
+# kill focused window
+bindsym $mod+Shift+q kill
+bindsym $mod+q kill
+
+# `i3-dmenu-desktop` is a wrapper around `dmenu` which only displays ".desktop" apps;
+# override the `dmenu` command to match the polybar style
+bindsym $mod+d exec --no-startup-id i3-dmenu-desktop \
+ --dmenu="dmenu -i -nb #282A2E -sb #373B41 -sf #F0C674"
+
+# change focus
+bindsym $mod+$left focus left
+bindsym $mod+$down focus down
+bindsym $mod+$up focus up
+bindsym $mod+$right focus right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# move focused window
+bindsym $mod+Shift+$left move left
+bindsym $mod+Shift+$down move down
+bindsym $mod+Shift+$up move up
+bindsym $mod+Shift+$right move right
+
+# alternatively, you can use the cursor 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
+
+# split in horizontal orientation
+bindsym $mod+h split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f fullscreen toggle
+
+# change container layout (stacked, tabbed, toggle split)
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# change focus between tiling / floating windows
+bindsym $mod+space focus mode_toggle
+
+# focus the parent container
+bindsym $mod+a focus parent
+
+# focus the child container
+#bindsym $mod+d focus child
+
+# 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
+
+# Define names for default workspaces for which we configure key bindings later on.
+# We use variables to avoid repeating the names in multiple places.
+set $ws1 "1"
+set $ws2 "2"
+set $ws3 "3"
+set $ws4 "4"
+set $ws5 "5"
+set $ws6 "6"
+set $ws7 "7"
+set $ws8 "8"
+set $ws9 "9"
+set $ws10 "10"
+
+# switch to workspace
+bindsym $mod+1 workspace number $ws1
+bindsym $mod+2 workspace number $ws2
+bindsym $mod+3 workspace number $ws3
+bindsym $mod+4 workspace number $ws4
+bindsym $mod+5 workspace number $ws5
+bindsym $mod+6 workspace number $ws6
+bindsym $mod+7 workspace number $ws7
+bindsym $mod+8 workspace number $ws8
+bindsym $mod+9 workspace number $ws9
+bindsym $mod+0 workspace number $ws10
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace number $ws1
+bindsym $mod+Shift+2 move container to workspace number $ws2
+bindsym $mod+Shift+3 move container to workspace number $ws3
+bindsym $mod+Shift+4 move container to workspace number $ws4
+bindsym $mod+Shift+5 move container to workspace number $ws5
+bindsym $mod+Shift+6 move container to workspace number $ws6
+bindsym $mod+Shift+7 move container to workspace number $ws7
+bindsym $mod+Shift+8 move container to workspace number $ws8
+bindsym $mod+Shift+9 move container to workspace number $ws9
+bindsym $mod+Shift+0 move container to workspace number $ws10
+
+# reload the configuration file
+bindsym $mod+Shift+c reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+r restart
+# exit i3 (logs you out of your X session)
+bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+ # These bindings trigger as soon as you enter the resize mode
+
+ # Pressing left will shrink the window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindsym $left resize shrink width 10 px or 10 ppt
+ bindsym $down resize grow height 10 px or 10 ppt
+ bindsym $up resize shrink height 10 px or 10 ppt
+ bindsym $right resize grow width 10 px or 10 ppt
+
+ # same bindings, but for the arrow keys
+ bindsym Left resize shrink width 10 px or 10 ppt
+ bindsym Down resize grow height 10 px or 10 ppt
+ bindsym Up resize shrink height 10 px or 10 ppt
+ bindsym Right resize grow width 10 px or 10 ppt
+
+ # back to normal: Enter or Escape or $mod+r
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+ bindsym $mod+r mode "default"
+}
+
+bindsym $mod+r mode "resize"
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+#bar {
+# i3bar_command polybar
+# #status_command i3status
+#}
+exec_always --no-startup-id start-polybar
diff --git a/i3/.config/config.keycodes b/i3/.config/config.keycodes
new file mode 100644
index 0000000..7bc5d60
--- /dev/null
+++ b/i3/.config/config.keycodes
@@ -0,0 +1,189 @@
+# WARNING
+# WARNING: This configuration file is a template for the i3-config-wizard to
+# WARNING: generate a config which uses keysyms in your current layout. It does
+# WARNING: not get loaded by i3. Please do not change it.
+# WARNING
+
+# i3 config file (v4)
+#
+# Please see https://i3wm.org/docs/userguide.html for a complete reference!
+
+set $mod 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
+
+# This font is widely installed, provides lots of unicode glyphs, right-to-left
+# text rendering and scalability on retina/hidpi displays (thanks to pango).
+#font pango:DejaVu Sans Mono 8
+
+# Start XDG autostart .desktop files using dex. See also
+# https://wiki.archlinux.org/index.php/XDG_Autostart
+exec --no-startup-id dex --autostart --environment i3
+
+# The combination of xss-lock, nm-applet and pactl is a popular choice, so
+# they are included here as an example. Modify as you see fit.
+
+# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
+# screen before suspend. Use loginctl lock-session to lock your screen.
+exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
+
+# NetworkManager is the most popular way to manage wireless networks on Linux,
+# and nm-applet is a desktop environment-independent system tray GUI for it.
+exec --no-startup-id nm-applet
+
+# Use pactl to adjust volume in PulseAudio.
+set $refresh_i3status killall -SIGUSR1 i3status
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
+bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# move tiling windows via drag & drop by left-clicking into the title bar,
+# or left-clicking anywhere into the window while holding the floating modifier.
+tiling_drag modifier titlebar
+
+# start a terminal
+bindcode $mod+36 exec i3-sensible-terminal
+
+# kill focused window
+bindcode $mod+Shift+24 kill
+
+# start dmenu (a program launcher)
+bindcode $mod+40 exec --no-startup-id dmenu_run
+# A more modern dmenu replacement is rofi:
+# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
+# There also is i3-dmenu-desktop which only displays applications shipping a
+# .desktop file. It is a wrapper around dmenu, so you need that installed.
+# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
+
+# change focus
+bindcode $mod+44 focus left
+bindcode $mod+45 focus down
+bindcode $mod+46 focus up
+bindcode $mod+47 focus right
+
+# alternatively, you can use the cursor keys:
+bindcode $mod+113 focus left
+bindcode $mod+116 focus down
+bindcode $mod+111 focus up
+bindcode $mod+114 focus right
+
+# move focused window
+bindcode $mod+Shift+44 move left
+bindcode $mod+Shift+45 move down
+bindcode $mod+Shift+46 move up
+bindcode $mod+Shift+47 move right
+
+# alternatively, you can use the cursor keys:
+bindcode $mod+Shift+113 move left
+bindcode $mod+Shift+116 move down
+bindcode $mod+Shift+111 move up
+bindcode $mod+Shift+114 move right
+
+# split in horizontal orientation
+bindcode $mod+43 split h
+
+# split in vertical orientation
+bindcode $mod+55 split v
+
+# enter fullscreen mode for the focused container
+bindcode $mod+41 fullscreen toggle
+
+# change container layout (stacked, tabbed, toggle split)
+bindcode $mod+39 layout stacking
+bindcode $mod+25 layout tabbed
+bindcode $mod+26 layout toggle split
+
+# toggle tiling / floating
+bindcode $mod+Shift+65 floating toggle
+
+# change focus between tiling / floating windows
+bindcode $mod+65 focus mode_toggle
+
+# focus the parent container
+bindcode $mod+38 focus parent
+
+# focus the child container
+#bindsym $mod+d focus child
+
+# Define names for default workspaces for which we configure key bindings later on.
+# We use variables to avoid repeating the names in multiple places.
+set $ws1 "1"
+set $ws2 "2"
+set $ws3 "3"
+set $ws4 "4"
+set $ws5 "5"
+set $ws6 "6"
+set $ws7 "7"
+set $ws8 "8"
+set $ws9 "9"
+set $ws10 "10"
+
+# switch to workspace
+bindcode $mod+10 workspace number $ws1
+bindcode $mod+11 workspace number $ws2
+bindcode $mod+12 workspace number $ws3
+bindcode $mod+13 workspace number $ws4
+bindcode $mod+14 workspace number $ws5
+bindcode $mod+15 workspace number $ws6
+bindcode $mod+16 workspace number $ws7
+bindcode $mod+17 workspace number $ws8
+bindcode $mod+18 workspace number $ws9
+bindcode $mod+19 workspace number $ws10
+
+# move focused container to workspace
+bindcode $mod+Shift+10 move container to workspace number $ws1
+bindcode $mod+Shift+11 move container to workspace number $ws2
+bindcode $mod+Shift+12 move container to workspace number $ws3
+bindcode $mod+Shift+13 move container to workspace number $ws4
+bindcode $mod+Shift+14 move container to workspace number $ws5
+bindcode $mod+Shift+15 move container to workspace number $ws6
+bindcode $mod+Shift+16 move container to workspace number $ws7
+bindcode $mod+Shift+17 move container to workspace number $ws8
+bindcode $mod+Shift+18 move container to workspace number $ws9
+bindcode $mod+Shift+19 move container to workspace number $ws10
+
+# reload the configuration file
+bindcode $mod+Shift+54 reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindcode $mod+Shift+27 restart
+# exit i3 (logs you out of your X session)
+bindcode $mod+Shift+26 exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+ # These bindings trigger as soon as you enter the resize mode
+
+ # Pressing left will shrink the window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindcode 44 resize shrink width 10 px or 10 ppt
+ bindcode 45 resize grow height 10 px or 10 ppt
+ bindcode 46 resize shrink height 10 px or 10 ppt
+ bindcode 47 resize grow width 10 px or 10 ppt
+
+ # same bindings, but for the arrow keys
+ bindcode 113 resize shrink width 10 px or 10 ppt
+ bindcode 116 resize grow height 10 px or 10 ppt
+ bindcode 111 resize shrink height 10 px or 10 ppt
+ bindcode 114 resize grow width 10 px or 10 ppt
+
+ # back to normal: Enter or Escape or $mod+r
+ bindcode 36 mode "default"
+ bindcode 9 mode "default"
+ bindcode $mod+27 mode "default"
+}
+
+bindcode $mod+27 mode "resize"
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+bar {
+ status_command i3status
+}
diff --git a/i3/.config/i3/config b/i3/.config/i3/config
index 612ae57..9ad5b95 100644
--- a/i3/.config/i3/config
+++ b/i3/.config/i3/config
@@ -14,7 +14,7 @@ set $mod Mod4
# 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
-font 'FiraCode Nerd Font Mono' 8
+font pango:Hack Nerd Font Regular 12
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
@@ -29,7 +29,7 @@ exec --no-startup-id dex --autostart --environment i3
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
-exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
+exec --no-startup-id xss-lock --transfer-sleep-lock -- ~/.config/i3/lock.sh --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
@@ -41,6 +41,10 @@ bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
+bindsym XF86AudioPlay exec "spotifycli --playpause && spotifycli --statusshort > /var/log/scripts/spotify.log"
+bindsym XF86AudioNext exec "spotifycli --next && spotifycli --statusshort > /var/log/scripts/spotify.log"
+bindsym XF86AudioPrev exec "spotifycli --prev && spotifycli --statusshort > /var/log/scripts/spotify.log"
+
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
@@ -62,7 +66,7 @@ bindsym $mod+Shift+a kill
# There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
-bindsym $mod+d exec "dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'Hack-10.5' -p 'launch% '"
+bindsym $mod+d exec "dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'Hack-10.5' -l 5 -p ' '"
# change focus
bindsym $mod+j focus left
@@ -116,16 +120,16 @@ bindsym $mod+q focus parent
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
-set $ws1 "1"
-set $ws2 "2"
-set $ws3 "3"
-set $ws4 "4"
-set $ws5 "5"
-set $ws6 "6"
-set $ws7 "7"
-set $ws8 "8"
-set $ws9 "9"
-set $ws10 "10"
+set $ws1 "1: "
+set $ws2 "2: "
+set $ws3 "3: "
+set $ws4 "4: "
+set $ws5 "5: "
+set $ws6 "6: "
+set $ws7 "7: "
+set $ws8 "8: "
+set $ws9 "9: "
+set $ws10 "10: "
# switch to workspace
bindsym $mod+ampersand workspace number $ws1
@@ -151,6 +155,21 @@ bindsym $mod+Shift+exclam move container to workspace number $ws8
bindsym $mod+Shift+ccedilla move container to workspace number $ws9
bindsym $mod+Shift+agrave move container to workspace number $ws10
+set $monitor_main "DP-1-1"
+set $monitor_vertical "DP-2"
+set $monitor_integrated "eDP-1"
+
+workspace $ws1 output $monitor_main
+workspace $ws2 output $monitor_main
+workspace $ws3 output $monitor_main
+workspace $ws4 output $monitor_main
+workspace $ws5 output $monitor_main
+workspace $ws6 output $monitor_main
+workspace $ws7 output $monitor_vertical
+workspace $ws8 output $monitor_vertical
+workspace $ws9 output $monitor_integrated
+workspace $ws10 output $monitor_integrated
+
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
@@ -185,6 +204,9 @@ mode "resize" {
bindsym $mod+r mode "resize"
+include ~/.config/i3/config.d/*.conf
+
+
client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
@@ -193,7 +215,7 @@ client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
client.background #F8F8F2
bar {
- font 'FiraCode Nerd Font Mono',FontAwesome 12
+ font pango:'Hack Nerd Font Regular' 12
position bottom
status_command i3status ~/.config/i3status-rust/config.toml
colors {
@@ -207,3 +229,5 @@ bar {
binding_mode #FF5555 #FF5555 #F8F8F2
}
}
+
+exec --no-startup-id feh --bg-fill ~/.dotfiles/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png
diff --git a/i3/.config/i3/config.d/assign.conf b/i3/.config/i3/config.d/assign.conf
new file mode 100644
index 0000000..a4cc619
--- /dev/null
+++ b/i3/.config/i3/config.d/assign.conf
@@ -0,0 +1,25 @@
+# set $ws1 "1: "
+# set $ws2 "2: "
+# set $ws3 "3: "
+# set $ws4 "4: "
+# set $ws5 "5: "
+# set $ws6 "6: "
+# set $ws7 "7: "
+# set $ws8 "8: "
+# set $ws9 "9: "
+# set $ws10 "10: "
+
+assign [class="firefox"] $ws1
+assign [class="chromium-browser"] $ws8
+assign [class="chromium"] $ws8
+assign [class="Thunderbird"] $ws7
+assign [class="vscodium"] $ws3
+assign [class="Alacritty"] $ws2
+assign [class="Moonlight"] $ws6
+assign [class="plex-bin"] $ws5
+assign [class="vlc"] $ws5
+assign [class="Spotify"] $ws9
+assign [class="Spotify"] $ws9
+
+for_window [class="Alert"] floating enable
+for_window [class="dunst"] floating enable
\ No newline at end of file
diff --git a/i3/.config/i3/i3blocks.conf b/i3/.config/i3/i3blocks.conf
index ae3843e..b6b8ddd 100644
--- a/i3/.config/i3/i3blocks.conf
+++ b/i3/.config/i3/i3blocks.conf
@@ -2,6 +2,4 @@
label=⚡
command=/run/current-system/sw/libexec/i3blocks/battery
interval=10
-instance=1
-
-
+instance=1
\ No newline at end of file
diff --git a/i3/.config/i3/lock.sh b/i3/.config/i3/lock.sh
new file mode 100755
index 0000000..f415691
--- /dev/null
+++ b/i3/.config/i3/lock.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+BLANK='#F8F8F2'
+CLEAR='#44475A'
+DEFAULT='#6272A4'
+TEXT='#6272A4'
+WRONG='#44475A'
+VERIFYING='#6272A4'
+
+i3lock \
+--insidever-color=$CLEAR \
+--ringver-color=$VERIFYING \
+\
+--insidewrong-color=$CLEAR \
+--ringwrong-color=$WRONG \
+\
+--inside-color=$BLANK \
+--ring-color=$DEFAULT \
+--line-color=$BLANK \
+--separator-color=$DEFAULT \
+\
+--verif-color=$TEXT \
+--wrong-color=$TEXT \
+--time-color=$TEXT \
+--date-color=$TEXT \
+--layout-color=$TEXT \
+--keyhl-color=$WRONG \
+--bshl-color=$WRONG \
+\
+--screen 1 \
+--blur 9 \
+--clock \
+--indicator \
+--time-str="%H:%M:%S" \
+--date-str="%A, %Y-%m-%d" \
+--keylayout 1 \
+${@}
\ No newline at end of file
diff --git a/i3/.config/i3status-rust/config.toml b/i3/.config/i3status-rust/config.toml
index 0f106e2..93c4044 100644
--- a/i3/.config/i3status-rust/config.toml
+++ b/i3/.config/i3status-rust/config.toml
@@ -3,13 +3,10 @@ theme = "dracula"
[icons]
icons = "material-nf"
-
-[icons.overrides]
-bat = [
- "| |",
- "|¼|",
- "|½|",
- "|¾|",
- "|X|",
-]
-bat_charging = "|^|"
\ No newline at end of file
+[general]
+ colors = true
+ color_good = "#a3be8c"
+ color_degraded = "#ebcb8b"
+ color_bad = "#bf616a"
+ interval = 1
+ separator = "*"
\ No newline at end of file
diff --git a/i3/.config/i3status/config b/i3/.config/i3status/config
index 8a8348a..698924a 100644
--- a/i3/.config/i3status/config
+++ b/i3/.config/i3status/config
@@ -1,47 +1,60 @@
general {
-
- output_format = "i3bar"
- colors = true
- color_good = "#50FA7B"
- color_degraded = "#F1FA8C"
- color_bad = "#FF5555"
- interval = 5
+ // output_format = "i3bar"
+ colors = true
+ color_good = "#50FA7B"
+ color_degraded = "#F1FA8C"
+ color_bad = "#FF5555"
+ interval = 5
+ separator = ""
}
-order += "ipv6"
+// order += "ipv6"
+order += "volume master"
+order += "read_file spotify"
order += "disk /"
-order += "run_watch DHCP"
-order += "run_watch VPNC"
-order += "path_exists VPN"
-order += "wireless wlan0"
-order += "ethernet eth0"
+order += "disk /nix"
+order += "disk /home"
+// order += "run_watch DHCP"
+// order += "run_watch VPNC"
+// order += "path_exists VPN"
+order += "wireless wlp2s0"
+order += "ethernet enp0s31f6"
+// order += "ethernet enp0s20f0u3c2"
order += "ethernet"
order += "battery 0"
order += "cpu_temperature 0"
order += "memory"
order += "load"
order += "tztime local"
-order += "tztime berlin"
+order += "tztime paris"
-wireless wlan0 {
- format_up = "W: (%quality at %essid, %bitrate) %ip"
- format_down = "W: down"
+wireless wlp2s0 {
+ format_up = " (%quality at %essid, %bitrate) %ip"
+ format_down = " "
}
-ethernet eth0 {
- format_up = "E: %ip (%speed)"
- format_down = "E: down"
+ethernet enp0s31f6 {
+ format_up = " %ip"
+ format_down = " "
+}
+ethernet enp0s20f0u3c2 {
+ format_up = " %ip"
+ format_down = " "
}
battery 0 {
- format = "%status %percentage %remaining %emptytime"
- format_down = "No battery"
- status_chr = "⚡ CHR"
- status_bat = "🔋 BAT"
- status_unk = "? UNK"
- status_full = "☻ FULL"
+ format = "%status %percentage %remaining"
+ format_down = ""
+ last_full_capacity = true
+ integer_battery_capacity = true
+ low_threshold = 11
+ threshold_type = percentage
+ hide_seconds = true
+ status_chr = " ⚡ "
+ status_bat = " 🪫 "
+ status_unk = " 🔌 "
+ status_full = " 🔋 "
path = "/sys/class/power_supply/BAT%d/uevent"
- low_threshold = 10
}
run_watch DHCP {
@@ -59,34 +72,65 @@ path_exists VPN {
}
tztime local {
- format = "%Y-%m-%d %H:%M:%S"
+ format = "📅 %V %a %Y-%m-%d %H:%M:%S %Z"
hide_if_equals_localtime = true
}
-tztime berlin {
- format = "%Y-%m-%d %H:%M:%S %Z"
- timezone = "Europe/Berlin"
+tztime paris {
+ format = "📅 %V %a %Y-%m-%d %H:%M:%S %Z"
+ timezone = "Europe/Paris"
}
load {
- format = "%5min"
+ format = " %5min"
}
cpu_temperature 0 {
- format = "T: %degrees °C"
- path = "/sys/devices/platform/coretemp.0/temp1_input"
+ format = "🌡️ %degrees"
+ path = "/sys/devices/platform/coretemp.0/hwmon/hwmon5/temp1_input"
}
memory {
- format = "%used"
+ format = " %used"
threshold_degraded = "10%"
format_degraded = "MEMORY: %free"
}
disk "/" {
- format = "%free"
+ format = " / %free"
+ prefix_type = custom
+ low_threshold = 20
+ threshold_type = percentage_avail
+}
+
+disk "/nix" {
+ format = "💻 /nix %free"
+ prefix_type = custom
+ low_threshold = 15
+ threshold_type = percentage_avail
+}
+
+disk "/home" {
+ format = "💾 /home %free"
+ prefix_type = custom
+ low_threshold = 10
+ threshold_type = percentage_avail
}
read_file uptime {
path = "/proc/uptime"
-}
\ No newline at end of file
+}
+
+volume master {
+ format = "%volume "
+ format_muted = " "
+ // device = "pulse:1"pavuc
+ device = "default"
+ mixer = "Master"
+ mixer_idx = 0
+}
+
+read_file spotify {
+ format = "🔊%content"
+ path = "~/.config/i3status/spotify.log"
+}
diff --git a/i3/.config/i3status/spotify.log b/i3/.config/i3status/spotify.log
new file mode 100644
index 0000000..e69de29
diff --git a/picom/.config/picom/picom.conf b/picom/.config/picom/picom.conf
new file mode 100644
index 0000000..46ae2ae
--- /dev/null
+++ b/picom/.config/picom/picom.conf
@@ -0,0 +1,14 @@
+# Default opacity of active windows.
+active-opacity = 1.0;
+
+# Default opacity of inactive windows.
+inactive-opacity = 1.0;
+
+# Opacity of window titlebars and borders.
+frame-opacity = 1.0;
+
+# Application-specific settings; these override the default `active-opacity`
+opacity-rule = [
+ "95:class_g = 'Alacritty' && focused",
+ "80:class_g = 'Alacritty' && !focused"
+];
diff --git a/polybar/.config/polybar/config.ini b/polybar/.config/polybar/config.ini
new file mode 100644
index 0000000..264ecc7
--- /dev/null
+++ b/polybar/.config/polybar/config.ini
@@ -0,0 +1,336 @@
+;==========================================================
+;
+;
+; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
+; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
+; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
+; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
+; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
+; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+;
+;
+; To learn more about how to configure Polybar
+; go to https://github.com/polybar/polybar
+;
+; The README contains a lot of information
+;
+;==========================================================
+
+[colors]
+background = #282A36
+background-alt = #BFBFBF
+foreground = #F8F8F2
+primary = #F8F8F2
+secondary = #282A36
+alert = #44475A
+disabled = #44475A
+
+[bar/main]
+monitor = "DP-1-2"
+# Last component is the vertical offset
+#font-0 = Fira Code:size=10;4
+; font-0 = FiraMono Nerd Font:size=12;4
+#fc-match FontAwesome:pixelsize=14 FontAwesome.otf: "FontAwesome" "Regular"
+; font-3 = FontAwesome:pixelsize=14;0
+#font-0 = Overpass Nerd Font,Overpass Nerd Font SemBd:size=10;4
+#font-0 = FiraCode:size=10;4
+#font-0 = Overpass Nerd Font:size=10;4
+#font-1 = Noto Sans:size=10;4
+
+font-0 = fixed:pixelsize=12;1
+font-1 = unifont:fontformat=truetype:size=10:antialias=false;0
+font-2 = "FiraCode Nerd Font:pixelsize=12;1"
+width = 100%
+height = 16pt
+radius = 0
+
+#dpi = 192
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2pt
+
+border-size = 0pt
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin = 1
+
+separator = |
+separator-foreground = ${colors.disabled}
+
+modules-left = xworkspaces xwindow
+modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth battery date
+#modules-right = pulseaudio wlan eth battery date
+
+cursor-click = pointer
+cursor-scroll = ns-resize
+
+enable-ipc = true
+
+tray-position = right
+
+; wm-restack = generic
+; wm-restack = bspwm
+wm-restack = i3
+
+; override-redirect = true
+
+[module/xworkspaces]
+type = internal/xworkspaces
+
+label-active = %name%
+label-active-background = ${colors.background-alt}
+label-active-underline= ${colors.primary}
+label-active-padding = 1
+
+label-occupied = %name%
+label-occupied-padding = 1
+
+label-urgent = %name%
+label-urgent-background = ${colors.alert}
+label-urgent-padding = 1
+
+label-empty = %name%
+label-empty-foreground = ${colors.disabled}
+label-empty-padding = 1
+
+[module/xwindow]
+type = internal/xwindow
+label = %title:0:60:...%
+
+[module/filesystem]
+type = internal/fs
+interval = 25
+
+mount-0 = /
+
+label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
+
+label-unmounted = %mountpoint% not mounted
+label-unmounted-foreground = ${colors.disabled}
+
+[module/pulseaudio]
+type = internal/pulseaudio
+
+format-volume-prefix = " "
+format-volume-prefix-foreground = ${colors.primary}
+format-volume =
+
+label-volume = %percentage%%
+
+label-muted = " muted"
+label-muted-foreground = ${colors.disabled}
+
+[module/xkeyboard]
+type = internal/xkeyboard
+blacklist-0 = num lock
+
+label-layout = %layout%
+label-layout-foreground = ${colors.primary}
+
+label-indicator-padding = 2
+label-indicator-margin = 1
+label-indicator-foreground = ${colors.background}
+label-indicator-background = ${colors.secondary}
+
+[module/memory]
+type = internal/memory
+interval = 2
+format-prefix = "RAM "
+format-prefix-foreground = ${colors.primary}
+label = %percentage_used:2%%
+
+[module/cpu]
+type = internal/cpu
+interval = 2
+format-prefix = "CPU "
+format-prefix-foreground = ${colors.primary}
+label = %percentage:2%%
+
+[network-base]
+type = internal/network
+interval = 5
+format-connected =
+format-disconnected =
+
+[module/wlan]
+inherit = network-base
+interface-type = wireless
+format-connected =
+label-connected = %local_ip%
+#label-connected = %{F#F0C674} %{F-} %local_ip%
+#label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
+label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
+ramp-signal-0 = %{F#F0C674} %{F-}
+ramp-signal-1 = %{F#F0C674} %{F-}
+ramp-signal-2 = %{F#F0C674} %{F-}
+ramp-signal-3 = %{F#F0C674} %{F-}
+ramp-signal-4 = %{F#F0C674} %{F-}
+ramp-signal-5 = %{F#F0C674} %{F-}
+
+[module/eth]
+inherit = network-base
+interface-type = wired
+label-connected = %{F#F0C674}%ifname% %{F-} %local_ip%
+#label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
+label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
+
+[module/battery]
+type = internal/battery
+# $ ls -1 /sys/class/power_supply/
+battery = BAT0
+adapter = ADP1
+low-at = 15
+
+# If an inotify event haven't been reported in this many
+# seconds, manually poll for new values.
+#
+# Needed as a fallback for systems that don't report events
+# on sysfs/procfs.
+#
+# Disable polling by setting the interval to 0.
+#
+# Default: 5
+#poll-interval = 5
+
+# Available tags:
+# (default)
+#
+#
+#
+format-charging =
+
+# Available tags:
+# (default)
+#
+#
+#
+#format-discharging =
+format-discharging =
+
+# Available tokens:
+# %percentage% (default) - is set to 100 if full-at is reached
+# %percentage_raw%
+# %time%
+# %consumption% (shows current charge rate in watts)
+label-charging = %percentage%%
+#label-charging = Charging %percentage%%
+
+# Available tokens:
+# %percentage% (default) - is set to 100 if full-at is reached
+# %percentage_raw%
+# %time%
+# %consumption% (shows current discharge rate in watts)
+label-discharging = %percentage%%
+#label-discharging = Discharging %percentage%%
+
+# Available tokens:
+# %percentage% (default) - is set to 100 if full-at is reached
+# %percentage_raw%
+label-full = "%{F#F0C674} %{F-}"
+
+# Available tokens:
+# %percentage% (default) - is set to 100 if full-at is reached
+# %percentage_raw%
+# %time%
+# %consumption% (shows current discharge rate in watts)
+# New in version 3.6.0
+label-low = BATTERY LOW
+
+# Only applies if is used
+ramp-capacity-0 = "%{F#F04020} %{F-}"
+ramp-capacity-1 = "%{F#F0C674} %{F-}"
+ramp-capacity-2 = "%{F#F0C674} %{F-}"
+ramp-capacity-3 = "%{F#F0C674} %{F-}"
+ramp-capacity-4 = "%{F#F0C674} %{F-}"
+
+# Only applies if is used
+bar-capacity-width = 10
+
+# Only applies if is used
+animation-charging-0 = "%{F#F0C674} %{F-}"
+animation-charging-1 = "%{F#F0C674} %{F-}"
+animation-charging-2 = "%{F#F0C674} %{F-}"
+animation-charging-3 = "%{F#F0C674} %{F-}"
+animation-charging-4 = "%{F#F0C674} %{F-}"
+# Framerate in milliseconds
+animation-charging-framerate = 750
+
+# Only applies if is used
+animation-discharging-0 = " "
+animation-discharging-1 = " "
+animation-discharging-2 = " "
+animation-discharging-3 = " "
+animation-discharging-4 = " "
+# Framerate in milliseconds
+animation-discharging-framerate = 500
+
+[module/date]
+type = internal/date
+interval = 1
+
+date = %H:%M
+date-alt = %Y-%m-%d %H:%M:%S
+
+label = %date%
+#label-foreground = ${colors.primary}
+
+[settings]
+screenchange-reload = true
+pseudo-transparency = true
+
+[module/i3]
+type = internal/i3
+
+; Only show workspaces defined on the same output as the bar
+;
+; Useful if you want to show monitor specific workspaces
+; on different bars
+;
+; Default: false
+pin-workspaces = false
+
+; Show urgent workspaces regardless of whether the workspace is actually hidden
+; by pin-workspaces.
+;
+; Default: false
+; New in version 3.6.0
+show-urgent = true
+
+; This will split the workspace name on ':'
+; Default: false
+strip-wsnumbers = true
+
+; Sort the workspaces by index instead of the default
+; sorting that groups the workspaces by output
+; Default: false
+index-sort = true
+
+; Create click handler used to focus workspace
+; Default: true
+enable-click = false
+
+; Create scroll handlers used to cycle workspaces
+; Default: true
+enable-scroll = false
+
+; Wrap around when reaching the first/last workspace
+; Default: true
+wrapping-scroll = false
+
+; Set the scroll cycle direction
+; Default: true
+reverse-scroll = false
+
+; Use fuzzy (partial) matching for wc-icon.
+; Example: code;♚ will apply the icon to all workspaces
+; containing 'code' in the name
+; Changed in version 3.7.0: Selects longest string match instead of the first match.
+; Default: false
+fuzzy-match = true
+
+; vim:ft=dosini
diff --git a/setup.sh b/setup.sh
index da22fa6..b3a0991 100755
--- a/setup.sh
+++ b/setup.sh
@@ -8,15 +8,18 @@ git submodule update
# what directories should be installable by all users including the root user
base=(
+ picom
dracula
+ dunst
git
helix
htop
+ i3
nano
nix
+ polybar
puppet
ssh
- i3
sway
terminfo
tmux