diff --git a/.gitignore b/.gitignore index c6ef0d2..25a2012 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ git/.gitconfig-work home/ +nano/.cache/nano/ +i3/.wallpapers/ diff --git a/.gitmodules b/.gitmodules index f692e3b..7507ee7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "terminfo/termite"] path = terminfo/termite url = https://github.com/thestinger/termite.git +[submodule "alacritty/.config/alacritty/alacritty-theme"] + path = alacritty/.config/alacritty/alacritty-theme + url = git@github.com:alacritty/alacritty-theme.git diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fd16ba2..8388bb4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.2.0 + rev: v4.5.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer diff --git a/alacritty/.config/alacritty/alacritty-theme b/alacritty/.config/alacritty/alacritty-theme new file mode 160000 index 0000000..90a8406 --- /dev/null +++ b/alacritty/.config/alacritty/alacritty-theme @@ -0,0 +1 @@ +Subproject commit 90a8406beb095fdb1617135a98c38df1ef08859c diff --git a/alacritty/.config/alacritty/alacritty.toml b/alacritty/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..cd4dd0e --- /dev/null +++ b/alacritty/.config/alacritty/alacritty.toml @@ -0,0 +1,11 @@ +import = [ + "~/.config/alacritty/alacritty-thems/dark_pride.toml", + "~/.config/alacritty/alacritty-thems/dracula_plus.toml", + "~/.config/alacritty/hactario.toml" +] + +[env] +TERM = "xterm-256color" + +[font] +normal = { family = "Hack Nerd Font Mono" } diff --git a/alacritty/.config/alacritty/alacritty.yml b/alacritty/.config/alacritty/alacritty.yml deleted file mode 100644 index 330d918..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 - # 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..ce990d9 --- /dev/null +++ b/alacritty/.config/alacritty/dracula.toml @@ -0,0 +1,78 @@ +[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" + +[bell] +color = "0xf8f8f2" + +[font] +size = 10.0 + +[font.bold] +family = "Hack Nerd Font Mono" +style = "Bold" + +[font.normal] +family = "Hack Nerd Font Mono" +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/dracula_plus.toml b/alacritty/.config/alacritty/dracula_plus.toml new file mode 100644 index 0000000..86a8549 --- /dev/null +++ b/alacritty/.config/alacritty/dracula_plus.toml @@ -0,0 +1,29 @@ +# Colors (Dracula+) + +[colors.primary] +background = '#212121' +foreground = '#F8F8F2' + +[colors.cursor] +text = '#0E1415' +cursor = '#ECEFF4' + +[colors.normal] +black = '#21222C' +red = '#FF5555' +green = '#50FA7B' +yellow = '#FFCB6B' +blue = '#82AAFF' +magenta = '#C792EA' +cyan = '#8BE9FD' +white = '#F8F9F2' + +[colors.bright] +black = '#545454' +red = '#FF6E6E' +green = '#69FF94' +yellow = '#FFCB6B' +blue = '#D6ACFF' +magenta = '#FF92DF' +cyan = '#A4FFFF' +white = '#F8F8F2' diff --git a/alacritty/.config/alacritty/hactario.toml b/alacritty/.config/alacritty/hactario.toml new file mode 100644 index 0000000..dbf03bc --- /dev/null +++ b/alacritty/.config/alacritty/hactario.toml @@ -0,0 +1,36 @@ +live_config_reload = true + +[window] +dynamic_padding = true +decorations = 'None' +opacity = 0.70 +dynamic_title = true + +[windows.class] +general = "alacritty" + +[bell] +animation = "EaseOutQuad" +duration = 150 +color = "0xf8f8f2" + +[colors] +draw_bold_text_with_bright_colors = true + +[scrolling] +history = 100000 +multiplier = 3 + +[selection] +save_to_clipboard = true +semantic_escape_chars = ",│`|:\"' ()[]{}<>\t" + +[font] +size = 10.0 + +[font.normal] +family = "Hack Nerd Font Mono" + +[font.bold] +family = "Hack Nerd Font Mono" +style = "Bold" 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/awesome/.config/awesome/rc.lua b/awesome/.config/awesome/rc.lua index 3d14dc6..c61ceca 100644 --- a/awesome/.config/awesome/rc.lua +++ b/awesome/.config/awesome/rc.lua @@ -11,7 +11,7 @@ local naughty = require("naughty") local menubar = require("menubar") local hotkeys_popup = require("awful.hotkeys_popup").widget -local battery_widget = require("awesome.battery-widget/battery-widget") +-- local battery_widget = require("awesome.battery-widget/battery-widget") -- Enable hotkeys help widget for VIM and other apps -- when client with a matching name is opened: require("awful.hotkeys_popup.keys") @@ -19,7 +19,8 @@ require("awful.hotkeys_popup.keys") -- Load Debian menu entries local debian = require("debian.menu") local has_fdo, freedesktop = pcall(require, "freedesktop") -local battery_widget = require("battery-widget") +-- local battery_widget = require("battery-widget") + -- {{{ Error handling -- Check if awesome encountered an error during startup and fell back to -- another config (This code will only ever execute for the fallback config) @@ -51,7 +52,7 @@ beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua") -- This is used later as the default terminal and editor to run. -- terminal = "x-terminal-emulator" -terminal = "~/bins/alacritty/usr/bin/alacritty" +terminal = "alacritty" editor = os.getenv("EDITOR") or "editor" editor_cmd = terminal .. " -e " .. editor @@ -62,11 +63,11 @@ editor_cmd = terminal .. " -e " .. editor -- However, you can use another modifier like Mod1, but it may interact with others. modkey = "Mod4" -lain.layout.termfair.center.nmaster = 4 -lain.layout.termfair.center.ncol = 2 +-- lain.layout.termfair.center.nmaster = 4 +-- lain.layout.termfair.center.ncol = 2 -- Table of layouts to cover with awful.layout.inc, order matters. -awful.layout.set(lain.layout.termfair, tag) +-- awful.layout.set(lain.layout.termfair, tag) awful.layout.layouts = { awful.layout.suit.floating, awful.layout.suit.tile, @@ -81,7 +82,7 @@ awful.layout.layouts = { awful.layout.suit.max.fullscreen, awful.layout.suit.magnifier, awful.layout.suit.corner.nw, - lain.layout.termfair, +-- lain.layout.termfair, -- awful.layout.suit.corner.ne, -- awful.layout.suit.corner.sw, -- awful.layout.suit.corner.se, @@ -144,8 +145,6 @@ mykeyboardlayout = awful.widget.keyboardlayout() -- {{{ Wibar -- Create a textclock widget -mytextclock = wibox.widget.textclock() - -- Create a wibox for each screen and add it local taglist_buttons = gears.table.join( awful.button({ }, 1, function(t) t:view_only() end), @@ -204,6 +203,10 @@ end -- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) screen.connect_signal("property::geometry", set_wallpaper) +mytextclock = wibox.widget.textclock() +myutcclock = wibox.widget.textclock({format="%H:%m", timezone="UTC"}) +mymtlclock = wibox.widget.textclock({format="%H:%M", timezone="Canada/Montreal"}) + awful.screen.connect_for_each_screen(function(s) -- Wallpaper set_wallpaper(s) @@ -244,6 +247,8 @@ awful.screen.connect_for_each_screen(function(s) layout = wibox.layout.fixed.horizontal, mykeyboardlayout, wibox.widget.systray(), + mymtlclock, + myutcclock, mytextclock, s.mylayoutbox, }, @@ -360,12 +365,13 @@ globalkeys = gears.table.join( {description = "show the menubar", group = "launcher"}) ) + clientkeys = gears.table.join( awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen c:raise() - end, + end , {description = "toggle fullscreen", group = "client"}), awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end, {description = "close", group = "client"}), @@ -401,9 +407,10 @@ clientkeys = gears.table.join( c.maximized_horizontal = not c.maximized_horizontal c:raise() end , - {description = "(un)maximize horizontally", group = "client"}) - - awful.key({ modkey, "Control" }, "l", function () awful.util.spawn("/home/qgodefro/.local/bin/lock", false) end) + {description = "(un)maximize horizontally", group = "client"}), + awful.key({ modkey, "Control" }, "l", function (c) + c.util.spawn{"/home/qgodefro/.local/bin/lock", false} + end) ) -- Bind all key numbers to tags. 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/git/.gitconfig b/git/.gitconfig index 4bc9fcb..0c7068e 100644 --- a/git/.gitconfig +++ b/git/.gitconfig @@ -1,8 +1,8 @@ [user] name = "Hactarus" - email = "859868+Hactarus@users.noreply.github.com" - signingkey = E78C926AFF8835F1D31D63E0004635081CCE8F11 + email = Hactarus@users.noreply.github.com + signingkey = 53A726B989BDD7DA617933C0D03D25D1292719AC [alias] pushdev = !git push --set-upstream origin "`git branch --no-color 2>/dev/null | grep '*' | sed -e 's/\\* //'`:dev/hactarus/`git branch --no-color 2>/dev/null | grep '*' | sed -e 's/\\* //'`" diff --git a/git/.gitconfig-github b/git/.gitconfig-github new file mode 100644 index 0000000..cbed5b8 --- /dev/null +++ b/git/.gitconfig-github @@ -0,0 +1,6 @@ +[user] + name = "Hactarus" + email = "859868+Hactarus@users.noreply.github.com" + signingkey = E78C926AFF8835F1D31D63E0004635081CCE8F11 +[commit] + gpgsign = true \ No newline at end of file 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/htop/.config/htop/htoprc b/htop/.config/htop/htoprc new file mode 100644 index 0000000..34ab242 --- /dev/null +++ b/htop/.config/htop/htoprc @@ -0,0 +1,39 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +fields=0 48 17 18 38 39 40 2 46 47 49 1 +sort_key=46 +sort_direction=-1 +tree_sort_key=0 +tree_sort_direction=1 +hide_kernel_threads=0 +hide_userland_threads=0 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=1 +highlight_megabytes=1 +highlight_threads=1 +highlight_changes=0 +highlight_changes_delay_secs=5 +find_comm_in_cmdline=1 +strip_exe_from_cmdline=1 +show_merged_command=0 +tree_view=0 +tree_view_always_by_pid=1 +header_margin=1 +detailed_cpu_time=1 +cpu_count_from_one=0 +show_cpu_usage=1 +show_cpu_frequency=1 +show_cpu_temperature=1 +degree_fahrenheit=0 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=0 +enable_mouse=1 +delay=15 +left_meters=AllCPUs Memory Swap +left_meter_modes=1 1 1 +right_meters=Tasks LoadAverage Uptime DiskIO NetworkIO Battery +right_meter_modes=2 2 2 2 2 2 +hide_function_bar=0 diff --git a/htop/.htop.conf b/htop/.htop.conf deleted file mode 100644 index bb62d49..0000000 --- a/htop/.htop.conf +++ /dev/null @@ -1,25 +0,0 @@ -# Beware! This file is rewritten by htop when settings are changed in the interface. -# The parser is also very primitive, and not human-friendly. -fields=0 48 17 18 38 39 40 2 46 47 49 1 -sort_key=46 -sort_direction=1 -hide_threads=0 -hide_kernel_threads=1 -hide_userland_threads=0 -shadow_other_users=0 -show_thread_names=0 -highlight_base_name=0 -highlight_megabytes=1 -highlight_threads=0 -tree_view=0 -header_margin=1 -detailed_cpu_time=0 -cpu_count_from_zero=0 -update_process_names=0 -account_guest_in_cpu_meter=0 -color_scheme=0 -delay=15 -left_meters=LeftCPUs Memory Swap -left_meter_modes=1 1 1 -right_meters=RightCPUs Tasks LoadAverage Uptime -right_meter_modes=1 2 2 2 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..e06d268 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,23 @@ 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 + +bindsym $mod+x [urgent=latest] focus + # reload the configuration file bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) @@ -185,6 +206,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 +217,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 { @@ -206,4 +230,8 @@ bar { urgent_workspace #FF5555 #FF5555 #F8F8F2 binding_mode #FF5555 #FF5555 #F8F8F2 } + bindsym --release button3 exec --no-startup-id import ~/screenshot-$(date +%F-%T).png } + +exec --no-startup-id feh --bg-fill ~/.dotfiles/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png +exec "setxkbmap -layout be" 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..c859c61 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 = "*" diff --git a/i3/.config/i3status/config b/i3/.config/i3status/config index 2e5f2ee..3b85c70 100644 --- a/i3/.config/i3status/config +++ b/i3/.config/i3status/config @@ -1,46 +1,63 @@ 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" + color_good = "#a3be8c" + color_degraded = "#ebcb8b" + color_bad = "#bf616a" + separator = "" + output_format = "i3bar" + 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 local"order += "tztime Montreal" +order += "tztime Brussels" -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 { @@ -58,34 +75,74 @@ 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 Brussels { + format = "📅 %V %a 󰃭 %Y-%m-%d  %H:%M:%S %Z" + timezone = "Europe/Brussels" +} +tztime Montreal { + format = " %H:%M:%S %Z" + timezone = "America/Montreal" + hide_if_equals_localtime = true } 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" + 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 +} + +disk "/home" { format = "%free" } 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/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png b/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png new file mode 100644 index 0000000..ca3f854 Binary files /dev/null and b/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png differ diff --git a/nano/.cache/nano/.keep b/nano/.cache/nano/.keep new file mode 100644 index 0000000..e69de29 diff --git a/nano/.nanorc b/nano/.nanorc index b93226a..ff2b0c5 100644 --- a/nano/.nanorc +++ b/nano/.nanorc @@ -5,7 +5,7 @@ set backupdir "~/.cache/nano/" # set backwards # set boldtext -set brackets ""')>]}" +set brackets "\"')>]}" # set casesensitive set constantshow # set cutfromcursor @@ -59,9 +59,8 @@ set statuscolor brightwhite,red #set numbercolor magenta # set keycolor brightmagenta # set functioncolor magenta -include "/usr/share/nano/*.nanorc" +#include "/usr/share/nano/*.nanorc" # bind ^S savefile main # bind M-B cutwordleft main # bind M-N cutwordright main # bind Del backspace all -set nonewlines 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..d1ba645 100755 --- a/setup.sh +++ b/setup.sh @@ -8,16 +8,20 @@ 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 + i3 terminfo tmux vim diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index 9c9e802..acae2dd 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -104,10 +104,10 @@ if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 1\)' 'se if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 1\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set -g mode-mouse off' # fix pane_current_path on new window and splits -if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind c; bind c new-window -c "#{pane_current_path}"' -if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" "unbind '\"'; bind '\"' split-window -v -c '#{pane_current_path}'" -if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind v; bind v split-window -h -c "#{pane_current_path}"' -if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind %; bind % split-window -h -c "#{pane_current_path}"' +#if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind c; bind c new-window -c "#{pane_current_path}"' +#if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" "unbind '\"'; bind '\"' split-window -v -c '#{pane_current_path}'" +#if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind v; bind v split-window -h -c "#{pane_current_path}"' +#if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind %; bind % split-window -h -c "#{pane_current_path}"' set -g history-limit 90000 set -g alternate-screen on diff --git a/zsh/.oh-my-zsh b/zsh/.oh-my-zsh index 6768906..a72a264 160000 --- a/zsh/.oh-my-zsh +++ b/zsh/.oh-my-zsh @@ -1 +1 @@ -Subproject commit 6768906d07151140db901510b2c8b1ce2622f365 +Subproject commit a72a26406ad3aa9a47c3f5227291bad23494bed0 diff --git a/zsh/.zshrc b/zsh/.zshrc index baa7d44..ec8c353 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -1,11 +1,13 @@ -export PATH=$HOME/bins/toolbox:$HOME/.local/bin:/usr/local/bin:$HOME/.pyenv/bin:$PATH +export PATH=$HOME/bins/toolbox:$HOME/.cargo/bin:$HOME/.local/bin:/usr/local/bin:$HOME/hosting-run-scripts/:$PATH export ZSH=$HOME/.oh-my-zsh +source ~/hosting-run-scripts/rc-files/ovhrc # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes ZSH_THEME="agnoster" -DEFAULT_USER=$USER +HOST_COLOR=$(hostname -f | xxd -u -ps -s 5 -l 3 || 'FF0000') # CASE_SENSITIVE="true" # HYPHEN_INSENSITIVE="true" -DISABLE_AUTO_UPDATE="true" +DISABLE_AUTO_UPDATE="false" +DEFAULT_USER=$USER # export UPDATE_ZSH_DAYS=13 # DISABLE_LS_COLORS="true" # DISABLE_AUTO_TITLE="true" @@ -16,6 +18,11 @@ DISABLE_AUTO_UPDATE="true" # DISABLE_UNTRACKED_FILES_DIRTY="true" HIST_STAMPS="yyyy-mm-dd" + +export PYENV_ROOT="$HOME/.pyenv" +export PATH="$PYENV_ROOT/bin:$PATH" +eval "$(pyenv init --path)" + # Would you like to use another custom folder than $ZSH/custom? # ZSH_CUSTOM=/path/to/new-custom-folder @@ -24,7 +31,7 @@ HIST_STAMPS="yyyy-mm-dd" # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=( -adb +#adb #ant #apache2-macports #arcanist @@ -82,7 +89,7 @@ docker-compose #eecms #emacs #ember-cli -emoji +#emoji #emoji-clock #emotty encode64 @@ -162,7 +169,6 @@ man #n98-magerun nanoc #ng -#nix #nmap node #nomad @@ -188,7 +194,7 @@ postgres #powify #profiles pyenv -pylint +#pylint python #rails #rake @@ -202,7 +208,7 @@ redis-cli #repo rsync #ruby -rust +#rust #rvm #safe-paste #sbt @@ -245,7 +251,7 @@ tmux #tugboat #ubuntu #urltools -#vagrant +vagrant vault #vi-mode #vim-interaction @@ -268,7 +274,7 @@ vault ) zstyle :omz:plugins:ssh-agent agent-forwarding on -zstyle :omz:plugins:ssh-agent identities auberge +zstyle :omz:plugins:ssh-agent identities work_201909 zstyle :omz:plugins:ssh-agent lifetime 4h source $ZSH/oh-my-zsh.sh @@ -283,7 +289,7 @@ source $ZSH/oh-my-zsh.sh # else # export EDITOR='mvim' # fi - +export EDITOR='hx' # Compilation flags # export ARCHFLAGS="-arch x86_64" @@ -338,5 +344,16 @@ alias osc='openstack console log show' alias oss='openstack server' alias psa='ps auxwwwf' alias toph='top -cHd1' +alias vdir='vdir --color=auto' alias ip="ip --color" VAULT_ADDR="https://vault.ood.ovh:8200" +source ~/.webhosting/activate +autoload -Uz compinit +zstyle ':completion:*' menu select +fpath+=~/.zfunc +fpath+=${ZDOTDIR:-~}/.zsh_functions +alias bat=batcat +alias osm="openstack --os-cloud management_stack" +alias osmb="openstack --os-cloud management_stack_sbg" +alias osmd="openstack --os-cloud management_stack_de" +export BASTION_CONF_FILE=~/.config/ovh/bastion.env \ No newline at end of file