From 369744156919dd1c8594c843b5637ed19a911dd0 Mon Sep 17 00:00:00 2001 From: Jonathan Leech-Pepin Date: Sun, 18 May 2025 21:11:21 -0400 Subject: [PATCH] More jlpframework files --- .gitattributes | 1 + .stowrc | 1 - README.org | 151 ++++- atuin/.config/atuin/config.toml | 272 ++++++++ autostart/.config/autostart/Flameshot.desktop | 7 + borg-space/.config/borg-space/settings.nt | 26 + btop/.config/btop/btop.conf | 212 ++++++ direnv/.config/direnv/direnv.toml | 6 + emborg/.config/emborg/excludes | 31 + emborg/.config/emborg/home-blackstaff | 8 + emborg/.config/emborg/home-local | 8 + emborg/.config/emborg/home-ndbackups | 9 + emborg/.config/emborg/overdue.conf | 20 + emborg/.config/emborg/root | 16 + emborg/.config/emborg/settings | 51 ++ envvar/.config/environment.d/arch.conf | 2 + envvar/.config/environment.d/editor.conf | 2 + envvar/.config/environment.d/ssh.conf | 2 + fish/.config/fish/conf.d/core_abbrs.fish | 11 + fish/.config/fish/conf.d/fish_init.fish | 41 ++ fish/.config/fish/config.fish | 45 ++ gopass/.config/gopass/config | 28 + msmtp/.config/msmtp/config | 26 + .../.config/oh-my-posh/jleechpe.omp.dhall | 602 ++++++++++++++++++ .../.config/oh-my-posh/jleechpe.omp.yaml | 303 +++++++++ picom/.config/picom.conf | 421 ++++++++++++ .../Microsoft.PowerShell_profile.ps1 | 9 + swhkd/.config/sxhkd/sxhkdrc | 32 + 28 files changed, 2341 insertions(+), 2 deletions(-) create mode 100644 atuin/.config/atuin/config.toml create mode 100644 autostart/.config/autostart/Flameshot.desktop create mode 100644 borg-space/.config/borg-space/settings.nt create mode 100644 btop/.config/btop/btop.conf create mode 100644 direnv/.config/direnv/direnv.toml create mode 100644 emborg/.config/emborg/excludes create mode 100644 emborg/.config/emborg/home-blackstaff create mode 100644 emborg/.config/emborg/home-local create mode 100644 emborg/.config/emborg/home-ndbackups create mode 100644 emborg/.config/emborg/overdue.conf create mode 100644 emborg/.config/emborg/root create mode 100644 emborg/.config/emborg/settings create mode 100644 envvar/.config/environment.d/arch.conf create mode 100644 envvar/.config/environment.d/editor.conf create mode 100644 envvar/.config/environment.d/ssh.conf create mode 100644 fish/.config/fish/conf.d/core_abbrs.fish create mode 100644 fish/.config/fish/conf.d/fish_init.fish create mode 100644 fish/.config/fish/config.fish create mode 100644 gopass/.config/gopass/config create mode 100644 msmtp/.config/msmtp/config create mode 100644 oh-my-posh/.config/oh-my-posh/jleechpe.omp.dhall create mode 100644 oh-my-posh/.config/oh-my-posh/jleechpe.omp.yaml create mode 100644 picom/.config/picom.conf create mode 100644 powershell/.config/powershell/Microsoft.PowerShell_profile.ps1 create mode 100644 swhkd/.config/sxhkd/sxhkdrc diff --git a/.gitattributes b/.gitattributes index 3adfa3f..ec99d73 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,3 +3,4 @@ **/.kube/config filter=ageEncrypt **/.tabby-client/agent/config.toml filter=ageEncrypt gpg/.gnupg/private-keys-v1.d/* filter=ageEncrypt +msmtp/.config/msmtp/config filter=ageEncrypt diff --git a/.stowrc b/.stowrc index 940b1a8..bcfb547 100644 --- a/.stowrc +++ b/.stowrc @@ -1,2 +1 @@ --target=$HOME ---no-folding diff --git a/README.org b/README.org index b8476ea..9cea936 100644 --- a/README.org +++ b/README.org @@ -1 +1,150 @@ -Dotfiles +* Dotfile management + +* TODO Sync Status [0%] + +Planned process is: +1. Pull current config from ~jlpframework~ and ~dresden~ (hopefully mostly in sync) +2. Combine any differences between the two environments +3. See any changes worth making to optimize/standardize + +Statuses: +- CHECK :: Retrieve the data +- REVIEW :: Ensure content is what I want + +** TODO aspell [1/2] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO atuin [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO autostart [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** PEND awesome [0/2] +*** CHECK Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO borg-space [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** PEND broot [0/3] +*** CHECK Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO btop [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO direnv [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** PEND dunst [0/3] +*** CHECK Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO emborg [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO envvar [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO fish [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO git [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO gopass [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO gpg [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO jlptech [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** PEND k9s [0/3] +*** CHECK Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO kubernetes [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO msmtp [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO oh-my-posh [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO picom [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO powershell [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO pulumi [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** PEND qtile [0/3] +*** CHECK Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO ssh [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO swhkd [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO system [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO tabby [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO terraform [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO vale [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** TODO wakatime [1/3] +*** DONE Framework +*** CHECK Dresden +*** CHECK Up-to-date +** PEND wezterm [0/3] +*** CHECK Framework +*** CHECK Dresden +*** CHECK Up-to-date +** PEND zellij [0/3] +*** CHECK Framework +*** CHECK Dresden +*** CHECK Up-to-date + +* COMMENT Config :ARCHIVE: + +#+TODO: TODO(t) PEND(n) | DONE(d) +#+TODO: CHECK(c) REVIEW(r) | DONE(d) diff --git a/atuin/.config/atuin/config.toml b/atuin/.config/atuin/config.toml new file mode 100644 index 0000000..ac9f8a1 --- /dev/null +++ b/atuin/.config/atuin/config.toml @@ -0,0 +1,272 @@ +## where to store your database, default is your system data directory +## linux/mac: ~/.local/share/atuin/history.db +## windows: %USERPROFILE%/.local/share/atuin/history.db +# db_path = "~/.history.db" + +## where to store your encryption key, default is your system data directory +## linux/mac: ~/.local/share/atuin/key +## windows: %USERPROFILE%/.local/share/atuin/key +# key_path = "~/.key" + +## where to store your auth session token, default is your system data directory +## linux/mac: ~/.local/share/atuin/session +## windows: %USERPROFILE%/.local/share/atuin/session +# session_path = "~/.session" + +## date format used, either "us" or "uk" +# dialect = "us" + +## default timezone to use when displaying time +## either "l", "local" to use the system's current local timezone, or an offset +## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]" +## for example: "+9", "-05", "+03:30", "-01:23:45", etc. +# timezone = "local" + +## enable or disable automatic sync +# auto_sync = true + +## enable or disable automatic update checks +# update_check = true + +## address of the sync server +# sync_address = "https://api.atuin.sh" + +## how often to sync history. note that this is only triggered when a command +## is ran, so sync intervals may well be longer +## set it to 0 to sync after every command +# sync_frequency = "10m" + +## which search mode to use +## possible values: prefix, fulltext, fuzzy, skim +# search_mode = "fuzzy" + +## which filter mode to use by default +## possible values: "global", "host", "session", "directory", "workspace" +## consider using search.filters to customize the enablement and order of filter modes +# filter_mode = "global" + +## With workspace filtering enabled, Atuin will filter for commands executed +## in any directory within a git repository tree (default: false). +## +## To use workspace mode by default when available, set this to true and +## set filter_mode to "workspace" or leave it unspecified and +## set search.filters to include "workspace" before other filter modes. +# workspaces = false + +## which filter mode to use when atuin is invoked from a shell up-key binding +## the accepted values are identical to those of "filter_mode" +## leave unspecified to use same mode set in "filter_mode" +# filter_mode_shell_up_key_binding = "global" + +## which search mode to use when atuin is invoked from a shell up-key binding +## the accepted values are identical to those of "search_mode" +## leave unspecified to use same mode set in "search_mode" +# search_mode_shell_up_key_binding = "fuzzy" + +## which style to use +## possible values: auto, full, compact +# style = "auto" + +## the maximum number of lines the interface should take up +## set it to 0 to always go full screen +# inline_height = 0 + +## Invert the UI - put the search bar at the top , Default to `false` +# invert = false + +## enable or disable showing a preview of the selected command +## useful when the command is longer than the terminal width and is cut off +# show_preview = true + +## what to do when the escape key is pressed when searching +## possible values: return-original, return-query +# exit_mode = "return-original" + +## possible values: emacs, subl +# word_jump_mode = "emacs" + +## characters that count as a part of a word +# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + +## number of context lines to show when scrolling by pages +# scroll_context_lines = 1 + +## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts +## alt-0 .. alt-9 +# ctrl_n_shortcuts = false + +## default history list format - can also be specified with the --format arg +# history_format = "{time}\t{command}\t{duration}" + +## prevent commands matching any of these regexes from being written to history. +## Note that these regular expressions are unanchored, i.e. if they don't start +## with ^ or end with $, they'll match anywhere in the command. +## For details on the supported regular expression syntax, see +## https://docs.rs/regex/latest/regex/#syntax +# history_filter = [ +# "^secret-cmd", +# "^innocuous-cmd .*--secret=.+", +# ] + +## prevent commands run with cwd matching any of these regexes from being written +## to history. Note that these regular expressions are unanchored, i.e. if they don't +## start with ^ or end with $, they'll match anywhere in CWD. +## For details on the supported regular expression syntax, see +## https://docs.rs/regex/latest/regex/#syntax +# cwd_filter = [ +# "^/very/secret/area", +# ] + +## Configure the maximum height of the preview to show. +## Useful when you have long scripts in your history that you want to distinguish +## by more than the first few lines. +# max_preview_height = 4 + +## Configure whether or not to show the help row, which includes the current Atuin +## version (and whether an update is available), a keymap hint, and the total +## amount of commands in your history. +# show_help = true + +## Configure whether or not to show tabs for search and inspect +# show_tabs = true + +## Configure whether or not the tabs row may be auto-hidden, which includes the current Atuin +## tab, such as Search or Inspector, and other tabs you may wish to see. This will +## only be hidden if there are fewer than this count of lines available, and does not affect the use +## of keyboard shortcuts to switch tab. 0 to never auto-hide, default is 8 (lines). +## This is ignored except in `compact` mode. +# auto_hide_height = 8 + +## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include +## 1. AWS key id +## 2. Github pat (old and new) +## 3. Slack oauth tokens (bot, user) +## 4. Slack webhooks +## 5. Stripe live/test keys +# secrets_filter = true + +## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit. +# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise. +enter_accept = true + +## Defaults to "emacs". This specifies the keymap on the startup of `atuin +## search`. If this is set to "auto", the startup keymap mode in the Atuin +## search is automatically selected based on the shell's keymap where the +## keybinding is defined. If this is set to "emacs", "vim-insert", or +## "vim-normal", the startup keymap mode in the Atuin search is forced to be +## the specified one. +# keymap_mode = "auto" + +## Cursor style in each keymap mode. If specified, the cursor style is changed +## in entering the cursor shape. Available values are "default" and +## "{blink,steady}-{block,underline,bar}". +# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" } + +# network_connect_timeout = 5 +# network_timeout = 5 + +## Timeout (in seconds) for acquiring a local database connection (sqlite) +# local_timeout = 5 + +## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc. +## Alternatively, set env NO_MOTION=true +# prefers_reduced_motion = false + +[stats] +## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl +# common_subcommands = [ +# "apt", +# "cargo", +# "composer", +# "dnf", +# "docker", +# "git", +# "go", +# "ip", +# "jj", +# "kubectl", +# "nix", +# "nmcli", +# "npm", +# "pecl", +# "pnpm", +# "podman", +# "port", +# "systemctl", +# "tmux", +# "yarn", +# ] + +## Set commands that should be totally stripped and ignored from stats +# common_prefix = ["sudo"] + +## Set commands that will be completely ignored from stats +# ignored_commands = [ +# "cd", +# "ls", +# "vi" +# ] + +[keys] +# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry. +# scroll_exits = true +# Defaults to true. The left arrow key will exit the TUI when scrolling before the first character +# exit_past_line_start = true +# Defaults to true. The right arrow key performs the same functionality as Tab and copies the selected line to the command line to be modified. +# accept_past_line_end = true + +[sync] +# Enable sync v2 by default +# This ensures that sync v2 is enabled for new installs only +# In a later release it will become the default across the board +records = true + +[preview] +## which preview strategy to use to calculate the preview height (respects max_preview_height). +## possible values: auto, static +## auto: length of the selected command. +## static: length of the longest command stored in the history. +## fixed: use max_preview_height as fixed height. +# strategy = "auto" + +[daemon] +## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon` +# enabled = false + +## How often the daemon should sync in seconds +# sync_frequency = 300 + +## The path to the unix socket used by the daemon (on unix systems) +## linux/mac: ~/.local/share/atuin/atuin.sock +## windows: Not Supported +# socket_path = "~/.local/share/atuin/atuin.sock" + +## Use systemd socket activation rather than opening the given path (the path must still be correct for the client) +## linux: false +## mac/windows: Not Supported +# systemd_socket = false + +## The port that should be used for TCP on non unix systems +# tcp_port = 8889 + +# [theme] +## Color theme to use for rendering in the terminal. +## There are some built-in themes, including the base theme ("default"), +## "autumn" and "marine". You can add your own themes to the "./themes" subdirectory of your +## Atuin config (or ATUIN_THEME_DIR, if provided) as TOML files whose keys should be one or +## more of AlertInfo, AlertWarn, AlertError, Annotation, Base, Guidance, Important, and +## the string values as lowercase entries from this list: +## https://ogeon.github.io/docs/palette/master/palette/named/index.html +## If you provide a custom theme file, it should be called "NAME.toml" and the theme below +## should be the stem, i.e. `theme = "NAME"` for your chosen NAME. +# name = "autumn" + +## Whether the theme manager should output normal or extra information to help fix themes. +## Boolean, true or false. If unset, left up to the theme manager. +# debug = true + +[search] +## The list of enabled filter modes, in order of priority. +## The "workspace" mode is skipped when not in a workspace or workspaces = false. +## Default filter mode can be overridden with the filter_mode setting. +# filters = [ "global", "host", "session", "workspace", "directory" ] diff --git a/autostart/.config/autostart/Flameshot.desktop b/autostart/.config/autostart/Flameshot.desktop new file mode 100644 index 0000000..ffc069d --- /dev/null +++ b/autostart/.config/autostart/Flameshot.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=flameshot +Icon=flameshot +Exec=flameshot +Terminal=false +Type=Application +X-GNOME-Autostart-enabled=true diff --git a/borg-space/.config/borg-space/settings.nt b/borg-space/.config/borg-space/settings.nt new file mode 100644 index 0000000..8d19ce7 --- /dev/null +++ b/borg-space/.config/borg-space/settings.nt @@ -0,0 +1,26 @@ +default repository: home +report style: tree +compact format: {name}: {size}. Last back up: {last_create:ddd, MMM DD}. Last squeeze: {last_squeeze:ddd, MMM DD}. +table format: {host:<8} {user:<9} {config:<16} {size:<10.2b} {last_create:ddd, MMM DD} +table header: HOST USER CONFIG SIZE LAST BACK UP +report fields: size last_create last_squeeze +tree report fields: size +date format: YYYY-MM-DD HH:mm:ss +size format: .2b + +repositories: + home-local: home-local@jlpframework~jleechpe + home-blackstaff: home-blackstaff@jlpframework~jleechpe + home-ndbackups: home-ndbackups@jlpframework~jleechpe + jlpframework-local: root-local@jlpframework~root + jlpframework-blackstaff: root-blackstaff@jlpframework~root + jlpframework-ndbackups: root-ndbackups@jlpframework~root + blackstaff-local: root-local@blackstaff~root + blackstaff-ndbackups: root-ndbackups@blackstaff~root + + home: home-local home-blackstaff home-ndbackups + jlpframework: jlpframework-local jlpframework-blackstaff jlpframework-ndbackups + blackstaff: blackstaff-local blackstaff-ndbackups + all: home jlpframework blackstaff + + non-user: jlpframework diff --git a/btop/.config/btop/btop.conf b/btop/.config/btop/btop.conf new file mode 100644 index 0000000..4663268 --- /dev/null +++ b/btop/.config/btop/btop.conf @@ -0,0 +1,212 @@ +#? Config file for btop v. 1.2.13 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "Default" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = True + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = False + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace. +shown_boxes = "cpu mem net proc" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 2000 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "user" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = False + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Show cpu graph for each process. +proc_cpu_graphs = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "total" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "total" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = False + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = True + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = True + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = False + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = True + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* Show battery stats in top right if battery is present. +show_battery = True + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" \ No newline at end of file diff --git a/direnv/.config/direnv/direnv.toml b/direnv/.config/direnv/direnv.toml new file mode 100644 index 0000000..aae9fb7 --- /dev/null +++ b/direnv/.config/direnv/direnv.toml @@ -0,0 +1,6 @@ +[global] +disable_stdin = true +hide_env_diff = true + +[whitelist] +prefix= ["~/sources/"] diff --git a/emborg/.config/emborg/excludes b/emborg/.config/emborg/excludes new file mode 100644 index 0000000..c5cf292 --- /dev/null +++ b/emborg/.config/emborg/excludes @@ -0,0 +1,31 @@ +sh:**/.cache +sh:**/__pycache__ +sh:**/*.pyc +sh:**/.*.swp +sh:**/.*.swo +sh:**/.git +sh:**/node_modules +sh:**/venv +sh:**/.direnv/python* +/home/*/.npm/_cacache +/home/*/.npm/_logs +/home/*/.kube/cache +/home/*/aur +/home/*/Games +/home/*/Android +/home/*/.emacs.d +/home/*/.pnpm-store +/home/*/.zoom +/home/*/.nuget +/home/*/.dotnet +re:.pulumi/(templates|history|plugins|backups) +re:.local/share/(Steam|lutris|trash|waydroid) +re:.config/(chromium|syncthing|BraveSoftware|spotify|Slack|Code.*|discord.*) +re:.[Aa]zure/(commands|ErrorRecords) +re:.(electron|node)-gyp +/home/*/sources/*/localdev +/home/*/.gradle +/home/*/.android +/home/*/.terraform.d +/home/*/.rustup/toolchains +/home/*/.local/share/Trash diff --git a/emborg/.config/emborg/home-blackstaff b/emborg/.config/emborg/home-blackstaff new file mode 100644 index 0000000..0940a15 --- /dev/null +++ b/emborg/.config/emborg/home-blackstaff @@ -0,0 +1,8 @@ +# -*- mode: python-ts; -*- +# Settings for home configuration +# use of absolute paths is recommended +encryption = "authenticated" +repository = "borg@blackstaff:/var/borg/backup/{user_name}" + +src_dirs = "~" # absolute path to directory to be backed up +exclude_from = "{config_dir}/excludes" diff --git a/emborg/.config/emborg/home-local b/emborg/.config/emborg/home-local new file mode 100644 index 0000000..cd3db5c --- /dev/null +++ b/emborg/.config/emborg/home-local @@ -0,0 +1,8 @@ +# -*- mode: python-ts; -*- +# Settings for home configuration +# use of absolute paths is recommended +encryption = "authenticated" +repository = "/var/borg/backup/{user_name}" + +src_dirs = "~" # absolute path to directory to be backed up +exclude_from = "{config_dir}/excludes" diff --git a/emborg/.config/emborg/home-ndbackups b/emborg/.config/emborg/home-ndbackups new file mode 100644 index 0000000..0a4d2e8 --- /dev/null +++ b/emborg/.config/emborg/home-ndbackups @@ -0,0 +1,9 @@ +# -*- mode: python-ts; -*- +# Settings for home configuration +# use of absolute paths is recommended +encryption = "repokey" +passcommand = "gopass show -o borg/jleechpe" +repository = "ndbackups.leechpepin.com:homes/{user_name}" + +src_dirs = "~" # absolute path to directory to be backed up +exclude_from = "{config_dir}/excludes" diff --git a/emborg/.config/emborg/overdue.conf b/emborg/.config/emborg/overdue.conf new file mode 100644 index 0000000..776943c --- /dev/null +++ b/emborg/.config/emborg/overdue.conf @@ -0,0 +1,20 @@ +# -*- mode: python-ts; -*- + +default_maintainer = "jonathan@leechpepin.com" +dumper = "jonathan@leechpepin.com" +default_max_age = 25 # hours +root = "~/.local/share/emborg" +repositories = [ + dict(host="local (home)", path="home-local.latest.nt"), + dict(host="blackstaff (home)", path="home-blackstaff.latest.nt"), + dict(host="ndbackups (home)", path="home-ndbackups.latest.nt"), + dict(host="local (root)", path="/root/.local/share/emborg/root-local.latest.nt"), + dict( + host="blackstaff (root)", + path="/root/.local/share/emborg/root-blackstaff.latest.nt", + ), + dict( + host="ndbackups (root)", + path="/root/.local/share/emborg/root-ndbackups.latest.nt", + ), +] diff --git a/emborg/.config/emborg/root b/emborg/.config/emborg/root new file mode 100644 index 0000000..caa5b4c --- /dev/null +++ b/emborg/.config/emborg/root @@ -0,0 +1,16 @@ +# Settings for root configuration +# use of absolute paths is recommended +src_dirs = '/' # paths to directories to be backed up +excludes = ''' + /dev + /home/*/.cache + /mnt + /proc + /root/.cache + /run + /sys + /tmp + /var/cache + /var/run + /var/tmp +''' # list of files or directories to skip diff --git a/emborg/.config/emborg/settings b/emborg/.config/emborg/settings new file mode 100644 index 0000000..2564c7c --- /dev/null +++ b/emborg/.config/emborg/settings @@ -0,0 +1,51 @@ +# These settings are common to all configurations -*- mode: python-ts; -*- + +# configurations +configurations = "home-local home-blackstaff home-ndbackups home=home-local,home-blackstaff,home-ndbackups" +default_configuration = "home" + +# encryption +encryption = "repokey" # borg encryption method +# Common choices are 'repokey' and 'keyfile'. +# With 'repokey' the encryption key is copied into repository, use this +# only if the remote repository is owned by you and is secure. +# With 'keyfile' the encryption key is only stored locally. Be sure to +# export it and save a copy in a safe place, otherwise you may not be +# able to access your backups if you lose your disk. +# specify either passphrase or avendesora_account +passcommand = "gopass show -o borg/jleechpe" + +# basic settings +# specify notify if batch and notifier if interactive +notify = "jonathan@leechpepin.com" # who to notify when things go wrong +notifier = 'notify-send -u normal {prog_name} "{msg}"' +# interactive notifier program +prune_after_create = True # automatically run prune after a backup +check_after_create = "latest" # automatically run check after a backup +compact_after_delete = True # automatically run compact after a delete or prune + +# repository settings +archive = "{host_name}-{{now}}" +glob_archives = "{host_name}-*" +# These may contain {} where is any of host_name, user_name, +# prog_name config_name, or any of the user specified settings. +# Double up the braces to specify parameters that should be interpreted +# directly by borg, such as {{now}}. +compression = "zstd,3" + +# filter settings +exclude_if_present = ".stfolder" +exclude_caches = True + +# prune settings +keep_within = "3H" # keep all archives created in interval +# keep_hourly = 48 # number of hourly archives to keep +keep_daily = 7 # number of daily archives to keep +keep_weekly = 4 # number of weekly archives to keep +keep_monthly = 6 # number of monthly archives to keep +keep_yearly = 1 # number of yearly archives to keep + +# run_after_backup = ["borg-space -r {config_name}"] +# run_after_borg = [ +# "ntlog --keep-for 7 --day 'D MMMM YYYY {{{{{{1' --entry 'h:mm A {{{{{{2' --description 'Backup' --fold-marker '{{{{{{ ❬❬❬' /home/{user_name}/.local/share/emborg/{config_name}.log", +# ] diff --git a/envvar/.config/environment.d/arch.conf b/envvar/.config/environment.d/arch.conf new file mode 100644 index 0000000..d7669ff --- /dev/null +++ b/envvar/.config/environment.d/arch.conf @@ -0,0 +1,2 @@ +# Ensure pacmatic uses powerpill +pacman_program="/usr/bin/pacman" diff --git a/envvar/.config/environment.d/editor.conf b/envvar/.config/environment.d/editor.conf new file mode 100644 index 0000000..43da6fc --- /dev/null +++ b/envvar/.config/environment.d/editor.conf @@ -0,0 +1,2 @@ +EDITOR="/usr/bin/emacsclient -c" +VISUAL="/usr/bin/emacsclient -c" diff --git a/envvar/.config/environment.d/ssh.conf b/envvar/.config/environment.d/ssh.conf new file mode 100644 index 0000000..5fdae12 --- /dev/null +++ b/envvar/.config/environment.d/ssh.conf @@ -0,0 +1,2 @@ +SSH_AGENT_PID="" +SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh" diff --git a/fish/.config/fish/conf.d/core_abbrs.fish b/fish/.config/fish/conf.d/core_abbrs.fish new file mode 100644 index 0000000..6a09d29 --- /dev/null +++ b/fish/.config/fish/conf.d/core_abbrs.fish @@ -0,0 +1,11 @@ +abbr -a -- gco 'git checkout' +abbr -a -- tfp 'terraform plan' +abbr -a -- tfi 'terraform init' +abbr -a -- tfa 'terraform apply' +abbr -a -- tfpl 'terraform providers lock' +abbr -a -- rm trash-put +abbr -a colorhelpshort --position anywhere --regex "(-h)" -- "-h | bat -plhelp" +abbr -a colorhelplong --position anywhere --regex "(--help)" -- "--help | bat -plhelp" +abbr -a colorhelpcmd --position anywhere --regex "(help)" --set-cursor "help % | bat -plhelp" +abbr -a -- tail --set-cursor "tail % | bat --paging=never -l log" +abbr -a vim --position anywhere --regex "(vim?)" nvim diff --git a/fish/.config/fish/conf.d/fish_init.fish b/fish/.config/fish/conf.d/fish_init.fish new file mode 100644 index 0000000..6425cb8 --- /dev/null +++ b/fish/.config/fish/conf.d/fish_init.fish @@ -0,0 +1,41 @@ +function _init_zellij + if type -p zellij 2>&1 >/dev/null + not test $ZELLIJ_SESSION_NAME && not test "$TERM" = dumb + # Commands to run in interactive sessions can go here + # set ZELLIJ_AUTO_ATTACH true + set ZELLIJ_AUTO_EXIT true + if test $ZELLIJ_SESSION + zellij attach -c $ZELLIJ_SESSION + else + zellij -l welcome + end + if $ZELLIJ_AUTO_EXIT + kill $fish_pid + end + end +end + +function _init_atuin + if type -p atuin 2>&1 >/dev/null + atuin init fish | source + end +end + +function _init_fish_greeting + if test "$TERM_PROGRAM" = vscode + function fish_greeting + end + else + function fish_greeting + if type -p fastfetch 2>&1 >/dev/null + fastfetch + end + end + end +end + +function _init_zoxide + if type -p zoxide 2>&1 >/dev/null + zoxide init fish --hook pwd | source + end +end diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish new file mode 100644 index 0000000..cfa6838 --- /dev/null +++ b/fish/.config/fish/config.fish @@ -0,0 +1,45 @@ +if type -p direnv 2>&1 >/dev/null + direnv hook fish | source +end + +if test $INSIDE_EMACS + set USE_ZELLIJ false +else + set USE_ZELLIJ true +end + +if test "$TERM" = dumb + function fish_prompt + echo "\$ " + end + + function fish_greeting + end + function fish_title + end + function fish_right_prompt + end + + set USE_ZELLIJ false +end + +if status is-interactive + if type -p oh-my-posh 2>&1 >/dev/null + oh-my-posh init fish --config /home/jleechpe/.config/oh-my-posh/jleechpe.omp.yaml | source + end + if $USE_ZELLIJ && not test $ZELLIJ_SESSION_NAME + _init_zellij + end + _init_atuin + _init_fish_greeting + _init_zoxide +end + + +set -gx PNPM_HOME "/home/jleechpe/.local/share/pnpm" +set -gx PATH "$PNPM_HOME" $PATH + + +# tabtab source for packages +# uninstall by removing these lines +[ -f ~/.config/tabtab/fish/__tabtab.fish ]; and . ~/.config/tabtab/fish/__tabtab.fish; or true diff --git a/gopass/.config/gopass/config b/gopass/.config/gopass/config new file mode 100644 index 0000000..d50bd7d --- /dev/null +++ b/gopass/.config/gopass/config @@ -0,0 +1,28 @@ +# -*- mode: conf-unix; -*- + +[core] + notifications = true + exportkeys = true + cliptimeout = 45 + nopager = false + autoimport = true + parsing = true +[age] + usekeychain = false +[audit] + concurrency = 6 + hibp-use-api = true +[mounts] + path = /home/jleechpe/sources/gopass/perso +[mounts "jlptech"] + path = /home/jleechpe/sources/gopass/jlptech +[show] + safecontent = true +[generate] + autoclip = false + symbols = true + +[create] + default-username = jleechpe +[edit] + auto-create = true diff --git a/msmtp/.config/msmtp/config b/msmtp/.config/msmtp/config new file mode 100644 index 0000000..335dee5 --- /dev/null +++ b/msmtp/.config/msmtp/config @@ -0,0 +1,26 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4eVFmL0dDV3Q0OFdHNktu +Rk5GOWFscTlCcmlOTFNnYVQ1bXBpQ2wrbGs0CkVabkwyNzNXSTl1VlRML2J3YSs3 +TDFIZ2Vrdjl6YzkvcUs4UW4yQVVlRDQKLS0tIHp1cTVoOGZ2YmUxTE5yOVpZVHJK +TEw1OGRjQ0wwclRYbGU5UHRzMFJiMXcK7HGwEFzOOEE1QufhDH7kFqAOeJEAV541 +ltcTMkZ1ygPOSd2FteFuXfkWJmquEIc+8WGHuclTbUvU/XlCJieCeOV/VAMX655C +SOE+P8xWd+ue3OmV/w44vTk6p0Qmpeo71GDZxhT6C04U8Yc11yQm/D4S/ez85kLK +IXBtQtnsonw8ux1n4aOpxcsoIffmfAxCDEStpzh1sI7QU/aJeDQ7BYk/x5kG5erU +Fu/RHNfYWkVXzr0t5XcW+tIQq9gH4Eq0sAVeEzfqYCN2orsxYlgCSZeB8Wkvez9u +G6qSOxwABPD5g9L7sSBIfm1Vw4Z37U9CH5vaCU3vW3ys1AifSUuis1PwSOM9QTZv +DtA4cVy6cuRNjDQbvibgqekrYzXfQb1eJ7t+y84wmcaAfxMtRwPWM2neu+qqqeMq +kvu3MdzuiGxFnUTHxZ53wzrIBWWFj6T6iVCN5GvE8i7/ChsJeCDvCCco2jZM1W6K ++goRbnLcPltOc0FujFw5a3g7q4uYBH8HD/LX/FJFDswyfpXcnNC68kc7ZxJuMX2k +AwznB2/VXIcKIx6t9FmU3AveiD8YLGKpt4D5/H+I7+l6ywY56WCwOy2vEpagjnzF +7O7Gqh3Pk35mypZqFjWmXnOmyGd6AGD75ovG9Kha6z0357hSrg8rNawix+i8bli5 +VHUQmlTRvDibZRVVgdhMDlISuCKlI4mFPiMEP+qkUziXcGbavEk+SRvqI5JHZXUe +0OQCEXHHKK93u41bxNu4VPYy4ZSBN3QcIcEWd3P3X+FEE0TwBh8/nbY/3/t76PlA +1GjUo9GExA9UkTDdEHUZ7FyYMFmSTqa+n77+dsnJG4n8w+TNx0CfitEOUxLYxIEr +7kQ/qFwPaSEUwfojCEw/zQLFuj5RpAobFML82l5JC4WeEMNPO9OeIvTD6jkVDDfl +JRDENxNx4Z2bb44e55LX+gAxcl0wXgLo5J+GN7ObH86MGwvMNRXREq58nPBbxyhj +N1d31yPM6bdFvEJYGl5RlMezHeWZAgpRCbC6EUzGt6Eapd01Bep3aqFxgLn2yllU +nJj/i6IP25A4rRSncYGDO4APO5dyqwnG88N5dVvjHDzT1wcvRbOOUxpRhoyFlkXw +IMEtejZ4hhZ/2Nmmi0mfp1guFbmVqVYutnwTmYhtsw6dWExs1rr1C+tO35xIJHrz +MoEpmm4CS3yHF+OAjvzhKi/N5VulYli8LCEN2CqPtQJDjClrCY4JNBOAwEYcfjYJ +h2UwU/xn3SJ8PjjunfB85ct8Ic3/67I5 +-----END AGE ENCRYPTED FILE----- diff --git a/oh-my-posh/.config/oh-my-posh/jleechpe.omp.dhall b/oh-my-posh/.config/oh-my-posh/jleechpe.omp.dhall new file mode 100644 index 0000000..6cd58eb --- /dev/null +++ b/oh-my-posh/.config/oh-my-posh/jleechpe.omp.dhall @@ -0,0 +1,602 @@ +let theme_base = + { bg = "#2b303b" + , bg-alt = "#232830" + , base0 = "#1B2229" + , base1 = "#1c1f24" + , base2 = "#202328" + , base3 = "#2F3237" + , base4 = "#4f5b66" + , base5 = "#65737E" + , base6 = "#73797e" + , base7 = "#9ca0a4" + , base8 = "#DFDFDF" + , fg = "#c0c5ce" + , fg-alt = "#c0c5ce" + , red = "#BF616A" + , orange = "#D08770" + , green = "#A3BE8C" + , blue = "#8FA1B3" + , violet = "#b48ead" + , teal = "#4db5bd" + , yellow = "#ECBE7B" + , dark-blue = "#2257A0" + , magenta = "#c678dd" + , cyan = "#46D9FF" + , dark-cyan = "#5699AF" + } + +let theme = + { bg = theme_base.bg + , bg-alt = theme_base.bg-alt + , base0 = theme_base.base0 + , base1 = theme_base.base1 + , base2 = theme_base.base2 + , base3 = theme_base.base3 + , base4 = theme_base.base4 + , base5 = theme_base.base5 + , base6 = theme_base.base6 + , base7 = theme_base.base7 + , base8 = theme_base.base8 + , fg = theme_base.fg + , grey = theme_base.base4 + , red = theme_base.red + , orange = theme_base.orange + , green = theme_base.green + , blue = theme_base.blue + , violet = theme_base.violet + , teal = theme_base.teal + , yellow = theme_base.yellow + , dark-blue = theme_base.dark-blue + , magenta = theme_base.magenta + , cyan = theme_base.cyan + , dark-cyan = theme_base.dark-cyan + , highlight = theme_base.orange + , selection = theme_base.base4 + , builtin = theme_base.orange + , comments = theme_base.dark-cyan + , constants = theme_base.orange + , functions = theme_base.blue + , keywords = theme_base.violet + , methods = theme_base.blue + , operators = theme_base.fg + , type = theme_base.yellow + , strings = theme_base.green + , variables = theme_base.red + , numbers = theme_base.orange + , region = theme_base.base4 + , error = theme_base.red + , warning = theme_base.yellow + , success = theme_base.green + , vc-modified = theme_base.orange + , vc-added = theme_base.green + , vc-deleted = theme_base.red + , hidden = theme_base.bg-alt + , frame = theme_base.red + , iac-bg = theme_base.dark-blue + , vcs-bg = theme_base.base4 + , k8s-bg = theme_base.base4 + , cloud-bg = theme_base.blue + , cloud-fg = theme_base.base0 + , direnv-fg = theme_base.yellow + , proglang-bg = theme_base.violet + } + +let symbols = + { left_hard = "" + , left_hard_inverse = "" + , left_soft = "" + , right_hard = "" + , right_hard_inverse = "" + , right_soft = "" + , tleft_frame = "╭─" + , bleft_frame = "╰─" + , tright_frame = "─╮" + , bright_frame = "─╯" + , prompt_char = "❯" + , k8s = " 󱃾 " + , gcp = "  " + , az = "  " + , fossil = "F" + , pulumi = " 󰵆 " + , terraform = " 󱁢 " + , direnv = " ▼ " + , python = "  " + , helm = "󰷀 " + , ssh = "" + } + +let prompt = + \(block : { segment : Bool }) -> + let properties_type = + { fetch_status : Optional Bool + , fetch_upstream_icon : Optional Bool + , style : Optional Text + , always_enabled : Optional Bool + , fetch_stack : Optional Bool + , fetch_about : Optional Bool + , fetch_version : Optional Bool + , display_mode : Optional Text + , http_timeout : Optional Natural + , cache_timeout : Optional Natural + } + + let make_properties = + \(args : properties_type) -> + { style = args.style + , fetch_upstream_icon = args.fetch_upstream_icon + , fetch_status = args.fetch_status + , always_enabled = args.always_enabled + , fetch_stack = args.fetch_stack + , fetch_about = args.fetch_about + , fetch_version = args.fetch_version + , display_mode = args.display_mode + , http_timeout = args.http_timeout + , cache_timeout = args.cache_timeout + } + + let properties = + { Type = properties_type + , default = + { style = None Text + , fetch_upstream_icon = None Bool + , fetch_status = None Bool + , always_enabled = None Bool + , fetch_stack = None Bool + , fetch_about = None Bool + , fetch_version = None Bool + , display_mode = None Text + , http_timeout = None Natural + , cache_timeout = None Natural + } + } + + let segment_type = + { style : Text + , type : Text + , template : Optional Text + , templates_logic : Optional Text + , templates : Optional (List Text) + , leading_diamond : Optional Text + , trailing_diamond : Optional Text + , powerline_symbol : Optional Text + , leading_powerline_symbol : Optional Text + , foreground : Optional Text + , foreground_templates : Optional (List Text) + , background : Optional Text + , background_templates : Optional (List Text) + , properties : Optional properties_type + } + + let make_segment = + \(args : segment_type) -> + { style = args.style + , type = args.type + , template = args.template + , templates_logic = args.templates_logic + , templates = args.templates + , leading_diamond = args.leading_diamond + , trailing_diamond = args.trailing_diamond + , powerline_symbol = args.powerline_symbol + , leading_powerline_symbol = args.leading_powerline_symbol + , foreground = args.foreground + , foreground_templates = args.foreground_templates + , background = args.background + , background_templates = args.background_templates + , properties = args.properties + } + + let segment = + { Type = segment_type + , default = + { style = "powerline" + , template = None Text + , templates_logic = None Text + , templates = None (List Text) + , leading_diamond = Some symbols.right_hard + , trailing_diamond = Some symbols.left_hard + , powerline_symbol = Some symbols.left_hard + , leading_powerline_symbol = None Text + , foreground = Some theme.fg + , foreground_templates = None (List Text) + , background = Some theme.bg + , background_templates = None (List Text) + , properties = None properties_type + } + } + + let block_type = + { type : Text + , alignment : Text + , segments : List segment_type + , newline : Optional Bool + } + + let block = + { Type = block_type + , default = + { type = "prompt", alignment = "left", newline = None Bool } + } + + let make_block = + \(args : block_type) -> + { type = args.type + , alignment = args.alignment + , segments = args.segments + , newline = args.newline + } + + let rpsegments = + [ make_segment + segment::{ + , type = "project" + , powerline_symbol = Some symbols.right_hard_inverse + , leading_powerline_symbol = Some symbols.right_hard + } + , make_segment + segment::{ + , type = "ipify" + , style = "diamond" + , background = Some theme.bg-alt + , trailing_diamond = Some + "<${theme.frame},transparent>${symbols.bright_frame}" + , leading_diamond = None Text + , template = Some + ( "{{if or .Segments.Project.Name .Segments.Project.Version}}{{else}}" + ++ "<${theme.bg-alt},transparent>${symbols.right_hard}{{end}}" + ++ " {{ .IP }} " + ) + , properties = Some + ( make_properties + properties::{ + , http_timeout = Some 1000 + , cache_timeout = Some 60 + } + ) + } + ] + + let l1segments = + [ make_segment + segment::{ + , type = "os" + , trailing_diamond = None Text + , leading_diamond = Some + "<${theme.frame},transparent>${symbols.tleft_frame}" + , style = "diamond" + , background = Some theme.base4 + , foreground = Some theme.yellow + } + , make_segment segment::{ type = "path" } + , make_segment + segment::{ + , type = "git" + , style = "accordion" + , background = Some theme.vcs-bg + , properties = Some + ( make_properties + properties::{ + , fetch_status = Some True + , fetch_upstream_icon = Some True + } + ) + , template = Some + " {{if .UpstreamURL}}{{ .UpstreamIcon }}{{ end}}{{.HEAD}}" + , foreground_templates = Some + [ "{{if or .Ahead .Behind }}${theme.red}{{end}}" + , "{{if or .Working.Changed .Staged.Changed}}${theme.orange}{{end}}" + , theme.fg + ] + } + , make_segment + segment::{ + , type = "fossil" + , background = Some theme.vcs-bg + , style = "accordion" + , template = Some "${symbols.fossil}" + } + ] + + let l2segments = + [ make_segment + segment::{ + , type = "shell" + , style = "diamond" + , leading_diamond = Some + "<${theme.frame},transparent>${symbols.bleft_frame}" + , trailing_diamond = None Text + , background = Some theme.bg-alt + , template = Some "  {{ .Name }} " + , foreground_templates = Some + [ "{{if eq .Name \"fish\"}}${theme.dark-blue}{{end}}" + , "{{if eq .Name \"pwsh\"}}${theme.orange}{{end}}" + ] + } + , make_segment + segment::{ + , type = "text" + , style = "powerline" + , template = Some symbols.prompt_char + , foreground_templates = Some + [ "{{if gt .Segments.Status.Code 0}}${theme.cyan}{{end}}" + , theme.dark-blue + ] + , background_templates = Some + [ "{{if gt .Segments.Status.Code 0}}${theme.red}{{end}}" + , theme.green + ] + } + ] + + let rsegments = + [ make_segment + segment::{ + , type = "status" + , background = Some theme.red + , powerline_symbol = Some symbols.right_hard_inverse + , leading_powerline_symbol = Some symbols.right_hard + } + , make_segment + segment::{ + , type = "executiontime" + , powerline_symbol = Some symbols.right_hard_inverse + , leading_powerline_symbol = Some symbols.right_hard + , properties = Some + (make_properties properties::{ style = Some "galveston" }) + , background = Some theme.base4 + , foreground_templates = Some + [ "{{if gt .Ms 600000}}${theme.red}{{end}}", theme.base0 ] + } + , make_segment + segment::{ + , type = "session" + , powerline_symbol = Some symbols.right_hard_inverse + , leading_powerline_symbol = Some symbols.right_hard + , foreground = Some theme.orange + , background = Some theme.bg-alt + , templates = Some + [ " {{ if .SSHSession }}${symbols.ssh} {{ end }}" + , "{{ if matchP \"wezterm-mux-server\" .Env.WEZTERM_EXECUTABLE }}${symbols.ssh}{{end}}" + , " {{ .UserName }}@{{ .HostName }} " + ] + , templates_logic = Some "join" + } + , make_segment + segment::{ + , type = "az" + , background = Some theme.cloud-bg + , foreground = Some theme.cloud-fg + , powerline_symbol = Some symbols.right_hard_inverse + , leading_powerline_symbol = Some symbols.right_hard + , template = Some symbols.az + } + , make_segment + segment::{ + , type = "gcp" + , background = Some theme.cloud-bg + , foreground = Some theme.cloud-fg + , powerline_symbol = Some symbols.right_hard_inverse + , leading_powerline_symbol = Some symbols.right_hard + , template = Some symbols.gcp + } + , make_segment + segment::{ + , type = "kubectl" + , background = Some theme.k8s-bg + , template = Some symbols.k8s + , powerline_symbol = Some symbols.right_hard_inverse + , leading_powerline_symbol = Some symbols.right_hard + } + , make_segment + segment::{ + , type = "helm" + , background = Some theme.k8s-bg + , template = Some symbols.helm + , leading_powerline_symbol = Some symbols.right_hard_inverse + , powerline_symbol = None Text + , properties = Some + ( make_properties + properties::{ display_mode = Some "files" } + ) + } + , make_segment + segment::{ + , type = "pulumi" + , powerline_symbol = Some symbols.right_hard_inverse + , background = Some theme.iac-bg + , properties = Some + ( make_properties + properties::{ + , fetch_stack = Some True + , fetch_about = Some True + } + ) + , template = Some symbols.pulumi + } + , make_segment + segment::{ + , type = "terraform" + , powerline_symbol = Some symbols.right_hard_inverse + , background = Some theme.iac-bg + , properties = Some + ( make_properties + properties::{ fetch_version = Some True } + ) + , template = Some symbols.terraform + } + , make_segment + segment::{ + , type = "python" + , powerline_symbol = Some symbols.right_hard_inverse + , template = Some symbols.python + , background = Some theme.proglang-bg + } + , make_segment + segment::{ + , type = "text" + , powerline_symbol = Some symbols.right_hard_inverse + , foreground = Some theme.direnv-fg + , template = Some + "{{if .Env.DIRENV_DIR}}${symbols.direnv}${symbols.right_soft}{{end}}" + } + , make_segment + segment::{ + , type = "time" + , style = "diamond" + , leading_diamond = None Text + , trailing_diamond = Some + "<${theme.frame},transparent>${symbols.tright_frame}" + } + ] + + let transient = + { template = + "<${theme.frame},transparent> ─" + ++ "<${theme.fg},${theme.bg-alt}> " + ++ "{{ .Segments.Time.CurrentDate | date .Segments.Time.Format }} " + ++ "{{if gt .Segments.Status.Code 0}}" + ++ "<${theme.bg-alt},${theme.red}>${symbols.left_hard}" + ++ "<${theme.cyan},${theme.red}>" + ++ "<${theme.red},transparent>${symbols.left_hard} " + ++ "{{else}}" + ++ "<${theme.bg-alt},${theme.green}>${symbols.left_hard}" + ++ "<${theme.dark-blue},${theme.green}>" + ++ "<${theme.green},transparent>${symbols.left_hard} {{end}}" + ++ " " + } + + let tips = + [ make_segment + segment::{ + , type = "git" + , style = "diamond" + , background = Some theme.vcs-bg + , properties = Some + ( make_properties + properties::{ + , fetch_status = Some True + , fetch_upstream_icon = Some True + } + ) + , trailing_diamond = Some + ( symbols.left_hard + ++ "<${theme.frame},transparent>${symbols.bright_frame}" + ) + } + /\ { tips = [ "git" ] } + , make_segment + segment::{ + , type = "helm" + , style = "diamond" + , background = Some theme.k8s-bg + } + /\ { tips = [ "helm" ] } + , make_segment + segment::{ + , type = "kubectl" + , style = "diamond" + , background = Some theme.k8s-bg + , template = Some + "${symbols.k8s} {{.Context}}{{if .Namespace}} :: {{.Namespace}}{{end}} " + , trailing_diamond = Some + ( symbols.left_hard + ++ "<${theme.frame},transparent>${symbols.bright_frame}" + ) + } + /\ { tips = [ "kubectl", "helm" ] } + , make_segment + segment::{ + , type = "gcp" + , background = Some theme.cloud-bg + , foreground = Some theme.cloud-fg + , style = "diamond" + , template = Some + "${symbols.gcp} {{.Project}} ({{.Account}}) " + , trailing_diamond = Some + ( symbols.left_hard + ++ "<${theme.frame},transparent>${symbols.bright_frame}" + ) + } + /\ { tips = [ "gcloud" ] } + , make_segment + segment::{ + , type = "az" + , style = "diamond" + , background = Some theme.cloud-bg + , foreground = Some theme.cloud-fg + , template = Some + "${symbols.az} {{.Name}} ({{.User.Name}}) " + , trailing_diamond = Some + ( symbols.left_hard + ++ "<${theme.frame},transparent>${symbols.bright_frame}" + ) + } + /\ { tips = [ "az" ] } + , make_segment + segment::{ + , type = "fossil" + , style = "diamond" + , background = Some theme.vcs-bg + , trailing_diamond = Some + ( symbols.left_hard + ++ "<${theme.frame},transparent>${symbols.bright_frame}" + ) + } + /\ { tips = [ "fossil" ] } + , make_segment + segment::{ + , type = "terraform" + , style = "diamond" + , background = Some theme.iac-bg + , properties = Some + ( make_properties + properties::{ fetch_version = Some True } + ) + , template = Some + ( "${symbols.terraform} {{ .WorkspaceName }}" + ++ "{{ if .Version }} {{ .Version }}{{ end }} " + ) + , trailing_diamond = Some + ( symbols.left_hard + ++ "<${theme.frame},transparent>${symbols.bright_frame}" + ) + } + /\ { tips = [ "tf", "terraform" ] } + , make_segment + segment::{ + , type = "pulumi" + , style = "diamond" + , background = Some theme.iac-bg + , properties = Some + ( make_properties + properties::{ + , fetch_stack = Some True + , fetch_about = Some True + } + ) + , template = Some + ( "${symbols.pulumi} {{ .Stack }}" + ++ "{{if .User }} :: {{ .User }}@{{ end }}" + ++ "{{ if .URL }}{{ .URL }}{{ end }} " + ) + , trailing_diamond = Some + ( symbols.left_hard + ++ "<${theme.frame},transparent>${symbols.bright_frame}" + ) + } + /\ { tips = [ "pulumi" ] } + ] + + in { final_space = True + , shell_integration = True + , version = 2 + , blocks = + [ make_block block::{ segments = l1segments } + , make_block block::{ alignment = "right", segments = rsegments } + , make_block block::{ segments = l2segments, newline = Some True } + , make_block block::{ segments = rpsegments, type = "rprompt" } + ] + , transient_prompt = transient + , tooltips = tips + } + +in prompt { segment = True } diff --git a/oh-my-posh/.config/oh-my-posh/jleechpe.omp.yaml b/oh-my-posh/.config/oh-my-posh/jleechpe.omp.yaml new file mode 100644 index 0000000..ad6d682 --- /dev/null +++ b/oh-my-posh/.config/oh-my-posh/jleechpe.omp.yaml @@ -0,0 +1,303 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json + +transient_prompt: + template: "<#BF616A,transparent> ─<#c0c5ce,#232830> {{ .Segments.Time.CurrentDate | date .Segments.Time.Format }} {{if gt .Segments.Status.Code 0}}<#232830,#BF616A>\ue0b0<#46D9FF,#BF616A><#BF616A,transparent>\ue0b0 {{else}}<#232830,#A3BE8C>\ue0b0<#2257A0,#A3BE8C><#A3BE8C,transparent>\ue0b0 {{end}} " +blocks: +- type: prompt + alignment: left + segments: + - style: diamond + leading_diamond: "<#BF616A,transparent>╭─" + foreground: "#ECBE7B" + powerline_symbol:  + background: "#4f5b66" + type: os + - style: powerline + leading_diamond:  + trailing_diamond:  + foreground: "#c0c5ce" + powerline_symbol:  + background: "#2b303b" + type: path + - properties: + fetch_status: true + fetch_upstream_icon: true + style: accordion + leading_diamond:  + trailing_diamond:  + template: " {{if .UpstreamURL}}{{ .UpstreamIcon }}{{ end}}{{.HEAD}}" + foreground: "#c0c5ce" + powerline_symbol:  + background: "#4f5b66" + type: git + foreground_templates: + - "{{if or .Ahead .Behind }}#BF616A{{end}}" + - "{{if or .Working.Changed .Staged.Changed}}#D08770{{end}}" + - "#c0c5ce" + - style: accordion + leading_diamond:  + trailing_diamond:  + template: F + foreground: "#c0c5ce" + powerline_symbol:  + background: "#4f5b66" + type: fossil +- type: prompt + alignment: right + segments: + - style: powerline + leading_diamond:  + trailing_diamond:  + foreground: "#c0c5ce" + powerline_symbol:  + background: "#BF616A" + type: status + leading_powerline_symbol:  + - properties: + style: galveston + style: powerline + leading_diamond:  + trailing_diamond:  + foreground: "#c0c5ce" + powerline_symbol:  + background: "#4f5b66" + type: executiontime + leading_powerline_symbol:  + foreground_templates: + - "{{if gt .Ms 600000}}#BF616A{{end}}" + - "#1B2229" + - style: powerline + leading_diamond:  + trailing_diamond:  + foreground: "#D08770" + templates_logic: join + powerline_symbol:  + background: "#232830" + type: session + leading_powerline_symbol:  + templates: + - " {{ if .SSHSession }}\ueba9 {{ end }}" + - "{{ if matchP \"wezterm-mux-server\" .Env.WEZTERM_EXECUTABLE }}\ueba9{{end}}" + - " {{ .UserName }}@{{ .HostName }} " + - style: powerline + leading_diamond:  + trailing_diamond:  + template: " \uebd8 " + foreground: "#1B2229" + powerline_symbol:  + background: "#8FA1B3" + type: az + leading_powerline_symbol:  + - style: powerline + leading_diamond:  + trailing_diamond:  + template: " \ue7b2 " + foreground: "#1B2229" + powerline_symbol:  + background: "#8FA1B3" + type: gcp + leading_powerline_symbol:  + - style: powerline + leading_diamond:  + trailing_diamond:  + template: " \U000f10fe " + foreground: "#c0c5ce" + powerline_symbol:  + background: "#4f5b66" + type: kubectl + leading_powerline_symbol:  + - properties: + display_mode: files + style: powerline + leading_diamond:  + trailing_diamond:  + template: "\U000f0dc0 " + foreground: "#c0c5ce" + background: "#4f5b66" + type: helm + leading_powerline_symbol:  + - properties: + fetch_about: true + fetch_stack: true + style: powerline + leading_diamond:  + trailing_diamond:  + template: " \U000f0d46 " + foreground: "#c0c5ce" + powerline_symbol:  + background: "#2257A0" + type: pulumi + - properties: + fetch_version: true + style: powerline + leading_diamond:  + trailing_diamond:  + template: " \U000f1062 " + foreground: "#c0c5ce" + powerline_symbol:  + background: "#2257A0" + type: terraform + - style: powerline + leading_diamond:  + trailing_diamond:  + template: " \ued1b " + foreground: "#c0c5ce" + powerline_symbol:  + background: "#b48ead" + type: python + - style: powerline + leading_diamond:  + trailing_diamond:  + template: "{{if .Env.DIRENV_DIR}} ▼ \ue0b3{{end}}" + foreground: "#ECBE7B" + powerline_symbol:  + background: "#2b303b" + type: text + - style: diamond + trailing_diamond: "<#BF616A,transparent>─╮" + foreground: "#c0c5ce" + powerline_symbol:  + background: "#2b303b" + type: time +- type: prompt + alignment: left + segments: + - style: diamond + leading_diamond: "<#BF616A,transparent>╰─" + template: " \uf120 {{ .Name }} " + foreground: "#c0c5ce" + powerline_symbol:  + background: "#232830" + type: shell + foreground_templates: + - "{{if eq .Name \"fish\"}}#2257A0{{end}}" + - "{{if eq .Name \"pwsh\"}}#D08770{{end}}" + - style: powerline + leading_diamond:  + trailing_diamond:  + template: ❯ + foreground: "#c0c5ce" + powerline_symbol:  + background: "#2b303b" + type: text + foreground_templates: + - "{{if gt .Segments.Status.Code 0}}#46D9FF{{end}}" + - "#2257A0" + background_templates: + - "{{if gt .Segments.Status.Code 0}}#BF616A{{end}}" + - "#A3BE8C" + newline: true +- type: rprompt + alignment: left + segments: + - style: powerline + leading_diamond:  + trailing_diamond:  + foreground: "#c0c5ce" + powerline_symbol:  + background: "#2b303b" + type: project + leading_powerline_symbol:  + - properties: + http_timeout: 1000 + cache: + duration: 1h0m0s + strategy: folder + style: diamond + trailing_diamond: "<#BF616A,transparent>─╯" + template: "{{if or .Segments.Project.Name .Segments.Project.Version}}{{else}}<#232830,transparent>\ue0b2{{end}} {{ .IP }} " + foreground: "#c0c5ce" + powerline_symbol:  + background: "#232830" + type: ipify +tooltips: +- properties: + fetch_status: true + fetch_upstream_icon: true + style: diamond + leading_diamond:  + trailing_diamond: "\ue0b0<#BF616A,transparent>─╯" + foreground: "#c0c5ce" + powerline_symbol:  + background: "#4f5b66" + type: git + tips: + - git +- style: diamond + leading_diamond:  + trailing_diamond:  + foreground: "#c0c5ce" + powerline_symbol:  + background: "#4f5b66" + type: helm + tips: + - helm +- style: diamond + leading_diamond:  + trailing_diamond: "\ue0b0<#BF616A,transparent>─╯" + template: " \U000f10fe {{.Context}}{{if .Namespace}} :: {{.Namespace}}{{end}} " + foreground: "#c0c5ce" + powerline_symbol:  + background: "#4f5b66" + type: kubectl + tips: + - kubectl + - helm +- style: diamond + leading_diamond:  + trailing_diamond: "\ue0b0<#BF616A,transparent>─╯" + template: " \ue7b2 {{.Project}} ({{.Account}}) " + foreground: "#1B2229" + powerline_symbol:  + background: "#8FA1B3" + type: gcp + tips: + - gcloud +- style: diamond + leading_diamond:  + trailing_diamond: "\ue0b0<#BF616A,transparent>─╯" + template: " \uebd8 {{.Name}} ({{.User.Name}}) " + foreground: "#1B2229" + powerline_symbol:  + background: "#8FA1B3" + type: az + tips: + - az +- style: diamond + leading_diamond:  + trailing_diamond: "\ue0b0<#BF616A,transparent>─╯" + foreground: "#c0c5ce" + powerline_symbol:  + background: "#4f5b66" + type: fossil + tips: + - fossil +- properties: + fetch_version: true + style: diamond + leading_diamond:  + trailing_diamond: "\ue0b0<#BF616A,transparent>─╯" + template: " \U000f1062 {{ .WorkspaceName }}{{ if .Version }} {{ .Version }}{{ end }} " + foreground: "#c0c5ce" + powerline_symbol:  + background: "#2257A0" + type: terraform + tips: + - tf + - terraform +- properties: + fetch_about: true + fetch_stack: true + style: diamond + leading_diamond:  + trailing_diamond: "\ue0b0<#BF616A,transparent>─╯" + template: " \U000f0d46 {{ .Stack }}{{if .User }} :: {{ .User }}@{{ end }}{{ if .URL }}{{ .URL }}{{ end }} " + foreground: "#c0c5ce" + powerline_symbol:  + background: "#2257A0" + type: pulumi + tips: + - pulumi +version: 3 +shell_integration: true +final_space: true diff --git a/picom/.config/picom.conf b/picom/.config/picom.conf new file mode 100644 index 0000000..d57e9af --- /dev/null +++ b/picom/.config/picom.conf @@ -0,0 +1,421 @@ +################################# +# Shadows # +################################# + + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +# shadow = false +shadow = true; + +# The blur radius for shadows, in pixels. (defaults to 12) +# shadow-radius = 12 +shadow-radius = 7; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +# shadow-opacity = .75 + +# The left offset for shadows, in pixels. (defaults to -15) +# shadow-offset-x = -15 +shadow-offset-x = -7; + +# The top offset for shadows, in pixels. (defaults to -15) +# shadow-offset-y = -15 +shadow-offset-y = -7; + +# Avoid drawing shadows on dock/panel windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dock-shadow = false + +# Don't draw shadows on drag-and-drop windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dnd-shadow = false + +# Red color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-red = 0 + +# Green color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-green = 0 + +# Blue color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-blue = 0 + +# Do not paint shadows on shaped windows. Note shaped windows +# here means windows setting its shape through X Shape extension. +# Those using ARGB background is beyond our control. +# Deprecated, use +# shadow-exclude = 'bounding_shaped' +# or +# shadow-exclude = 'bounding_shaped && !rounded_corners' +# instead. +# +# shadow-ignore-shaped = '' + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "_GTK_FRAME_EXTENTS@:c" +]; + +# Specify a X geometry that describes the region in which shadow should not +# be painted in, such as a dock window region. Use +# shadow-exclude-reg = "x10+0+0" +# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. +# +# shadow-exclude-reg = "" + +# Crop shadow of a window fully on a particular Xinerama screen to the screen. +# xinerama-shadow-crop = false + + +################################# +# Fading # +################################# + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = true + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.1; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.1; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +# fade-delta = 10 + +# Specify a list of conditions of windows that should not be faded. +# fade-exclude = [] + +# Do not fade on window open/close. +# no-fading-openclose = false + +# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. +# no-fading-destroyed-argb = false + + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 1.0; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 0.7; + +# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) +# menu-opacity = 1.0 + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +# active-opacity = 1.0 + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +# inactive-dim = 0.0 + +# Specify a list of conditions of windows that should always be considered focused. +# focus-exclude = [] +focus-exclude = [ "class_g = 'Cairo-clock'" ]; + +# Use fixed inactive dim value, instead of adjusting according to window opacity. +# inactive-dim-fixed = 1.0 + +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other +# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. +# example: +# opacity-rule = [ "80:class_g = 'URxvt'" ]; +# +# opacity-rule = [] + + +################################# +# Background-Blurring # +################################# + + +# Parameters for background blurring, see the *BLUR* section for more information. +# blur-method = +# blur-size = 12 +# +# blur-deviation = false + +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. +# The name of the switch may change without prior notifications. +# +# blur-background = false + +# Blur background of windows when the window frame is not opaque. +# Implies: +# blur-background +# Bad in performance, with driver-dependent behavior. The name may change. +# +# blur-background-frame = false + + +# Use fixed blur strength rather than adjusting according to window opacity. +# blur-background-fixed = false + + +# Specify the blur convolution kernel, with the following format: +# example: +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +# +# blur-kern = '' +blur-kern = "3x3box"; + + +# Exclude conditions for background blur. +# blur-background-exclude = [] +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "_GTK_FRAME_EXTENTS@:c" +]; + +################################# +# General Settings # +################################# + +# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. +# daemon = false + +# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. +# `xrender` is the default one. +# +# backend = 'glx' +backend = "glx"; + +# Enable/disable VSync. +# vsync = false +vsync = true + +# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. +# dbus = false + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +# +# mark-wmwin-focused = false +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +# mark-ovredir-focused = false +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +# +# detect-rounded-corners = false +detect-rounded-corners = true; + +# Detect '_NET_WM_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_OPACITY' of client windows to frame windows. +# +# detect-client-opacity = false +detect-client-opacity = true; + +# Specify refresh rate of the screen. If not specified or 0, picom will +# try detecting this with X RandR extension. +# +# refresh-rate = 60 +refresh-rate = 0 + +# Limit picom to repaint at most once every 1 / 'refresh_rate' second to +# boost performance. This should not be used with +# vsync drm/opengl/opengl-oml +# as they essentially does sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +# +# sw-opti = + +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# provided that the WM supports it. +# +# use-ewmh-active-win = false + +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering +# when redirecting/unredirecting windows. +# +# unredir-if-possible = false + +# Delay before unredirecting the window, in milliseconds. Defaults to 0. +# unredir-if-possible-delay = 0 + +# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. +# unredir-if-possible-exclude = [] + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +# +# detect-transient = false +detect-transient = true + +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# detect-transient is enabled, too. +# +# detect-client-leader = false +detect-client-leader = true + +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). +# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. +# +# resize-damage = 1 + +# Specify a list of conditions of windows that should be painted with inverted color. +# Resource-hogging, and is not well tested. +# +# invert-color-include = [] + +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. +# My tests show a 15% performance boost. Recommended. +# +# glx-no-stencil = false + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, +# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). +# Recommended if it works. +# +# glx-no-rebind-pixmap = false + +# Disable the use of damage information. +# This cause the whole screen to be redrawn everytime, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +# +# no-use-damage = false +use-damage = true + +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers +# with GLX backend for some users. +# +# xrender-sync-fence = false + +# GLX backend: Use specified GLSL fragment shader for rendering window contents. +# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` +# in the source tree for examples. +# +# glx-fshader-win = '' + +# Force all windows to be painted with blending. Useful if you +# have a glx-fshader-win that could turn opaque pixels transparent. +# +# force-win-blend = false + +# Do not use EWMH to detect fullscreen windows. +# Reverts to checking if a window is fullscreen based only on its size and coordinates. +# +# no-ewmh-fullscreen = false + +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. +# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) +# +# max-brightness = 1.0 + +# Make transparent windows clip other windows like non-transparent windows do, +# instead of blending on top of them. +# +# transparent-clipping = false + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +# +# log-level = "debug" +log-level = "warn"; + +# Set the log file. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. +# When setting this option from the config file, it is recommended to use an absolute path. +# +# log-file = '/path/to/your/log/file' + +# Show all X errors (for debugging) +# show-all-xerrors = false + +# Write process ID to a file. +# write-pid-path = '/path/to/your/log/file' + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +# +wintypes: +{ + tooltip = { fade = true; shadow = true; focus = true; full-shadow = false; }; + dock = { shadow = false; } + dnd = { shadow = false; } +}; diff --git a/powershell/.config/powershell/Microsoft.PowerShell_profile.ps1 b/powershell/.config/powershell/Microsoft.PowerShell_profile.ps1 new file mode 100644 index 0000000..29c373d --- /dev/null +++ b/powershell/.config/powershell/Microsoft.PowerShell_profile.ps1 @@ -0,0 +1,9 @@ +Set-PSReadlineOption -EditMode emacs + +oh-my-posh init pwsh --config ~/.config/oh-my-posh/jleechpe.omp.yaml | Invoke-Expression + +Import-Module posh-git +Import-Module terminal-icons +Import-Module CompletionPredictor + +Invoke-Expression (& { (zoxide init powershell | Out-String) }) diff --git a/swhkd/.config/sxhkd/sxhkdrc b/swhkd/.config/sxhkd/sxhkdrc new file mode 100644 index 0000000..e468413 --- /dev/null +++ b/swhkd/.config/sxhkd/sxhkdrc @@ -0,0 +1,32 @@ +# Audio buttons +XF86AudioNext + playerctl -a next +XF86AudioPrev + playerctl -a previous +XF86AudioPlay + playerctl -a play-pause +XF86AudioStop + playerctl -a stop + +# Screenshots +{Shift,Super} + Print + flameshot {gui, launcher} +Print + flameshot launcher + +# Launchers +Super + Control + e + emacsclient --eval '(emacs-everywhere)' + +# Rofis +Super + Shift + p + rofi-pass +Super + p + rofi -show drun -show-icons -markup +Super + Control + q + /home/jleechpe/sources/clipmgr/.venv/bin/clipmgr select + +Super + Shift + Enter + ZELLIJ_SESSION_NAME= st +Super + Enter + wezterm