More jlpframework files

This commit is contained in:
JLP 2025-05-18 21:11:21 -04:00
parent 9ba805c79a
commit 3697441569
Signed by: jleechpe
GPG key ID: 414E00D1FF7519DC
28 changed files with 2341 additions and 2 deletions

1
.gitattributes vendored
View file

@ -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

View file

@ -1,2 +1 @@
--target=$HOME
--no-folding

View file

@ -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)

View file

@ -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" ]

View file

@ -0,0 +1,7 @@
[Desktop Entry]
Name=flameshot
Icon=flameshot
Exec=flameshot
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true

View file

@ -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

212
btop/.config/btop/btop.conf Normal file
View file

@ -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"

View file

@ -0,0 +1,6 @@
[global]
disable_stdin = true
hide_env_diff = true
[whitelist]
prefix= ["~/sources/"]

View file

@ -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

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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",
),
]

View file

@ -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

View file

@ -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 {<name>} where <name> 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",
# ]

View file

@ -0,0 +1,2 @@
# Ensure pacmatic uses powerpill
pacman_program="/usr/bin/pacman"

View file

@ -0,0 +1,2 @@
EDITOR="/usr/bin/emacsclient -c"
VISUAL="/usr/bin/emacsclient -c"

View file

@ -0,0 +1,2 @@
SSH_AGENT_PID=""
SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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-----

View file

@ -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}}"
++ "<transparent,transparent> </>"
}
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 }

View file

@ -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}}<transparent,transparent> </>"
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

421
picom/.config/picom.conf Normal file
View file

@ -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; }
};

View file

@ -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) })

View file

@ -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