init commit

This commit is contained in:
assada 2024-05-14 12:29:49 +03:00
commit 29ce74f3f6
209 changed files with 17530 additions and 0 deletions

BIN
backgrounds/aesthetic.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 MiB

BIN
backgrounds/deer.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
backgrounds/eva.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 KiB

BIN
backgrounds/march7.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

BIN
backgrounds/wp6374897.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

212
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 = "/home/ut3usw/.config/btop/themes/catppuccin_macchiato.theme"
#* 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 = "cpu lazy"
#* 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"

4
btop/btop.log Normal file
View File

@ -0,0 +1,4 @@
2024/02/09 (13:04:11) | ===> btop++ v.1.2.13
2024/02/09 (13:04:11) | ERROR: Stall in Runner thread, restarting!
2024/02/09 (13:04:17) | ERROR: Stall in Runner thread, restarting!

View File

@ -0,0 +1,83 @@
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="#303446"
# Main text color
theme[main_fg]="#C6D0F5"
# Title color for boxes
theme[title]="#C6D0F5"
# Highlight color for keyboard shortcuts
theme[hi_fg]="#8CAAEE"
# Background color of selected item in processes box
theme[selected_bg]="#51576D"
# Foreground color of selected item in processes box
theme[selected_fg]="#8CAAEE"
# Color of inactive/disabled text
theme[inactive_fg]="#838BA7"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="#F2D5CF"
# Background color of the percentage meters
theme[meter_bg]="#51576D"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#F2D5CF"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="#ca9ee6" #Mauve
theme[mem_box]="#a6d189" #Green
theme[net_box]="#ea999c" #Maroon
theme[proc_box]="#8caaee" #Blue
# Box divider line and small boxes line color
theme[div_line]="#737994"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="#a6d189"
theme[temp_mid]="#e5c890"
theme[temp_end]="#e78284"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="#81c8be"
theme[cpu_mid]="#85c1dc"
theme[cpu_end]="#babbf1"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="#ca9ee6"
theme[free_mid]="#babbf1"
theme[free_end]="#8caaee"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="#85c1dc"
theme[cached_mid]="#8caaee"
theme[cached_end]="#babbf1"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="#ef9f76"
theme[available_mid]="#ea999c"
theme[available_end]="#e78284"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="#a6d189"
theme[used_mid]="#81c8be"
theme[used_end]="#99d1db"
# Download graph colors (Peach -> Red)
theme[download_start]="#ef9f76"
theme[download_mid]="#ea999c"
theme[download_end]="#e78284"
# Upload graph colors (Green -> Sky)
theme[upload_start]="#a6d189"
theme[upload_mid]="#81c8be"
theme[upload_end]="#99d1db"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
theme[process_start]="#85c1dc"
theme[process_mid]="#babbf1"
theme[process_end]="#ca9ee6"

View File

@ -0,0 +1,84 @@
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="#EFF1F5"
# Main text color
theme[main_fg]="#4C4F69"
# Title color for boxes
theme[title]="#4C4F69"
# Highlight color for keyboard shortcuts
theme[hi_fg]="#1E66F5"
# Background color of selected item in processes box
theme[selected_bg]="#BCC0CC"
# Foreground color of selected item in processes box
theme[selected_fg]="#1E66F5"
# Color of inactive/disabled text
theme[inactive_fg]="#8C8FA1"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="#DC8A78"
# Background color of the percentage meters
theme[meter_bg]="#BCC0CC"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#DC8A78"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="#8839ef" #Mauve
theme[mem_box]="#40a02b" #Green
theme[net_box]="#e64553" #Maroon
theme[proc_box]="#1e66f5" #Blue
# Box divider line and small boxes line color
theme[div_line]="#9CA0B0"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="#40a02b"
theme[temp_mid]="#df8e1d"
theme[temp_end]="#d20f39"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="#179299"
theme[cpu_mid]="#209fb5"
theme[cpu_end]="#7287fd"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="#8839ef"
theme[free_mid]="#7287fd"
theme[free_end]="#1e66f5"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="#209fb5"
theme[cached_mid]="#1e66f5"
theme[cached_end]="#7287fd"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="#fe640b"
theme[available_mid]="#e64553"
theme[available_end]="#d20f39"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="#40a02b"
theme[used_mid]="#179299"
theme[used_end]="#04a5e5"
# Download graph colors (Peach -> Red)
theme[download_start]="#fe640b"
theme[download_mid]="#e64553"
theme[download_end]="#d20f39"
# Upload graph colors (Green -> Sky)
theme[upload_start]="#40a02b"
theme[upload_mid]="#179299"
theme[upload_end]="#04a5e5"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Lavender-> Mauve)
theme[process_start]="#209fb5"
theme[process_mid]="#7287fd"
theme[process_end]="#8839ef"

View File

@ -0,0 +1,83 @@
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="#24273A"
# Main text color
theme[main_fg]="#CAD3F5"
# Title color for boxes
theme[title]="#CAD3F5"
# Highlight color for keyboard shortcuts
theme[hi_fg]="#8AADF4"
# Background color of selected item in processes box
theme[selected_bg]="#494D64"
# Foreground color of selected item in processes box
theme[selected_fg]="#8AADF4"
# Color of inactive/disabled text
theme[inactive_fg]="#8087A2"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="#F4DBD6"
# Background color of the percentage meters
theme[meter_bg]="#494D64"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#F4DBD6"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="#c6a0f6" #Mauve
theme[mem_box]="#a6da95" #Green
theme[net_box]="#ee99a0" #Maroon
theme[proc_box]="#8aadf4" #Blue
# Box divider line and small boxes line color
theme[div_line]="#6E738D"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="#a6da95"
theme[temp_mid]="#eed49f"
theme[temp_end]="#ed8796"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="#8bd5ca"
theme[cpu_mid]="#7dc4e4"
theme[cpu_end]="#b7bdf8"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="#c6a0f6"
theme[free_mid]="#b7bdf8"
theme[free_end]="#8aadf4"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="#7dc4e4"
theme[cached_mid]="#8aadf4"
theme[cached_end]="#b7bdf8"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="#f5a97f"
theme[available_mid]="#ee99a0"
theme[available_end]="#ed8796"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="#a6da95"
theme[used_mid]="#8bd5ca"
theme[used_end]="#91d7e3"
# Download graph colors (Peach -> Red)
theme[download_start]="#f5a97f"
theme[download_mid]="#ee99a0"
theme[download_end]="#ed8796"
# Upload graph colors (Green -> Sky)
theme[upload_start]="#a6da95"
theme[upload_mid]="#8bd5ca"
theme[upload_end]="#91d7e3"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
theme[process_start]="#7dc4e4"
theme[process_mid]="#b7bdf8"
theme[process_end]="#c6a0f6"

View File

@ -0,0 +1,83 @@
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="#1E1E2E"
# Main text color
theme[main_fg]="#CDD6F4"
# Title color for boxes
theme[title]="#CDD6F4"
# Highlight color for keyboard shortcuts
theme[hi_fg]="#89B4FA"
# Background color of selected item in processes box
theme[selected_bg]="#45475A"
# Foreground color of selected item in processes box
theme[selected_fg]="#89B4FA"
# Color of inactive/disabled text
theme[inactive_fg]="#7F849C"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="#F5E0DC"
# Background color of the percentage meters
theme[meter_bg]="#45475A"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#F5E0DC"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="#cba6f7" #Mauve
theme[mem_box]="#a6e3a1" #Green
theme[net_box]="#eba0ac" #Maroon
theme[proc_box]="#89b4fa" #Blue
# Box divider line and small boxes line color
theme[div_line]="#6C7086"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="#a6e3a1"
theme[temp_mid]="#f9e2af"
theme[temp_end]="#f38ba8"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="#94e2d5"
theme[cpu_mid]="#74c7ec"
theme[cpu_end]="#b4befe"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="#cba6f7"
theme[free_mid]="#b4befe"
theme[free_end]="#89b4fa"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="#74c7ec"
theme[cached_mid]="#89b4fa"
theme[cached_end]="#b4befe"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="#fab387"
theme[available_mid]="#eba0ac"
theme[available_end]="#f38ba8"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="#a6e3a1"
theme[used_mid]="#94e2d5"
theme[used_end]="#89dceb"
# Download graph colors (Peach -> Red)
theme[download_start]="#fab387"
theme[download_mid]="#eba0ac"
theme[download_end]="#f38ba8"
# Upload graph colors (Green -> Sky)
theme[upload_start]="#a6e3a1"
theme[upload_mid]="#94e2d5"
theme[upload_end]="#89dceb"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
theme[process_start]="#74C7EC"
theme[process_mid]="#89DCEB"
theme[process_end]="#cba6f7"

0
cava/config Normal file
View File

46
fish/completions/nnn.fish Normal file
View File

@ -0,0 +1,46 @@
#
# Fish completion definition for nnn.
#
# Author:
# Arun Prakash Jana <engineerarun@gmail.com>
#
if test -n "$XDG_CONFIG_HOME"
set sessions_dir $XDG_CONFIG_HOME/.config/nnn/sessions
else
set sessions_dir $HOME/.config/nnn/sessions
end
complete -c nnn -s a -d 'auto-create NNN_FIFO'
complete -c nnn -s A -d 'disable dir auto-enter'
complete -c nnn -s b -r -d 'bookmark key to open' -x -a '(echo $NNN_BMS | awk -F: -v RS=\; \'{print $1"\t"$2}\')'
complete -c nnn -s B -d 'use bsdtar for archives'
complete -c nnn -s c -d 'cli-only opener'
complete -c nnn -s C -d 'color by context'
complete -c nnn -s d -d 'start in detail mode'
complete -c nnn -s D -d 'dirs in context color'
complete -c nnn -s e -d 'open text files in $VISUAL/$EDITOR/vi'
complete -c nnn -s E -d 'use EDITOR for undetached edits'
complete -c nnn -s f -d 'use readline history file'
complete -c nnn -s g -d 'regex filters'
complete -c nnn -s H -d 'show hidden files'
complete -c nnn -s i -d 'show current file info'
complete -c nnn -s J -d 'no auto-advance on selection'
complete -c nnn -s K -d 'detect key collision and exit'
complete -c nnn -s l -r -d 'lines to move per scroll'
complete -c nnn -s n -d 'start in type-to-nav mode'
complete -c nnn -s o -d 'open files only on Enter'
complete -c nnn -s p -r -d 'copy selection to file' -a '-\tstdout'
complete -c nnn -s P -r -d 'plugin key to run' -x -a '(echo $NNN_PLUG | awk -F: -v RS=\; \'{print $1"\t"$2}\')'
complete -c nnn -s Q -d 'disable quit confirmation'
complete -c nnn -s r -d 'show cp, mv progress (Linux-only)'
complete -c nnn -s R -d 'disable rollover at edges'
complete -c nnn -s s -r -d 'load session by name' -x -a '@\t"last session" (ls $sessions_dir)'
complete -c nnn -s S -d 'persistent session'
complete -c nnn -s t -r -d 'timeout in seconds to lock'
complete -c nnn -s T -r -d 'a d e r s t v'
complete -c nnn -s u -d 'use selection (no prompt)'
complete -c nnn -s U -d 'show user and group'
complete -c nnn -s V -d 'show program version and exit'
complete -c nnn -s x -d 'notis, sel to system clipboard, xterm title'
complete -c nnn -s h -d 'show program help'

7
fish/conf.d/omf.fish Normal file
View File

@ -0,0 +1,7 @@
# Path to Oh My Fish install.
set -q XDG_DATA_HOME
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
or set -gx OMF_PATH "$HOME/.local/share/omf"
# Load Oh My Fish configuration.
source $OMF_PATH/init.fish

136
fish/config.fish Normal file
View File

@ -0,0 +1,136 @@
if status is-interactive
# Commands to run in interactive sessions can go here
end
set -x MANPAGER "less"
export EDITOR=nvim
alias ips "ip -c -br a"
alias P 'cd ~/Projects'
alias D 'cd ~/Downloads'
alias htop 'btop'
alias grep 'grep --color=auto -i'
alias vim 'nvim'
alias ls 'eza -la --icons=always --group-directories-first'
alias jupy 'cd /home/ut3usw/juproject/ && /home/ut3usw/juproject/venv/bin/jupyter lab --config /home/ut3usw/.jupyter/jupyter_lab_config.py'
# adding flags
alias df='df -h' # human-readable sizes
alias free='free -m' # show sizes in MB
# ps
alias psa="ps auxf"
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
alias psmem='ps auxf | sort -nr -k 4'
alias pscpu='ps auxf | sort -nr -k 3'
# git
alias addup='git add -u'
alias addall='git add .'
alias branch='git branch'
alias checkout='git checkout'
alias clone='git clone'
alias commit='git commit -m'
alias fetch='git fetch'
alias pull='git pull origin'
alias push='git push origin'
alias tag='git tag'
alias newtag='git tag -a'
# If you are coming from CMD. I mean no one does that, but I like these commands.
alias cls="clear"
alias del="rm -rfv"
# Always confirm before overwriting something && verbose mode.
alias mv="mv -v"
alias cp="cp -v"
alias ln="ln -v"
alias rm="rm -v"
# get error messages from journalctl
alias jctl="journalctl -p 3 -xb"
# Functions needed for !! and !$
function __history_previous_command
switch (commandline -t)
case "!"
commandline -t $history[1]; commandline -f repaint
case "*"
commandline -i !
end
end
function __history_previous_command_arguments
switch (commandline -t)
case "!"
commandline -t ""
commandline -f history-token-search-backward
case "*"
commandline -i '$'
end
end
# The bindings for !! and !$
if [ "$fish_key_bindings" = "fish_vi_key_bindings" ];
bind -Minsert ! __history_previous_command
bind -Minsert '$' __history_previous_command_arguments
else
bind ! __history_previous_command
bind '$' __history_previous_command_arguments
end
# Function for creating a backup file
# ex: backup file.txt
# result: copies file as file.txt.bak
function backup --argument filename
cp $filename $filename.bak
end
# Function for extracting different files
function ex
switch $argv
case *.tar.bz2
tar xjf $argv ;;
case *.tar.gz
tar xzf $argv ;;
case *.bz2
bunzip2 $argv ;;
case *.rar
unrar x $argv ;;
case *.gz
gunzip $argv ;;
case *.tar
tar xf $argv ;;
case *.tbz2
tar xjf $argv ;;
case *.tgz
tar xzf $argv ;;
case *.zip
unzip $argv ;;
case *.Z
uncompress $argv ;;
case *.7z
7z x $argv ;;
case *.deb
ar x $argv ;;
case *.tar.xz
tar xf $argv ;;
case *.tar.zst
unzstd $argv ;;
case *
echo "'$argv' cannot be extracted via ex" ;;
end
set_color normal
end
zoxide init fish | source
# Generated for envman. Do not edit.
test -s ~/.config/envman/load.fish; and source ~/.config/envman/load.fish

31
fish/fish_variables Normal file
View File

@ -0,0 +1,31 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3400
SETUVAR fish_color_autosuggestion:555\x1ebrblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:blue
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:green
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:brcyan
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:brcyan
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow\x1e\x2di
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr

41
hypr/foot/colors.ini Normal file
View File

@ -0,0 +1,41 @@
[colors]
alpha=1.0
foreground=f1fcf9
background=24273a
## Normal/regular colors (color palette 0-7)
regular0=20262c # black
regular1=ed8796 # red
regular2=a6da95 # green
regular3=eed49f # yellow
regular4=8aadf4 # blue
regular5=c6a0f6 # magenta
regular6=91d7e3 # cyan
regular7=f1fcf9 # white
## Bright colors (color palette 8-15)
bright0=465463 # bright black
bright1=d04e9d # bright red
bright2=4bc66d # bright green
bright3=db695b # bright yellow
bright4=3dbac2 # bright blue
bright5=825ece # bright magenta
bright6=62cdcd # bright cyan
bright7=e0e5e5 # bright white
## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>
## The remaining 256-color palette
# 16 = <256-color palette #16>
# ...
# 255 = <256-color palette #255>
## Misc colors
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
# jump-labels=<regular0> <regular3>
# urls=<regular3>
# scrollback-indicator=<regular0> <bright4>

15
hypr/foot/fonts.ini Normal file
View File

@ -0,0 +1,15 @@
## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
##
## --------------------------------------------------
# font=JetBrainsMono Nerd Font:size=8
#font-bold=JetBrainsMono Nerd Font:size=8
#font-italic=JetBrainsMono Nerd Font:size=8
#font-bold-italic=JetBrainsMono Nerd Font:size=8
#line-height=10
#letter-spacing=0
#horizontal-letter-offset=0
#vertical-letter-offset=0
#underline-offset=0
#box-drawings-uses-font-glyphs=no
dpi-aware=yes

33
hypr/foot/foot.ini Normal file
View File

@ -0,0 +1,33 @@
include=~/.config/hypr/foot/colors.ini
include=~/.config/hypr/foot/fonts.ini
shell=/bin/fish
initial-window-size-chars=82x24
initial-window-mode=windowed
pad=15x15
resize-delay-ms=100
[bell]
#urgent=no
#notify=no
#command=
#command-focused=no
[scrollback]
lines=1000
multiplier=3.0
[url]
launch=xdg-open ${url}
[cursor]
style=block
# color=111111 dcdccc
blink=yes
[mouse]
hide-when-typing=yes
alternate-scroll-mode=yes

202
hypr/rofi/launcher.rasi Normal file
View File

@ -0,0 +1,202 @@
/**
* Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun,run,filebrowser";
show-icons: true;
display-drun: "";
display-run: "";
display-filebrowser: "";
drun-display-format: "{name}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 800px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 15px;
border-color: @border;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview", "mode-switcher" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 10px;
border-radius: 0px;
background-color: @background-alt;
text-color: @foreground;
children: [ "textbox-prompt-colon", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
padding: 0px;
expand: false;
str: " ";
background-color: inherit;
text-color: inherit;
}
entry {
enabled: true;
padding: 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 2;
lines: 7;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 5px;
background-color: transparent;
text-color: @foreground;
cursor: "default";
}
scrollbar {
handle-width: 5px ;
handle-color: @selected;
border-radius: 10px;
background-color: @background-alt;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 6px;
border-radius: 0px;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px 250px;
background-color: transparent;
text-color: @foreground;
}
button {
padding: 10px;
border-radius: 0px;
background-color: @background-alt;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: var(urgent);
text-color: var(background);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border-radius: 0px;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: transparent;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
highlight: none;
placeholder-color: @foreground;
blink: true;
markup: true;
}
error-message {
padding: 30px;
background-color: @background;
text-color: @foreground;
}

View File

@ -0,0 +1,13 @@
/* Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com> */
/* Colors */
* {
background: #24273a;
background-alt: #1e2030;
border: #c6a0f6;
foreground: #cad3f5;
selected: #c6a0f6;
active: #c6a0f6;
urgent: #ed8796;
}

View File

@ -0,0 +1,9 @@
/* Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com> */
/* Text Font */
/*
{
font: "Iosevka Nerd Font 10";
}
*/

7
hypr/scripts/rofi_launcher Executable file
View File

@ -0,0 +1,7 @@
DIR="$HOME/.config/hypr"
RASI="$DIR/rofi/launcher.rasi"
# Run
rofi \
-show drun \
-theme ${RASI}

12
hypr/scripts/terminal Executable file
View File

@ -0,0 +1,12 @@
CONFIG="$HOME/.config/hypr/foot/foot.ini"
if [ "$1" == "-f" ]; then
foot --app-id='foot-float' --config="$CONFIG"
elif [ "$1" == "-F" ]; then
foot --fullscreen --app-id='foot-full' --font="Iosevka Nerd Font:size=14" --override=pad=35x35 --config="$CONFIG"
elif [ "$1" == "-s" ]; then
foot --app-id='foot-float' --config="$CONFIG" \
--window-size-pixels=$(slurp -b 20262CCC -c B4A1DBff -s B4A1DB0D -w 2 -f "%wx%h")
else
foot --config="$CONFIG" $@
fi

15
mako/config Normal file
View File

@ -0,0 +1,15 @@
anchor=top-right
font=monospace 10
background-color=#24273a
text-color=#cad3f5
width=350
margin=20,20,0,0
padding=10
border-size=2
border-color=#b7bdf8
border-radius=5
default-timeout=10000
group-by=summary
[grouped]
format=<b>%s</b>\n%b

148
mc/ini Normal file
View File

@ -0,0 +1,148 @@
[Midnight-Commander]
verbose=true
shell_patterns=true
auto_save_setup=true
preallocate_space=false
auto_menu=false
use_internal_view=true
use_internal_edit=false
clear_before_exec=true
confirm_delete=true
confirm_overwrite=true
confirm_execute=false
confirm_history_cleanup=true
confirm_exit=false
confirm_directory_hotlist_delete=false
confirm_view_dir=false
safe_delete=false
safe_overwrite=false
use_8th_bit_as_meta=false
mouse_move_pages_viewer=true
mouse_close_dialog=false
fast_refresh=false
drop_menus=false
wrap_mode=true
old_esc_mode=true
cd_symlinks=true
show_all_if_ambiguous=false
use_file_to_guess_type=true
alternate_plus_minus=false
only_leading_plus_minus=true
show_output_starts_shell=false
xtree_mode=false
file_op_compute_totals=true
classic_progressbar=true
use_netrc=true
ftpfs_always_use_proxy=false
ftpfs_use_passive_connections=true
ftpfs_use_passive_connections_over_proxy=false
ftpfs_use_unix_list_options=true
ftpfs_first_cd_then_ls=true
ignore_ftp_chattr_errors=true
editor_fill_tabs_with_spaces=false
editor_return_does_auto_indent=false
editor_backspace_through_tabs=false
editor_fake_half_tabs=true
editor_option_save_position=true
editor_option_auto_para_formatting=false
editor_option_typewriter_wrap=false
editor_edit_confirm_save=true
editor_syntax_highlighting=true
editor_persistent_selections=true
editor_drop_selection_on_copy=true
editor_cursor_beyond_eol=false
editor_cursor_after_inserted_block=false
editor_visible_tabs=true
editor_visible_spaces=true
editor_line_state=false
editor_simple_statusbar=false
editor_check_new_line=false
editor_show_right_margin=false
editor_group_undo=true
editor_state_full_filename=true
editor_ask_filename_before_edit=false
nice_rotating_dash=true
shadows=true
mcview_remember_file_position=false
auto_fill_mkdir_name=true
copymove_persistent_attr=true
pause_after_run=1
mouse_repeat_rate=100
double_click_speed=250
old_esc_mode_timeout=1000000
max_dirt_limit=10
num_history_items_recorded=60
vfs_timeout=60
ftpfs_directory_timeout=900
ftpfs_retry_seconds=30
fish_directory_timeout=900
editor_tab_spacing=8
editor_word_wrap_line_length=72
editor_option_save_mode=0
editor_backup_extension=~
editor_filesize_threshold=64M
editor_stop_format_chars=-+*\\,.;:&>
mcview_eof=
skin=catppuccin
[Layout]
output_lines=0
left_panel_size=41
top_panel_size=0
message_visible=true
keybar_visible=true
xterm_title=true
command_prompt=true
menubar_visible=true
free_space=true
horizontal_split=false
vertical_equal=true
horizontal_equal=true
[Misc]
timeformat_recent=%b %e %H:%M
timeformat_old=%b %e %Y
ftp_proxy_host=gate
ftpfs_password=anonymous@
display_codepage=UTF-8
source_codepage=Other_8_bit
autodetect_codeset=
spell_language=en
clipboard_store=
clipboard_paste=
[Colors]
base_color=
xterm-256color=
color_terminals=
foot=
tmux-256color=
[Panels]
show_mini_info=true
kilobyte_si=false
mix_all_files=false
show_backups=true
show_dot_files=true
fast_reload=false
fast_reload_msg_shown=false
mark_moves_down=true
reverse_files_only=true
auto_save_setup_panels=false
navigate_with_arrows=false
panel_scroll_pages=true
panel_scroll_center=false
mouse_move_pages=true
filetype_mode=true
permission_mode=false
torben_fj_mode=false
quick_search_mode=2
select_flags=6
[Panelize]
Find *.orig after patching=find . -name \\*.orig -print
Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
Find rejects after patching=find . -name \\*.rej -print
Modified git files=git ls-files --modified

0
mc/panels.ini Normal file
View File

20
nvim/.neoconf.json Normal file
View File

@ -0,0 +1,20 @@
{
"neodev": {
"library": {
"enabled": true,
"plugins": true
}
},
"neoconf": {
"plugins": {
"lua_ls": {
"enabled": true
}
}
},
"lspconfig": {
"lua_ls": {
"Lua.format.enable": false
}
}
}

7
nvim/.stylua.toml Normal file
View File

@ -0,0 +1,7 @@
column_width = 120
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferDouble"
call_parentheses = "None"
collapse_simple_statement = "Always"

34
nvim/README.md Normal file
View File

@ -0,0 +1,34 @@
# AstroNvim Template
**NOTE:** This is for AstroNvim v4+
A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim)
## 🛠️ Installation
#### Make a backup of your current nvim and shared folder
```shell
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
mv ~/.local/state/nvim ~/.local/state/nvim.bak
mv ~/.cache/nvim ~/.cache/nvim.bak
```
#### Create a new user repository from this template
Press the "Use this template" button above to create a new repository to store your user configuration.
You can also just clone this repository directly if you do not want to track your user configuration in GitHub.
#### Clone the repository
```shell
git clone https://github.com/<your_user>/<your_repository> ~/.config/nvim
```
#### Start Neovim
```shell
nvim
```

19
nvim/init.lua Normal file
View File

@ -0,0 +1,19 @@
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
-- stylua: ignore
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
end
vim.opt.rtp:prepend(lazypath)
-- validate that lazy is available
if not pcall(require, "lazy") then
-- stylua: ignore
vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
vim.fn.getchar()
vim.cmd.quit()
end
require "lazy_setup"
require "polish"

60
nvim/lazy-lock.json Normal file
View File

@ -0,0 +1,60 @@
{
"AstroNvim": { "branch": "main", "commit": "ad3fe27957cd5733524d29bb0312bcdc56e5f30b" },
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
"aerial.nvim": { "branch": "master", "commit": "399e276328be8242ccde01d90f6f6c619f7bb24f" },
"alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" },
"astrocore": { "branch": "main", "commit": "37bbe5d91146edf794d8f52cf25d68baa9acf812" },
"astrolsp": { "branch": "main", "commit": "9e4eeb51ff04d9985f195b28553dbd47807e4c49" },
"astrotheme": { "branch": "main", "commit": "7e47b7900229365bc0dca2a2eee2acc62dfc9dc3" },
"astroui": { "branch": "main", "commit": "e5c5d4570cb00d0e1b2d81db357d108b21503592" },
"better-escape.nvim": { "branch": "master", "commit": "7e86edafb8c7e73699e0320f225464a298b96d12" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-dap": { "branch": "master", "commit": "ea92773e84c0ad3288c3bc5e452ac91559669087" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"dressing.nvim": { "branch": "master", "commit": "42d767b04c50a6966c9633e3968bc65c0c2f2bfc" },
"friendly-snippets": { "branch": "main", "commit": "3e9a3f5a0cfcef1741e352c37bda4e82e5eb846a" },
"gitsigns.nvim": { "branch": "main", "commit": "76927d14d3fbd4ba06ccb5246e79d93b5442c188" },
"guess-indent.nvim": { "branch": "main", "commit": "b8ae749fce17aa4c267eec80a6984130b94f80b2" },
"heirline.nvim": { "branch": "master", "commit": "03cff30d7e7d3ba6fdc00925f015822f79cef908" },
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" },
"lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" },
"lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "9ae570e206360e47d30b4c35a4550c165f4ea7b7" },
"mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "3614a39aae98ccd34124b072939d6283853b3dd2" },
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
"mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" },
"neo-tree.nvim": { "branch": "main", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" },
"neoconf.nvim": { "branch": "main", "commit": "f8947e998dac4213f6c7bb1c7b843cba64db22dd" },
"neodev.nvim": { "branch": "main", "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" },
"none-ls.nvim": { "branch": "main", "commit": "f5632db2491fbe02b54f1a321a98548a8ba2bd15" },
"nui.nvim": { "branch": "main", "commit": "a0fd35fcbb4cb479366f1dc5f20145fd718a3733" },
"nvim-autopairs": { "branch": "master", "commit": "14e97371b2aab6ee70054c1070a123dfaa3e217e" },
"nvim-cmp": { "branch": "main", "commit": "cd2cf0c124d3de577fb5449746568ee8e601afc8" },
"nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" },
"nvim-dap": { "branch": "master", "commit": "9d81c11fd185a131f81841e64941859305f6c42d" },
"nvim-dap-ui": { "branch": "master", "commit": "5934302d63d1ede12c0b22b6f23518bb183fc972" },
"nvim-lspconfig": { "branch": "master", "commit": "a3d9395455f2b2e3b50a0b0f37b8b4c23683f44a" },
"nvim-nio": { "branch": "master", "commit": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90" },
"nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" },
"nvim-treesitter": { "branch": "master", "commit": "707b0dcf7641fa3a2aaad5053b215503f54f89aa" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" },
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "0bdccb9c67a42a5e2d99384dc9bfa29b1451528f" },
"nvim-ufo": { "branch": "main", "commit": "a5390706f510d39951dd581f6d2a972741b3fa26" },
"nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" },
"nvim-window-picker": { "branch": "main", "commit": "41cfaa428577c53552200a404ae9b3a0b5719706" },
"plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" },
"promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" },
"resession.nvim": { "branch": "master", "commit": "dc8825439c619030925543a444c4186a2487c200" },
"smart-splits.nvim": { "branch": "master", "commit": "2179ec0d26aacd4f40c766c79f6ebc83b7001e48" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
"telescope.nvim": { "branch": "master", "commit": "6312868392331c9c0f22725041f1ec2bef57c751" },
"todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" },
"toggleterm.nvim": { "branch": "main", "commit": "066cccf48a43553a80a210eb3be89a15d789d6e6" },
"vim-illuminate": { "branch": "master", "commit": "e522e0dd742a83506db0a72e1ced68c9c130f185" },
"which-key.nvim": { "branch": "main", "commit": "ce741eb559c924d72e3a67d2189ad3771a231414" }
}

15
nvim/lua/community.lua Normal file
View File

@ -0,0 +1,15 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroCommunity: import any community modules here
-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
-- This guarantees that the specs are processed before any user plugins.
---@type LazySpec
return {
"AstroNvim/astrocommunity",
{ import = "astrocommunity.pack.lua" },
-- import/override with your plugins folder
{ import = "astrocommunity.colorscheme.catppuccin" },
{ import = "astrocommunity.pack.rust" },
{ import = "astrocommunity.pack.cpp" },
}

32
nvim/lua/lazy_setup.lua Normal file
View File

@ -0,0 +1,32 @@
require("lazy").setup({
{
"AstroNvim/AstroNvim",
version = "^4", -- Remove version tracking to elect for nighly AstroNvim
import = "astronvim.plugins",
opts = { -- AstroNvim options must be set here with the `import` key
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
},
},
{ import = "community" },
{ import = "plugins" },
} --[[@as LazySpec]], {
-- Configure any other `lazy.nvim` configuration options here
install = { colorscheme = { "astrodark", "habamax" } },
ui = { backdrop = 100 },
performance = {
rtp = {
-- disable some rtp plugins, add more to your liking
disabled_plugins = {
"gzip",
"netrwPlugin",
"tarPlugin",
"tohtml",
"zipPlugin",
},
},
},
} --[[@as LazyConfig]])

View File

@ -0,0 +1,74 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
-- Configuration documentation can be found with `:h astrocore`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astrocore",
---@type AstroCoreOpts
opts = {
-- Configure core features of AstroNvim
features = {
large_buf = { size = 1024 * 500, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
autopairs = true, -- enable autopairs at start
cmp = true, -- enable completion at start
diagnostics_mode = 3, -- diagnostic mode on start (0 = off, 1 = no signs/virtual text, 2 = no virtual text, 3 = on)
highlighturl = true, -- highlight URLs at start
notifications = true, -- enable notifications at start
},
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
diagnostics = {
virtual_text = true,
underline = true,
},
-- vim options can be configured here
options = {
opt = { -- vim.opt.<key>
relativenumber = true, -- sets vim.opt.relativenumber
number = true, -- sets vim.opt.number
spell = false, -- sets vim.opt.spell
signcolumn = "auto", -- sets vim.opt.signcolumn to auto
wrap = false, -- sets vim.opt.wrap
},
g = { -- vim.g.<key>
-- configure global vim variables (vim.g)
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
-- This can be found in the `lua/lazy_setup.lua` file
},
},
-- Mappings can be configured through AstroCore as well.
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
mappings = {
-- first key is the mode
n = {
-- second key is the lefthand side of the map
-- navigate buffer tabs with `H` and `L`
L = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" },
H = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
-- mappings seen under group name "Buffer"
["<Leader>bD"] = {
function()
require("astroui.status.heirline").buffer_picker(
function(bufnr) require("astrocore.buffer").close(bufnr) end
)
end,
desc = "Pick to close",
},
-- tables with just a `desc` key will be registered with which-key if it's installed
-- this is useful for naming menus
["<Leader>b"] = { desc = "Buffers" },
-- quick save
-- ["<C-s>"] = { ":w!<cr>", desc = "Save File" }, -- change description but the same command
},
t = {
-- setting a mapping to false will disable it
-- ["<esc>"] = false,
},
},
},
}

View File

@ -0,0 +1,108 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine
-- Configuration documentation can be found with `:h astrolsp`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astrolsp",
---@type AstroLSPOpts
opts = {
-- Configuration table of features provided by AstroLSP
features = {
autoformat = true, -- enable or disable auto formatting on start
codelens = true, -- enable/disable codelens refresh on start
inlay_hints = false, -- enable/disable inlay hints on start
semantic_tokens = true, -- enable/disable semantic token highlighting
},
-- customize lsp formatting options
formatting = {
-- control auto formatting on save
format_on_save = {
enabled = true, -- enable or disable format on save globally
allow_filetypes = { -- enable format on save for specified filetypes only
-- "go",
},
ignore_filetypes = { -- disable format on save for specified filetypes
-- "python",
},
},
disabled = { -- disable formatting capabilities for the listed language servers
-- disable lua_ls formatting capability if you want to use StyLua to format your lua code
-- "lua_ls",
},
timeout_ms = 1000, -- default format timeout
-- filter = function(client) -- fully override the default formatting function
-- return true
-- end
},
-- enable servers that you already have installed without mason
servers = {
-- "pyright"
},
-- customize language server configuration options passed to `lspconfig`
---@diagnostic disable: missing-fields
config = {
-- clangd = { capabilities = { offsetEncoding = "utf-8" } },
},
-- customize how language servers are attached
handlers = {
-- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server
-- function(server, opts) require("lspconfig")[server].setup(opts) end
-- the key is the server that is being setup with `lspconfig`
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
-- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed
},
-- Configure buffer local auto commands to add when attaching a language server
autocmds = {
-- first key is the `augroup` to add the auto commands to (:h augroup)
lsp_document_highlight = {
-- Optional condition to create/delete auto command group
-- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
-- condition will be resolved for each client on each execution and if it ever fails for all clients,
-- the auto commands will be deleted for that buffer
cond = "textDocument/documentHighlight",
-- cond = function(client, bufnr) return client.name == "lua_ls" end,
-- list of auto commands to set
{
-- events to trigger
event = { "CursorHold", "CursorHoldI" },
-- the rest of the autocmd options (:h nvim_create_autocmd)
desc = "Document Highlighting",
callback = function() vim.lsp.buf.document_highlight() end,
},
{
event = { "CursorMoved", "CursorMovedI", "BufLeave" },
desc = "Document Highlighting Clear",
callback = function() vim.lsp.buf.clear_references() end,
},
},
},
-- mappings to be set up on attaching of a language server
mappings = {
n = {
gl = { function() vim.diagnostic.open_float() end, desc = "Hover diagnostics" },
-- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
-- gD = {
-- function() vim.lsp.buf.declaration() end,
-- desc = "Declaration of current symbol",
-- cond = "textDocument/declaration",
-- },
-- ["<Leader>uY"] = {
-- function() require("astrolsp.toggles").buffer_semantic_tokens() end,
-- desc = "Toggle LSP semantic highlight (buffer)",
-- cond = function(client) return client.server_capabilities.semanticTokensProvider and vim.lsp.semantic_tokens end,
-- },
},
},
-- A custom `on_attach` function to be run after the default `on_attach` function
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`)
on_attach = function(client, bufnr)
-- this would disable semanticTokensProvider for all clients
-- client.server_capabilities.semanticTokensProvider = nil
end,
},
}

View File

@ -0,0 +1,39 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroUI provides the basis for configuring the AstroNvim User Interface
-- Configuration documentation can be found with `:h astroui`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astroui",
---@type AstroUIOpts
opts = {
-- change colorscheme
colorscheme = "catppuccin",
-- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
highlights = {
init = { -- this table overrides highlights in all themes
-- Normal = { bg = "#000000" },
},
astrodark = { -- a table of overrides/changes when applying the astrotheme theme
-- Normal = { bg = "#000000" },
},
},
-- Icons can be configured throughout the interface
icons = {
-- configure the loading of the lsp in the status line
LSPLoading1 = "",
LSPLoading2 = "",
LSPLoading3 = "",
LSPLoading4 = "",
LSPLoading5 = "",
LSPLoading6 = "",
LSPLoading7 = "",
LSPLoading8 = "",
LSPLoading9 = "",
LSPLoading10 = "",
},
},
}

View File

@ -0,0 +1,43 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Mason plugins
---@type LazySpec
return {
-- use mason-lspconfig to configure LSP installations
{
"williamboman/mason-lspconfig.nvim",
-- overrides `require("mason-lspconfig").setup(...)`
opts = function(_, opts)
-- add more things to the ensure_installed table protecting against community packs modifying it
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
"lua_ls",
-- add more arguments for adding more language servers
})
end,
},
-- use mason-null-ls to configure Formatters/Linter installation for null-ls sources
{
"jay-babu/mason-null-ls.nvim",
-- overrides `require("mason-null-ls").setup(...)`
opts = function(_, opts)
-- add more things to the ensure_installed table protecting against community packs modifying it
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
"prettier",
"stylua",
-- add more arguments for adding more null-ls sources
})
end,
},
{
"jay-babu/mason-nvim-dap.nvim",
-- overrides `require("mason-nvim-dap").setup(...)`
opts = function(_, opts)
-- add more things to the ensure_installed table protecting against community packs modifying it
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
"python",
-- add more arguments for adding more debuggers
})
end,
},
}

View File

@ -0,0 +1,22 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize None-ls sources
---@type LazySpec
return {
"nvimtools/none-ls.nvim",
opts = function(_, config)
-- config variable is the default configuration table for the setup function call
-- local null_ls = require "null-ls"
-- Check supported formatters and linters
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
config.sources = {
-- Set a formatter
-- null_ls.builtins.formatting.stylua,
-- null_ls.builtins.formatting.prettier,
}
return config -- return final config table
end,
}

View File

@ -0,0 +1,16 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Treesitter
---@type LazySpec
return {
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
-- add more things to the ensure_installed table protecting against community packs modifying it
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
"lua",
"vim",
-- add more arguments for adding more treesitter parsers
})
end,
}

85
nvim/lua/plugins/user.lua Normal file
View File

@ -0,0 +1,85 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- You can also add or configure plugins by creating files in this `plugins/` folder
-- Here are some examples:
---@type LazySpec
return {
-- == Examples of Adding Plugins ==
"andweeb/presence.nvim",
{
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function() require("lsp_signature").setup() end,
},
-- == Examples of Overriding Plugins ==
-- customize alpha options
{
"goolord/alpha-nvim",
opts = function(_, opts)
-- customize the dashboard header
opts.section.header.val = {
" █████ ███████ ████████ ██████ ██████",
"██ ██ ██ ██ ██ ██ ██ ██",
"███████ ███████ ██ ██████ ██ ██",
"██ ██ ██ ██ ██ ██ ██ ██",
"██ ██ ███████ ██ ██ ██ ██████",
" ",
" ███  ██ ██  ██ ██ ███  ███",
" ████  ██ ██  ██ ██ ████  ████",
" ██ ██  ██ ██  ██ ██ ██ ████ ██",
" ██  ██ ██  ██  ██  ██ ██  ██  ██",
" ██   ████   ████   ██ ██  ██",
}
return opts
end,
},
-- You can disable default plugins as follows:
{ "max397574/better-escape.nvim", enabled = false },
-- You can also easily customize additional setup of plugins that is outside of the plugin's setup call
{
"L3MON4D3/LuaSnip",
config = function(plugin, opts)
require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call
-- add more custom luasnip configuration such as filetype extend or custom snippets
local luasnip = require "luasnip"
luasnip.filetype_extend("javascript", { "javascriptreact" })
end,
},
{
"windwp/nvim-autopairs",
config = function(plugin, opts)
require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call
-- add more custom autopairs configuration such as custom rules
local npairs = require "nvim-autopairs"
local Rule = require "nvim-autopairs.rule"
local cond = require "nvim-autopairs.conds"
npairs.add_rules(
{
Rule("$", "$", { "tex", "latex" })
-- don't add a pair if the next character is %
:with_pair(cond.not_after_regex "%%")
-- don't add a pair if the previous character is xxx
:with_pair(
cond.not_before_regex("xxx", 3)
)
-- don't move right when repeat character
:with_move(cond.none())
-- don't delete if the next character is xx
:with_del(cond.not_after_regex "xx")
-- disable adding a newline when you press <cr>
:with_cr(cond.none()),
},
-- disable for .vim files, but it work for another filetypes
Rule("a", "a", "-vim")
)
end,
},
}

18
nvim/lua/polish.lua Normal file
View File

@ -0,0 +1,18 @@
if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- This will run last in the setup process and is a good place to configure
-- things like custom filetypes. This just pure lua so anything that doesn't
-- fit in the normal config locations above can go here
-- Set up custom filetypes
vim.filetype.add {
extension = {
foo = "fooscript",
},
filename = {
["Foofile"] = "fooscript",
},
pattern = {
["~/%.config/foo/.*"] = "fooscript",
},
}

6
nvim/neovim.yml Normal file
View File

@ -0,0 +1,6 @@
---
base: lua51
globals:
vim:
any: true

8
nvim/selene.toml Normal file
View File

@ -0,0 +1,8 @@
std = "neovim"
[rules]
global_usage = "allow"
if_same_then_else = "allow"
incorrect_standard_library_use = "allow"
mixed_table = "allow"
multiple_statements = "allow"

View File

@ -0,0 +1,22 @@
[
{
"name": "Lock screen",
"exec": "swaylock -f -c 000000",
"icon": "system-lock-screen"
},
{
"name": "Logout",
"exec": "swaymsg exit",
"icon": "system-log-out"
},
{
"name": "Reboot",
"exec": "systemctl reboot",
"icon": "system-reboot"
},
{
"name": "Shutdown",
"exec": "systemctl -i poweroff",
"icon": "system-shutdown"
}
]

View File

@ -0,0 +1,46 @@
#bar {
margin: 30px; /* affects top/bottom & left/right alignment */
font-size: 24px;
font-family: Product Sans;
}
button, image {
border-radius: 25px;
box-shadow: none;
color: white;
}
image {
margin-bottom: 20px;
}
button {
/* padding-top: 10px;
margin: 5px */
padding: 100px 80px;
margin: 20px;
background: #24273a;
}
button:hover {
background-color: #b7bdf8;
color: #24273a;
}
button:focus {
/* background-color: rgba(0, 0, 0, 0.5); */
background-color: #b7bdf8;
color: #24273a;
}
grid {
border-radius: 5px;
padding: 5px;
/* box-shadow: 0 0 5px black; */
/* e.g. for common background to all buttons */
}
window {
background-color: rgba (0, 0, 0, 0);
}

View File

@ -0,0 +1,44 @@
button, label, image {
background: none;
border-style: none;
box-shadow: none;
color: #999;
}
button {
padding: 5px;
margin: 5px;
text-shadow: none;
}
button:hover {
background-color: rgba (255, 255, 255, 0.1);
}
button:focus {
box-shadow: 0 0 10px;
}
button:checked {
background-color: rgba (255, 255, 255, 0.1);
}
#searchbox {
background: none;
border-color: #999;
color: #ccc;
margin-top: 20px;
margin-bottom: 20px
}
#separator {
background-color: rgba(200, 200, 200, 0.5);
margin-left: 500px;
margin-right: 500px;
margin-top: 10px;
margin-bottom: 10px
}
#description {
margin-bottom: 20px
}

View File

@ -0,0 +1 @@
alacritty -e

3
omf/bundle Normal file
View File

@ -0,0 +1,3 @@
package https://github.com/catppuccin/fish
theme bobthefish
theme default

1
omf/channel Normal file
View File

@ -0,0 +1 @@
stable

1
omf/theme Normal file
View File

@ -0,0 +1 @@
bobthefish

380
sway/config Normal file
View File

@ -0,0 +1,380 @@
# Set inner/outer gaps
gaps inner 5
input * {
xkb_layout "us,ua"
xkb_options "grp:caps_toggle"
}
set $mod Mod4
set $foot ~/.config/hypr/scripts/terminal
set $screenshot ~/.config/hypr/scripts/rofi_screenshot
exec_always {
gsettings set org.gnome.desktop.interface text-scaling-factor 1.33
gsettings set org.gnome.desktop.interface cursor-size 32
}
output * bg ~/.config/backgrounds/eva.jpeg fill
set $left h
set $down j
set $up k
set $right l
set $rosewater #f4dbd6
set $flamingo #f0c6c6
set $pink #f5bde6
set $mauve #c6a0f6
set $red #ed8796
set $maroon #ee99a0
set $peach #f5a97f
set $green #a6da95
set $teal #8bd5ca
set $sky #91d7e3
set $sapphire #7dc4e4
set $blue #8aadf4
set $lavender #b7bdf8
set $text #cad3f5
set $subtext1 #b8c0e0
set $subtext0 #a5adcb
set $overlay2 #939ab7
set $overlay1 #8087a2
set $overlay0 #6e738d
set $surface2 #5b6078
set $surface1 #494d64
set $surface0 #363a4f
set $base #24273a
set $mantle #1e2030
set $crust #181926
# Hide titlebar on windows:
default_border pixel 2
# Default Font
# font pango:Noto Sans Regular 10
font FiraSans Nerd Font 13
# Thin borders:
smart_borders off
# Title format for windows
for_window [shell="xdg_shell"] title_format "%title (%app_id)"
for_window [shell="x_wayland"] title_format "%class - %title"
# Set gaps for windows with rounded corners
for_window [class="^.*"] border pixel 2
for_window [class="^.*"] border radius 30
for_window [app_id="^.*"] border pixel 2
for_window [app_id="^.*"] border radius 30
set $opacity 1
for_window [class=".*"] opacity $opacity
for_window [app_id=".*"] opacity $opacity
## Window decoration
# class border backgr. text indicator child_border
# client.focused $mauve $base $text $lavender $mauve
# client.focused_inactive $mauve $base $text $mauve $mauve
# client.unfocused $mauve $base $text $mauve $mauve
# client.urgent $peach $base $peach $overlay0 $peach
# client.placeholder $base $base $text $overlay0 $overlay0
# client.background $base
# client.focused $base $base $text $mauve $base
# client.focused_inactive $base $base $text $base $base
# client.unfocused $base $base $text $base $base
# client.urgent $peach $base $peach $overlay0 $peach
# client.placeholder $base $base $text $overlay0 $base
# client.background $base
client.focused $mauve $base $text $lavender $mauve
client.focused_inactive $mantle $base $text $mantle $mantle
client.unfocused $mantle $base $text $mantle $mantle
client.urgent $peach $base $peach $overlay0 $peach
client.placeholder $base $base $text $overlay0 $overlay0
client.background $base
set $menu rofi -dmenu
set $launcher ~/.config/hypr/scripts/rofi_launcher
set $powermenu nwgbar -f
bindsym $mod+Return exec $foot
bindsym print exec grimshot --notify copy area
#bindsym $mod+Shift+w exec ~/.config/waybar/scripts/swap.sh
bindsym $mod+Shift+x workspace number 10; exec xournalpp
# Activities and workspaces
bindsym $mod+Shift+p exec swayr switch-workspace-or-window
# Switch to the last recently used window
bindsym $mod+Tab exec swayr switch-to-urgent-or-lru-window
#bindsym Mod3 exec swaymsg input "1:1:AT_Translated_Set_2_keyboard" xkb_switch_layout next
# Open the power menu
# bindsym $mod+Shift+e exec $powermenu
bindsym $mod+x exec $powermenu # ArchCraft shortcut
# Kill focused window
bindsym $mod+q kill
# Start your launcher
# bindsym $mod+d exec $menu
bindsym $mod+d exec $launcher
# Launcher
#bindsym $mod+Shift+d exec $launcher
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# bindgesture swipe:right workspace prev
# bindgesture swipe:left workspace next
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
bindsym $mod+n exec $foot nvim ~/Documents/notes/ut3usw/$(date -I).md
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+space floating toggle
# Swap focus between the tiling area and the floating area
# bindsym $mod+space focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Resize floating windows with mouse scroll:
bindsym --whole-window --border $mod+button4 resize shrink height 5 px or 5 ppt
bindsym --whole-window --border $mod+button5 resize grow height 5 px or 5 ppt
bindsym --whole-window --border $mod+shift+button4 resize shrink width 5 px or 5 ppt
bindsym --whole-window --border $mod+shift+button5 resize grow width 5 px or 5 ppt
#
# Volume
#
bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume > $SWAYSOCK.wob
bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume > $SWAYSOCK.wob
bindsym XF86AudioMute exec pamixer --toggle-mute && ( pamixer --get-mute && echo 0 > $SWAYSOCK.wob ) || pamixer --get-volume > $SWAYSOCK.wob
#
# Player
#
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym $mod+m exec $music
#
# Backlight
#
bindsym XF86MonBrightnessUp exec light -A 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
bindsym XF86MonBrightnessDown exec light -U 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
#
# App shortcuts
#
# bindsym $mod+n exec thunars
#bindsym $mod+n exec thunar
bindsym $mod+o workspace number 2; exec google-chrome --password-store=gnome-libsecret
bindsym $mod+Shift+o code
#bindsym Alt+print exec /usr/share/sway/scripts/grimshot --notify copy area
# set floating (nontiling)for apps needing it:
for_window [class="Yad" instance="yad"] floating enable
for_window [app_id="yad"] floating enable
for_window [app_id="blueman-manager"] floating enable, resize set width 40 ppt height 30 ppt
# set floating (nontiling) for special apps:
for_window [class="Xsane" instance="xsane"] floating enable
for_window [app_id="pavucontrol" ] floating enable, resize set width 40 ppt height 30 ppt
for_window [class="qt5ct" instance="qt5ct"] floating enable, resize set width 60 ppt height 50 ppt
for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
for_window [app_id="pamac-manager"] floating enable, resize set width 80 ppt height 70 ppt
for_window [class="Lxappearance"] floating enable, resize set width 60 ppt height 50 ppt
# set floating for window roles
for_window [window_role="pop-up"] floating enable
for_window [window_role="bubble"] floating enable
for_window [window_role="task_dialog"] floating enable
for_window [window_role="Preferences"] floating enable
for_window [window_type="dialog"] floating enable
for_window [window_type="menu"] floating enable
for_window [window_role="About"] floating enable
for_window [title="File Operation Progress"] floating enable, border pixel 1, sticky enable, resize set width 40 ppt height 30 ppt
for_window [app_id="firedragon" title="Library"] floating enable, border pixel 1, sticky enable, resize set width 40 ppt height 30 ppt
for_window [app_id="floating_shell_portrait"] floating enable, border pixel 1, sticky enable, resize set width 30 ppt height 40 ppt
for_window [title="Picture in picture"] floating enable, sticky enable
for_window [title="nmtui"] floating enable, resize set width 50 ppt height 70 ppt
for_window [title="htop"] floating enable, resize set width 50 ppt height 70 ppt
for_window [app_id="xsensors"] floating enable
for_window [title="Save File"] floating enable
for_window [app_id="firedragon" title="firedragon — Sharing Indicator"] kill
# Inhibit idle
for_window [app_id="firedragon"] inhibit_idle fullscreen
for_window [app_id="Google Chrome"] inhibit_idle fullscreen
#
# Zoom Meeting App
#
# Default for all windows is non-floating.
#
# For pop up notification windows that don't use notifications api
for_window [app_id="zoom" title="^zoom$"] border none, floating enable
# For specific Zoom windows
for_window [app_id="zoom" title="^(Zoom|About)$"] border pixel, floating enable
for_window [app_id="zoom" title="Settings"] floating enable, floating_minimum_size 960 x 700
# Open Zoom Meeting windows on a new workspace (a bit hacky)
#for_window [app_id="zoom" title="Zoom Meeting(.*)?"] workspace next_on_output --create, move container to workspace current, floating disable, inhibit_idle open
for_window [class="(.*join\?action\=join.*|.*zoom.*)"] floating enable no_focus for_window [class="(.*join\?action\=join.*|.*zoom.*)" title="Zoom - Licensed Account"] floating disable no_focus for_window [class="(.*join\?action\=join.*|.*zoom.*)" title="Zoom - Free Account"] floating disable no_focus for_window [class="(.*join\?action\=join.*|.*zoom.*)" title="Zoom Meeting"] floating disable no_focus no_focus [title="^zoom\s?$"] no_focus [title="^join\?action=join.*$"]
seat seat0 fallback true
seat seat0 hide_cursor when-typing enable
seat seat0 idle_inhibit keyboard pointer switch
seat seat0 idle_wake keyboard switch
input type:touchpad {
dwt enabled
tap enabled
natural_scroll enabled
pointer_accel 0.35
}
exec mako
exec systemctl --user import-environment
#exec systemctl --user import-environment PATH DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
exec dbus-update-activation-environment 2>/dev/null && \
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=sway
exec_always dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=sway
exec_always systemctl --user start xdg-desktop-portal-wlr.service
exec --no-startup-id ~/.config/sway/scripts/start_keyring
#exec_always gnome-keyring-daemon --daemonize --start --components=gpg,pkcs11,secrets,ssh
exec_always pipewire
# Wob
exec mkfifo $SWAYSOCK.wob
# THIS DOESN'T WORK. --border-color etc. not valid
# exec tail -f $SWAYSOCK.wob | wob --border-color '#ffdcbb8c' --background-color '#cc3a3a3a' --bar-color '#ffdcbb8c'
exec tail -f $SWAYSOCK.wob | wob
exec nm-applet --indicator
exec /usr/libexec/xdg-desktop-portal
exec_always swayrd
exec_always ~/.config/sway/scripts/statusbar

4
sway/scripts/start_keyring Executable file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
pkill -f --signal SIGTERM gnome-keyring-daemon
gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
echo -n "" | secret-tool store --label='unlocker' "unlocker" "unlocker"

13
sway/scripts/statusbar Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
##
## launch waybar with alt config
## Edited by yurihikari for Garuda Linux Sway
CONFIG="$HOME/.config/sway/waybar/config"
STYLE="$HOME/.config/sway/waybar/style.css"
if [[ ! `pidof waybar` ]]; then
waybar --bar main-bar --log-level error --config ${CONFIG} --style ${STYLE}
fi

273
sway/waybar/config Normal file
View File

@ -0,0 +1,273 @@
{
"layer": "top", // Waybar at top layer
"position": "top", // Waybar position (top|bottom|left|right)
"height": 30,
"margin": "0 0 0 0",
//"width": 1350, // Waybar width
// Choose the order of the modules idle_inhibitor
"modules-left": [
"custom/launcher",
"sway/workspaces",
// "custom/swap",
"tray",
"sway/mode",
],
"modules-center": ["clock"],
"modules-right": [
"backlight",
"pulseaudio",
"custom/keyboard-layout",
"temperature",
"memory",
"battery",
"network",
"custom/power"
],
// Modules configuration
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"format": "{icon}",
// "format": "< %g >",
// "format_focused" : "< %g ● >",
"format-icons": {
"1": "",
"2": "", //
"3": " ", //
"4": "",
"5": "",
"6": "",
"7": "",
"8": "",
"9": "",
"10": ""
}
},
"mpd": {
"tooltip": true,
"tooltip-format": "{artist} - {album} - {title} - Total Time : {totalTime:%M:%S}",
"format": " {elapsedTime:%M:%S}",
"format-disconnected": "⚠ Disconnected",
"format-stopped": " Not Playing",
"on-click": "mpc toggle",
"state-icons": {
"playing": "",
"paused": ""
}
},
"mpd#2": {
"format": "",
"format-disconnected": "",
"format-paused": "",
"format-stopped": "",
// Commands to execute on events
"on-click": "mpc -q pause && mpc -q prev && mpc -q start"
},
"mpd#3": {
"interval": 1,
"format": "{stateIcon}",
"format-disconnected": "",
"format-paused": "{stateIcon}",
"format-stopped": "",
"state-icons": {
"paused": "",
"playing": ""
},
// Commands to execute on events
"on-click": "mpc toggle"
},
"mpd#4": {
"format": "",
"format-disconnected": "",
"format-paused": "",
"format-stopped": "",
// Commands to execute on events
"on-click": "mpc -q pause && mpc -q next && mpc -q start"
},
"custom/swap": {
"on-click": "~/.config/sway/waybar/scripts/swap.sh",
"tooltip": "Swap between waybar configs",
"format": "Bg  "
},
"custom/mpd": {
"format": " {title} - {artist}",
"interval": 5,
"exec": "mpc current --format='\"title\":\"%title%\",\"artist\":\"%artist%\"'"
},
"custom/cava-internal": {
"exec": "sh ~/.config/sway/waybar/scripts/Cava.sh",
"format": "{}",
"tooltip": false,
//"on-click": "swaymsg reload & pkill waybar & waybar",
"layer": "below",
"output": "all"
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/window": {
"format": "~ {app_id}"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
"icon-size": 14,
"spacing": 5
},
"clock": {
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"on-click-right": "mode",
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-click-forward": "tz_up",
"on-click-backward": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
},
"format": " {:%a %d %b  %I:%M %p}", //12 hour format
// "format": " {:%d %m %Y  %H:%M}", //24 hour format
"format-alt": " {:%d/%m/%Y  %H:%M:%S}",
// //"timezones": [ "Kolkata" ],
// //"max-length": 200
"interval": 1
},
// "clock": {
// "format": " {:%H:%M:%S}",
// "format-alt": " {:%A, %B %d, %Y (%R)}",
// "tooltip-format": "<tt><small>{calendar}</small></tt>",
// "calendar": {
// "mode" : "month",
// "mode-mon-col" : 3,
// "weeks-pos" : "right",
// "on-scroll" : 1,
// "on-click-right": "mode",
// "format": {
// "months": "<span color='#ffead3'><b>{}</b></span>",
// "days": "<span color='#ecc6d9'><b>{}</b></span>",
// "weeks": "<span color='#99ffdd'><b>W{}</b></span>",
// "weekdays": "<span color='#ffcc66'><b>{}</b></span>",
// "today": "<span color='#ff6699'><b><u>{}</u></b></span>"
// }
// },
// "actions": {
// "on-click-right": "mode",
// "on-click-forward": "tz_up",
// "on-click-backward": "tz_down",
// "on-scroll-up": "shift_up",
// "on-scroll-down": "shift_down"
// },
// "interval": 1
// },
"cpu": {
"format": "﬙ {usage: >1}%",
"on-click": "foot -e btop"
},
"memory": {
"format": "󰍛 {: >3}%",
"on-click": "foot -e btop"
},
"temperature": {
// "thermal-zone": 2,
"hwmon-path": "/sys/class/hwmon/hwmon0/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C ",
"format": " {temperatureC}°C"
},
"backlight": {
// "device": "acpi_video1",
"format": "{icon} {percent: >3}%",
"format-icons": ["", ""],
// "on-scroll-down": "brightnessctl -c backlight set 5%-",
"on-scroll-down": "light -A 1 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob",
// "on-scroll-up": "brightnessctl -c backlight set +5%"
"on-scroll-up": "light -U 1 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob"
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity: >3}%",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
//"format-icons": ["", "", "", "", "", "", "", "", "", ""]
},
"network": {
// "interface": "wlp2s0", // (Optional) To force the use of this interface
"format": "⚠ Disabled",
"format-wifi": " {essid}",
// "format-ethernet": " {ifname}: {ipaddr}/{cidr}",
"format-ethernet": " Wired",
"format-disconnected": "⚠ Disconnected",
// "on-click": "alacritty -e nmtui"
"on-click": "nm-connection-editor"
},
"pulseaudio": {
"scroll-step": 1,
"format": "{icon} {volume: >3}%",
"format-bluetooth": "{icon} {volume: >3}%",
"format-muted": " muted",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol",
"on-scroll-up": "pamixer -ui 2 && pamixer --get-volume > $SWAYSOCK.wob",
"on-scroll-down": "pamixer -ud 2 && pamixer --get-volume > $SWAYSOCK.wob"
},
"custom/pacman": {
"format": " {}",
"interval": 7200, // every two hours
"exec": "i=$(checkupdates); echo \"$i\" |wc -l; echo \"$i\" |column -t |tr '\n' '\r'", // # of updates and tooltip details
"exec-if": "exit 0", // always run; consider advanced run conditions
"on-click": "alacritty -e sudo pacman -Syu", // update system
"signal": 8
},
"custom/power": {
"format": "󰐥",
"on-click": "nwgbar",
"tooltip": false
},
"custom/keyboard-layout": {
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
// Interval set only as a fallback, as the value is updated by signal
"interval": 1,
"format": " {}", // Icon: keyboard
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
"signal": 1, // SIGHUP
"tooltip": false,
"on-click": "~/.config/sway/waybar/scripts/keyhint.sh"
},
"custom/launcher": {
"format": " ",
"on-click": "exec nwg-drawer -c 7 -is 70 -spacing 23",
"tooltip": false
}
}

View File

@ -0,0 +1,278 @@
{
"layer": "top", // Waybar at top layer
"position": "top", // Waybar position (top|bottom|left|right)
"height": 30,
"margin": "0 0 0 0",
//"width": 1350, // Waybar width
// Choose the order of the modules idle_inhibitor
"modules-left": [
"custom/launcher",
"sway/workspaces",
"custom/swap",
"tray",
"sway/mode",
"custom/cava-internal",
"mpd#2",
"mpd#3",
"mpd#4",
"mpd"
],
"modules-center": ["clock"],
"modules-right": [
"backlight",
"pulseaudio",
"custom/keyboard-layout",
"temperature",
"memory",
"battery",
"network",
"custom/power"
],
// Modules configuration
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"format": "{icon}",
// "format": "< %g >",
// "format_focused" : "< %g ● >",
"format-icons": {
"1": "",
"2": "󰈹",
"3": "",
"4": "",
"5": "",
"6": "",
"7": "",
"8": "",
"9": "",
"10": ""
}
},
"mpd": {
"tooltip": true,
"tooltip-format": "{artist} - {album} - {title} - Total Time : {totalTime:%M:%S}",
"format": " {elapsedTime:%M:%S}",
"format-disconnected": "⚠ Disconnected",
"format-stopped": " Not Playing",
"on-click": "mpc toggle",
"state-icons": {
"playing": "",
"paused": ""
}
},
"mpd#2": {
"format": "",
"format-disconnected": "",
"format-paused": "",
"format-stopped": "",
// Commands to execute on events
"on-click": "mpc -q pause && mpc -q prev && mpc -q start"
},
"mpd#3": {
"interval": 1,
"format": "{stateIcon}",
"format-disconnected": "",
"format-paused": "{stateIcon}",
"format-stopped": "",
"state-icons": {
"paused": "",
"playing": ""
},
// Commands to execute on events
"on-click": "mpc toggle"
},
"mpd#4": {
"format": "",
"format-disconnected": "",
"format-paused": "",
"format-stopped": "",
// Commands to execute on events
"on-click": "mpc -q pause && mpc -q next && mpc -q start"
},
"custom/swap": {
"on-click": "~/.config/sway/waybar/scripts/swap.sh",
"tooltip": "Swap between waybar configs",
"format": "Bg  "
},
"custom/mpd": {
"format": " {title} - {artist}",
"interval": 5,
"exec": "mpc current --format='\"title\":\"%title%\",\"artist\":\"%artist%\"'"
},
"custom/cava-internal": {
"exec": "sh ~/.config/sway/waybar/scripts/Cava.sh",
"format": "{}",
"tooltip": false,
//"on-click": "swaymsg reload & pkill waybar & waybar",
"layer": "below",
"output": "all"
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/window": {
"format": "~ {app_id}"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
"icon-size": 14,
"spacing": 5
},
"clock": {
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"on-click-right": "mode",
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-click-forward": "tz_up",
"on-click-backward": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
},
"format": " {:%a %d %b  %I:%M %p}", //12 hour format
// "format": " {:%d %m %Y  %H:%M}", //24 hour format
"format-alt": " {:%d/%m/%Y  %H:%M:%S}",
// //"timezones": [ "Kolkata" ],
// //"max-length": 200
"interval": 1
},
// "clock": {
// "format": " {:%H:%M:%S}",
// "format-alt": " {:%A, %B %d, %Y (%R)}",
// "tooltip-format": "<tt><small>{calendar}</small></tt>",
// "calendar": {
// "mode" : "month",
// "mode-mon-col" : 3,
// "weeks-pos" : "right",
// "on-scroll" : 1,
// "on-click-right": "mode",
// "format": {
// "months": "<span color='#ffead3'><b>{}</b></span>",
// "days": "<span color='#ecc6d9'><b>{}</b></span>",
// "weeks": "<span color='#99ffdd'><b>W{}</b></span>",
// "weekdays": "<span color='#ffcc66'><b>{}</b></span>",
// "today": "<span color='#ff6699'><b><u>{}</u></b></span>"
// }
// },
// "actions": {
// "on-click-right": "mode",
// "on-click-forward": "tz_up",
// "on-click-backward": "tz_down",
// "on-scroll-up": "shift_up",
// "on-scroll-down": "shift_down"
// },
// "interval": 1
// },
"cpu": {
"format": "﬙ {usage: >3}%",
"on-click": "alacritty -e htop"
},
"memory": {
"format": "󰍛 {: >3}%",
"on-click": "alacritty -e htop"
},
"temperature": {
// "thermal-zone": 2,
"hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C ",
"format": " {temperatureC}°C"
},
"backlight": {
// "device": "acpi_video1",
"format": "{icon} {percent: >3}%",
"format-icons": ["", ""],
// "on-scroll-down": "brightnessctl -c backlight set 5%-",
"on-scroll-down": "light -A 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob",
// "on-scroll-up": "brightnessctl -c backlight set +5%"
"on-scroll-up": "light -U 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob"
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity: >3}%",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
//"format-icons": ["", "", "", "", "", "", "", "", "", ""]
},
"network": {
// "interface": "wlp2s0", // (Optional) To force the use of this interface
"format": "⚠ Disabled",
"format-wifi": " {essid}",
// "format-ethernet": " {ifname}: {ipaddr}/{cidr}",
"format-ethernet": " Wired",
"format-disconnected": "⚠ Disconnected",
// "on-click": "alacritty -e nmtui"
"on-click": "nm-connection-editor"
},
"pulseaudio": {
"scroll-step": 1,
"format": "{icon} {volume: >3}%",
"format-bluetooth": "{icon} {volume: >3}%",
"format-muted": " muted",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol",
"on-scroll-up": "pamixer -ui 2 && pamixer --get-volume > $SWAYSOCK.wob",
"on-scroll-down": "pamixer -ud 2 && pamixer --get-volume > $SWAYSOCK.wob"
},
"custom/pacman": {
"format": " {}",
"interval": 7200, // every two hours
"exec": "i=$(checkupdates); echo \"$i\" |wc -l; echo \"$i\" |column -t |tr '\n' '\r'", // # of updates and tooltip details
"exec-if": "exit 0", // always run; consider advanced run conditions
"on-click": "alacritty -e sudo pacman -Syu", // update system
"signal": 8
},
"custom/power": {
"format": "󰐥",
"on-click": "nwgbar",
"tooltip": false
},
"custom/keyboard-layout": {
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
// Interval set only as a fallback, as the value is updated by signal
"interval": 1,
"format": " {}", // Icon: keyboard
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
"signal": 1, // SIGHUP
"tooltip": false,
"on-click": "~/.config/waybar/scripts/keyhint.sh"
},
"custom/launcher": {
"format": " ",
"on-click": "exec nwg-drawer -c 7 -is 70 -spacing 23",
"tooltip": false
}
}

37
sway/waybar/machiatto.css Normal file
View File

@ -0,0 +1,37 @@
/*
*
* Catppuccin Macchiato palette
* Maintainer: rubyowo
*
*/
@define-color base #24273a;
@define-color mantle #1e2030;
@define-color crust #181926;
@define-color text #cad3f5;
@define-color subtext0 #a5adcb;
@define-color subtext1 #b8c0e0;
@define-color surface0 #363a4f;
@define-color surface1 #494d64;
@define-color surface2 #5b6078;
@define-color overlay0 #6e738d;
@define-color overlay1 #8087a2;
@define-color overlay2 #939ab7;
@define-color blue #8aadf4;
@define-color lavender #b7bdf8;
@define-color sapphire #7dc4e4;
@define-color sky #91d7e3;
@define-color teal #8bd5ca;
@define-color green #a6da95;
@define-color yellow #eed49f;
@define-color peach #f5a97f;
@define-color maroon #ee99a0;
@define-color red #ed8796;
@define-color mauve #c6a0f6;
@define-color pink #f5bde6;
@define-color flamingo #f0c6c6;
@define-color rosewater #f4dbd6;

11
sway/waybar/scripts/Cava.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
is_cava_ServerExist=`ps -ef|grep -m 1 cava|grep -v "grep"|wc -l`
if [ "$is_cava_ServerExist" = "0" ]; then
echo "cava_server not found" > /dev/null 2>&1
# exit;
elif [ "$is_cava_ServerExist" = "1" ]; then
killall cava
fi
exec cava -p ~/.config/cava/config1 | sed -u 's/;//g;s/0/▁/g;s/1/▂/g;s/2/▃/g;s/3/▄/g;s/4/▅/g;s/5/▆/g;s/6/▇/g;s/7/█/g;'

View File

@ -0,0 +1,3 @@
#!/bin/bash
i="$(checkupdates)"
printf "%b%b" "$i" "${i:+\n}" |wc -l; echo "$i" |column -t #|tr '\n' '\r'

View File

@ -0,0 +1,73 @@
yad --title="Garuda Sway-WM keybindings:" --no-buttons --width=481 --height=361 --list --column-align=l --column="Keyboard Shortcuts" --column="Command Description" \
"Esc" "Close this cheat-sheet" \
"=" "modkey" \
"+Return" "Start Terminal" \
"+q" "Close focused app" \
"+d" "Application menu (wofi)" \
"+p" "Activities" \
"+Shift+e" "Power menu" \
"+F1" "Lock the system" \
"+Shift+c" "Reload the config file" \
"+h" "Focus left" \
"+j" "Focus down" \
"+k" "Focus up" \
"+l" "Focus right" \
"+Left" "Focus left" \
"+Down" "Focus down" \
"+Up" "Focus up" \
"+Right" "Focus right" \
"+Shift+h" "Move left" \
"+Shift+j" "Move down" \
"+Shift+k" "Move up" \
"+Shift+l" "Move right" \
"+Shift+Left" "Move left" \
"+Shift+Down" "Move down" \
"+Shift+Up" "Move up" \
"+Shift+Right" "Move right" \
"+b" "Split in horizontal orientation" \
"+v" "Split in vertical orientation" \
"+f" "Fullscreen toggle" \
"+s" "Layout stacking" \
"+w" "Layout tabbed" \
"+e" "Layout toggle split" \
"+Shift+Space" "Floating toggle" \
"+Space" "Focus toggle" \
"+a" "Focus parent" \
"+Right_mouse_button" "Resize floating window" \
"+Left_mouse_button" "Move floating window" \
"+Shift+Minus" "Move scratchpad" \
"+Minus" "Scratchpad cycle" \
"+r" "Resize" \
"+h" "Focus left" \
"+j" "Focus down" \
"+k" "Focus up" \
"+l" "Focus right" \
"+Left" "Focus left" \
"+Down" "Focus down" \
"+Up" "Focus up" \
"+Right" "Focus right" \
"+Return/Escape" "Return to default" \
"+1" "Workspace number 1" \
"+2" "Workspace number 2" \
"+3" "Workspace number 3" \
"+4" "Workspace number 4" \
"+5" "Workspace number 5" \
"+6" "Workspace number 6" \
"+7" "workspace number 7" \
"+8" "Workspace number 8" \
"+9" "Workspace number 9" \
"+0" "Workspace number 10" \
"+Shift+1" "Move container to workspace number 1" \
"+Shift+2" "Move container to workspace number 2" \
"+Shift+3" "Move container to workspace number 3" \
"+Shift+4" "Move container to workspace number 4" \
"+Shift+5" "Move container to workspace number 5" \
"+Shift+6" "Move container to workspace number 6" \
"+Shift+7" "Move container to workspace number 7" \
"+Shift+8" "Move container to workspace number 8" \
"+Shift+9" "Move container to workspace number 9 " \
"+Shift+0" "Move container to workspace number 10" \
"Print" "Full screenshot" \
"Shift+Print" "Screenshot with options" \
"+n" "Launch Thunar" \
"+o" "FireDragon"

2
sway/waybar/scripts/keyhint.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
yad --title="null keybindings:" --no-buttons --geometry=600x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(termite)" "+d" "Application Menu" "(rofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "Print-key" "screenshot" "(grim)" "+Shift+p" "open keybinding helper" "full list"

View File

@ -0,0 +1,2 @@
#!/bin/sh
yad --title="null keybindings:" --no-buttons --geometry=600x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(termite)" "+d" "Application Menu" "(rofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+Shift+p" "open keybinding helper" "full list"

View File

@ -0,0 +1,109 @@
#!/bin/bash
# network_traffic.sh [-tPOLLING_INTERVAL] [NETWORK_INTERFACE...]
getopts t: __ && shift
isecs=${OPTARG:-1}
ifaces=($@)
: ${rate_max:=1000000} # maximum transfer rate for {percent}, can be overridden setting the env var
# `snore` adapted from https://blog.dhampir.no/content/sleeping-without-a-subprocess-in-bash-and-how-to-sleep-forever
# without MacOS workaround, TODO: with _snore_fd initialized separatedly, also i dont touch IFS so dont bother with it
snore() {
local IFS
[[ -n "${_snore_fd:-}" ]] || { exec {_snore_fd}<> <(:); } 2>/dev/null
read ${1:+-t "$1"} -u $_snore_fd || :
}
human_readable() {
local hrunits=( B K M G T P )
local ndigits=${#1}
local idxunit=$(( (2 + ndigits) / 3 - 1))
local lentrim=$(( ndigits - (idxunit * 3 ) ))
echo ${1::$lentrim}${hrunits[$idxunit]}
}
exit_err() {
printf '{"text": "⚠ %s", "tooltip": "%s", "class": "error"}\n' "$@"
exit
}
if test ${#ifaces[@]} -gt 0; then
# sanity check the interface names
for iface in ${ifaces[@]}; do
test -h "/sys/class/net/${iface}" || exit_err "${iface}" "${iface} is not an existing network interface name"
done
else
# default to all interfaces except `lo`
ifaces=(/sys/class/net/*)
ifaces=(${ifaces[@]##*/})
ifaces=(${ifaces[@]//lo/})
# TODO: check that filtering out `lo` is enough, else `^(eth|wlan|enp|wlp)` as suggested
fi
# sanity check polling interval
if test ${isecs} -lt 1; then
exit_err "${isecs}" "${isecs} is not a valid polling interval"
fi
# NOTE: `snore` would take a decimal interval but bash arithmetic does not
#if test $(echo "${isecs} >= 0.2" |bc) -eq 0; then
# exit_err "${isecs}" "${isecs} is not a valid polling interval"
#fi
# NOTE: `/proc/net/dev` format is:
# interface:
# RX bytes packets errs drop fifo frame compressed multicast
# TX bytes packets errs drop fifo colls carrier compressed
# NOTE: array items are:
# 0=rx_bytes 1=rx_packets 2=rx_errs 3=rx_drop
# 4=tx_bytes 5=tx_packets 6=tx_errs 7=tx_drop
for iface in ${ifaces[@]} aggregate; do
declare -a traffic_prev_${iface} traffic_curr_${iface} traffic_delt_${iface}
declare -n traffic_prev=traffic_prev_${iface}
declare -n traffic_curr=traffic_curr_${iface}
declare -n traffic_delt=traffic_delt_${iface}
traffic_prev=( 0 0 0 0 0 0 0 0 )
traffic_curr=( 0 0 0 0 0 0 0 0 )
traffic_delt=( 0 0 0 0 0 0 0 0 )
done
# TODO: rearrange the loop, do not show bogus on first iteration
while snore ${isecs} ;do
tooltip=""
traffic_delt_aggregate=( 0 0 0 0 0 0 0 0 )
readarray -s2 proc_net_dev </proc/net/dev
while read -a data; do
iface=${data[0]%:}
test "${ifaces[*]}" = "${ifaces[*]//${iface}/}" && continue
declare -n traffic_prev=traffic_prev_${iface}
declare -n traffic_curr=traffic_curr_${iface}
declare -n traffic_delt=traffic_delt_${iface}
traffic_curr=(${data[@]:1:4} ${data[@]:9:4})
#FIXME: tooltip is delayed one iteration wrt main display (but why?)
#printf -v tooltip_hr_rx '%4s⇣' $(human_readable ${traffic_delt[0]})
#printf -v tooltip_hr_tx '%4s⇡' $(human_readable ${traffic_delt[4]})
#tooltip="${tooltip:+${tooltip}\r}${iface}\t${tooltip_hr_rx}\t${tooltip_hr_tx}"
for i in {0..7}; do
(( traffic_delt[i] = ( traffic_curr[i] - traffic_prev[i] ) / isecs ))
(( traffic_delt_aggregate[i] += traffic_delt[i] ))
done
traffic_prev=(${traffic_curr[@]})
done <<<"${proc_net_dev[@]}"
printf '{"text": "%4s⇣ %4s⇡", "tooltip": "%s", "percentage": %d}\n' \
$(human_readable ${traffic_delt_aggregate[0]}) \
$(human_readable ${traffic_delt_aggregate[4]}) \
"${tooltip}" \
$(( ( traffic_delt_aggregate[0] + traffic_delt_aggregate[4] ) / rate_max ))
#printf '{"text": "%5s⇣ %5s⇡", "alt": "%s", "tooltip": "%s", "class": "%s", "percentage": %d }\n' $(human_readable ${traffic_delt[0]}) $(human_readable ${traffic_delt[4]}) '_alt' '_tooltip' '_class' 0
done
# NOTE: in waybar config (do NOT use "interval"):
# "custom/network_traffic": {
# "exec": "~/.config/waybar/scripts/network_traffic.sh",
# "return-type": "json",
# "format": "Speed: {}", // optional
# },

22
sway/waybar/scripts/swap.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
# Set the path to the config and style files
config_file="${HOME}/.config/sway/waybar/config"
config_background_file="${HOME}/.config/sway/waybar/config-background"
style_file="${HOME}/.config/sway/waybar/style.css"
style_background_file="${HOME}/.config/sway/waybar/style-background.css"
# Swap names of config files
mv "${config_file}" "${config_file}.temp"
mv "${config_background_file}" "${config_file}"
mv "${config_file}.temp" "${config_background_file}"
# Swap names of style files
mv "${style_file}" "${style_file}.temp"
mv "${style_background_file}" "${style_file}"
mv "${style_file}.temp" "${style_background_file}"
echo "File names swapped successfully!"
pkill waybar
~/.config/sway/scripts/statusbar &

View File

@ -0,0 +1,419 @@
/* =============================================================================
*
* Waybar configuration
*
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
*
* =========================================================================== */
/* -----------------------------------------------------------------------------
* Keyframes
* -------------------------------------------------------------------------- */
@import "machiatto.css";
/*
Polar Night
nord0 #2e3440
nord1 #3b4252
nord2 #434c5e
nord3 #4c566a
Snow Storm
nord4 #d8dee9
nord5 #e5e9f0
nord6 #eceff4
Frost
nord7 #8fbcbb
nord8 #88c0d0
nord9 #81a1c1
nord10 #5e81ac
Aurora
nord11 #bf616a
nord12 #d08770
nord13 #ebcb8b
nord14 #a3be8c
nord15 #b48ead
*/
/* -----------------------------------------------------------------------------
* Base styles
* -------------------------------------------------------------------------- */
/* Reset all styles */
* {
color: @lavender;
border: 0;
padding: 0 0;
font-family: UbuntuMono;
/* font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; */
/* font-family: "Hack Nerd Font"; */
font-size: 18px;
font-weight: bold;
/* padding-bottom:4px;
padding-top: 4px; */
transition: all 0.5s ease;
}
window#waybar {
border-bottom: 4px solid shade(@mauve, 1.0);
/* border-radius: 10px; */
/* background:#2d2a2e; */
/* background-color: rgba(36, 39, 58, 0.85); */
/* background-color: rgba(0, 0, 0, 0); */
background-color: shade(#1e1e2e, 0.95);
}
#workspaces button {
color: @base;
border-radius: 50%;
/* background-color: @base; */
margin: 0px 0px;
padding: 2 6 2 0;
}
#workspaces button:hover * {
color: @mauve;
}
#workspaces button:hover {
color: @mauve;
box-shadow: none;
/* Remove predefined box-shadow */
text-shadow: none;
/* Remove predefined text-shadow */
border: 0px;
background: none;
}
#workspaces * {
color: whitesmoke;
}
#workspaces {
border-style: solid;
background-color: @base;
opacity: 1;
border-radius: 10px;
margin: 8px 0px 8px 8px;
}
#workspaces button.focused {
color: @mauve;
border-radius: 20px;
/* background-color: @flamingo; */
}
#workspaces button.focused * {
color: @mauve;
}
#mode {
color: #ebcb8b;
}
#clock,
#custom-swap,
#custom-background,
#custom-cava-internal,
#battery,
#cpu,
#memory,
#idle_inhibitor,
#temperature,
#custom-keyboard-layout,
#backlight,
#network,
#pulseaudio,
#mode,
#tray,
#custom-power,
#custom-pacman,
#mpd {
padding: 5px 8px;
border-style: solid;
background-color: shade(@base, 1.1);
opacity: 1;
margin: 8px 0;
}
/* -----------------------------------------------------------------------------
* Module styles
* -------------------------------------------------------------------------- */
#mode {
border-radius: 10px;
color: @mauve;
margin-right: 5px;
}
#custom-cava-internal {
border-radius: 10px;
color: @mauve;
}
#mpd {
border-radius: 10px;
color: @mauve;
margin-left: 5px;
background-color: rgba(0, 0, 0, 0);
}
#mpd.2 {
border-radius: 10px 0px 0px 10px;
margin: 8px 0px 8px 6px;
padding: 4px 12px 4px 10px;
}
#mpd.3 {
border-radius: 0px 0px 0px 0px;
margin: 8px 0px 8px 0px;
padding: 4px;
}
#mpd.4 {
border-radius: 0px 10px 10px 0px;
margin: 8px 0px 8px 0px;
padding: 4px 10px 4px 14px;
}
#mpd.2,
#mpd.3,
#mpd.4 {
background-color: @base;
font-size: 14px;
}
#custom-swap {
border-radius: 10px;
color: @base;
margin-left: 10px;
background-color: @mauve;
}
#custom-background {
border-radius: 0px 10px 10px 0px;
background-color: @base;
color: white;
padding: 5px 14px 5px 5px;
}
#clock {
/* background-color:#a3be8c; */
color: @sky;
border-radius: 10px;
margin: 8px 10px;
}
#backlight {
color: @yellow;
/* border-bottom: 2px solid @yellow; */
border-radius: 10px 0 0 10px;
}
#battery {
color: #d8dee9;
/* border-bottom: 2px solid #d8dee9; */
border-radius: 0 10px 10px 0;
margin-right: 10px;
}
#battery.charging {
color: #81a1c1;
/* border-bottom: 2px solid #81a1c1; */
}
@keyframes blink {
to {
color: @red;
/* border-bottom: 2px solid @red; */
}
}
#battery.critical:not(.charging) {
color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu {
color: @sky;
/* border-bottom: 2px solid @sky; */
}
#cpu #cpu-icon {
color: @sky;
}
#memory {
color: @sky;
}
#network.disabled {
color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
}
#network {
color: @green;
/* border-bottom: 2px solid @green; */
border-radius: 10px;
margin-right: 5px;
}
#network.disconnected {
color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
}
#pulseaudio {
color: @flamingo;
/* border-bottom: 2px solid @flamingo; */
}
#pulseaudio.muted {
color: #3b4252;
/* border-bottom: 2px solid #3b4252; */
}
#temperature {
color: @teal;
/* border-bottom: 2px solid @teal; */
border-radius: 10px 0 0 10px;
}
#temperature.critical {
color: @red;
/* border-bottom: 2px solid @red; */
}
#idle_inhibitor {
background-color: #ebcb8b;
color: @base;
}
#tray {
/* background-color: @base; */
margin: 8px 10px;
border-radius: 10px;
}
#custom-launcher,
#custom-power {}
#custom-launcher {
background-color: shade(@base, 1.1);
color: @mauve;
border-radius: 0px 15px 0px 0px;
padding: 5px 10px 5px 10px;
border-bottom: 4px solid shade(@mauve, 1.0);
}
#custom-power {
color: @base;
background-color: @red;
border-radius: 10px;
margin-left: 5px;
margin-right: 15px;
padding: 5px 10px;
}
#window {
border-style: hidden;
margin-left: 10px;
/* margin-top:1px;
padding: 8px 1rem; */
margin-right: 10px;
color: #eceff4;
}
#custom-keyboard-layout {
color: @peach;
/* border-bottom: 2px solid @peach; */
border-radius: 0 10px 10px 0;
margin-right: 10px;
}
/* window#waybar {
background: #2d2a2e;
}
* {
color: #c8b9a9;
font-family: Ubuntu Mono, sans-serif;
font-size: 12px;
}
#workspaces button.focused {
color: #f2e5bc;
}
#workspaces button {
color: #c8b9a9;
}
.separator {
background-color: #c8b9a9;
}
#mode {
color: #ebcb8b;
}
#clock {
color: #a3be8c;
}
#battery {
color: #d8dee9;
}
#battery.charging {
color: #b48ead;
}
#battery.critical:not(.charging) {
color: #bf616a;
}
#cpu {
color: #a3be8c;
}
#memory {
color: #d3869b;
}
#network {
color: #8fbcbb;
}
#network.disabled {
color: #bf616a;
}
#network.disconnected {
color: #bf616a;
}
#pulseaudio {
color: #b48ead;
}
#pulseaudio.muted {
color: #bf616a;
}
#temperature {
color: #8fbcbb;
}
#temperature.critical {
color: #bf616a;
} */

413
sway/waybar/style.css Normal file
View File

@ -0,0 +1,413 @@
/* =============================================================================
*
* Waybar configuration
*
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
*
* =========================================================================== */
/* -----------------------------------------------------------------------------
* Keyframes
* -------------------------------------------------------------------------- */
@import "machiatto.css";
/*
Polar Night
nord0 #2e3440
nord1 #3b4252
nord2 #434c5e
nord3 #4c566a
Snow Storm
nord4 #d8dee9
nord5 #e5e9f0
nord6 #eceff4
Frost
nord7 #8fbcbb
nord8 #88c0d0
nord9 #81a1c1
nord10 #5e81ac
Aurora
nord11 #bf616a
nord12 #d08770
nord13 #ebcb8b
nord14 #a3be8c
nord15 #b48ead
*/
/* -----------------------------------------------------------------------------
* Base styles
* -------------------------------------------------------------------------- */
/* Reset all styles */
* {
color: @lavender;
border: 0;
padding: 0 0;
font-family: UbuntuMono;
/* font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; */
/* font-family: "Hack Nerd Font"; */
font-size: 18px;
font-weight: bold;
/* padding-bottom:4px;
padding-top: 4px; */
}
window#waybar {
border: 0px solid rgba(0, 0, 0, 0);
/* border-radius: 10px; */
/* background:#2d2a2e; */
/* background-color: rgba(36, 39, 58, 0.85); */
background-color: rgba(0, 0, 0, 0);
/* background-color: shade(#1e1e2e, 0.95); */
}
#workspaces button {
color: @base;
border-radius: 50%;
/* background-color: @base; */
margin: 0px 0px;
padding: 4px 6px 2px 0px;
}
#workspaces button:hover {
color: @mauve;
box-shadow: none; /* Remove predefined box-shadow */
text-shadow: none; /* Remove predefined text-shadow */
border: 0px;
background: none;
}
#workspaces button:hover * {
color: @mauve;
/* background-color: @base; */
background-color: rgba(36, 39, 58, 0.6);
}
#workspaces * {
color: whitesmoke;
}
#workspaces {
border-style: solid;
/* background-color: @base; */
background-color: rgba(36, 39, 58, 0.6);
opacity: 1;
border-radius: 10px;
margin: 8px 0px 8px 8px;
}
#workspaces button.focused {
color: @mauve;
border-radius: 20px;
/* background-color: @flamingo; */
}
#workspaces button.focused * {
color: @mauve;
}
#mode {
color: #ebcb8b;
}
#clock,
#custom-swap,
#custom-cava-internal,
#battery,
#cpu,
#memory,
#idle_inhibitor,
#temperature,
#custom-keyboard-layout,
#backlight,
#network,
#pulseaudio,
#mode,
#tray,
#custom-power,
#custom-pacman,
#custom-launcher,
#mpd {
padding: 5px 8px;
border-style: solid;
/* background-color: shade(@base, 1); */
background-color: rgba(36, 39, 58, 0.6);
opacity: 1;
margin: 8px 0;
}
/* -----------------------------------------------------------------------------
* Module styles
* -------------------------------------------------------------------------- */
#mpd {
border-radius: 10px;
color: @mauve;
margin-left: 5px;
background-color: rgba(0, 0, 0, 0);
}
#mpd.2 {
border-radius: 10px 0px 0px 10px;
margin: 8px 0px 8px 6px;
padding: 4px 12px 4px 10px;
}
#mpd.3 {
border-radius: 0px 0px 0px 0px;
margin: 8px 0px 8px 0px;
padding: 4px;
}
#mpd.4 {
border-radius: 0px 10px 10px 0px;
margin: 8px 0px 8px 0px;
padding: 4px 10px 4px 14px;
}
#mpd.2,
#mpd.3,
#mpd.4 {
/* background-color: @base; */
background-color: rgba(36, 39, 58, 0.6);
font-size: 14px;
}
#mode {
border-radius: 10px;
color: @mauve;
margin-right: 5px;
}
#custom-cava-internal {
border-radius: 10px;
color: @mauve;
}
#custom-swap {
border-radius: 10px;
color: @base;
margin-left: 15px;
background-color: @mauve;
}
#clock {
/* background-color:#a3be8c; */
color: @sky;
border-radius: 10px;
margin: 8px 10px;
}
#backlight {
color: @yellow;
/* border-bottom: 2px solid @yellow; */
border-radius: 10px 0 0 10px;
}
#battery {
color: #d8dee9;
/* border-bottom: 2px solid #d8dee9; */
border-radius: 0 10px 10px 0;
margin-right: 10px;
}
#battery.charging {
color: #81a1c1;
/* border-bottom: 2px solid #81a1c1; */
}
@keyframes blink {
to {
color: @red;
/* border-bottom: 2px solid @red; */
}
}
#battery.critical:not(.charging) {
color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu {
color: @sky;
/* border-bottom: 2px solid @sky; */
}
#cpu #cpu-icon {
color: @sky;
}
#memory {
color: @sky;
}
#network.disabled {
color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
}
#network {
color: @green;
/* border-bottom: 2px solid @green; */
border-radius: 10px;
margin-right: 5px;
}
#network.disconnected {
color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
}
#pulseaudio {
color: @flamingo;
/* border-bottom: 2px solid @flamingo; */
}
#pulseaudio.muted {
color: #3b4252;
/* border-bottom: 2px solid #3b4252; */
}
#temperature {
color: @teal;
/* border-bottom: 2px solid @teal; */
border-radius: 10px 0 0 10px;
}
#temperature.critical {
color: @red;
/* border-bottom: 2px solid @red; */
}
#idle_inhibitor {
background-color: #ebcb8b;
color: @base;
}
#tray {
/* background-color: @base; */
margin: 8px 10px;
border-radius: 10px;
}
#custom-launcher,
#custom-power {}
#custom-launcher {
background-color: @mauve;
color: @base;
border-radius: 10px;
padding: 5px 10px;
margin-left: 15px;
}
#custom-power {
color: @base;
background-color: @red;
border-radius: 10px;
margin-left: 5px;
margin-right: 15px;
padding: 5px 10px;
}
#window {
border-style: hidden;
margin-left: 10px;
/* margin-top:1px;
padding: 8px 1rem; */
margin-right: 10px;
color: #eceff4;
}
#custom-keyboard-layout {
color: @peach;
/* border-bottom: 2px solid @peach; */
border-radius: 0 10px 10px 0;
margin-right: 10px;
}
/* window#waybar {
background: #2d2a2e;
}
* {
color: #c8b9a9;
font-family: Ubuntu Mono, sans-serif;
font-size: 12px;
}
#workspaces button.focused {
color: #f2e5bc;
}
#workspaces button {
color: #c8b9a9;
}
.separator {
background-color: #c8b9a9;
}
#mode {
color: #ebcb8b;
}
#clock {
color: #a3be8c;
}
#battery {
color: #d8dee9;
}
#battery.charging {
color: #b48ead;
}
#battery.critical:not(.charging) {
color: #bf616a;
}
#cpu {
color: #a3be8c;
}
#memory {
color: #d3869b;
}
#network {
color: #8fbcbb;
}
#network.disabled {
color: #bf616a;
}
#network.disconnected {
color: #bf616a;
}
#pulseaudio {
color: #b48ead;
}
#pulseaudio.muted {
color: #bf616a;
}
#temperature {
color: #8fbcbb;
}
#temperature.critical {
color: #bf616a;
} */

82
swayr/config.toml Normal file
View File

@ -0,0 +1,82 @@
[menu]
executable = 'wofi'
args = [
'--show=dmenu',
'--allow-markup',
'--allow-images',
'--insensitive',
'--cache-file=/dev/null',
'--parse-search',
'--height=40%',
'--prompt={prompt}',
]
[format]
output_format = '{indent}<b>Output {name}</b> <span alpha="20000">({id})</span>'
workspace_format = '{indent}<b>Workspace {name} [{layout}]</b> on output {output_name} <span alpha="20000">({id})</span>'
container_format = '{indent}<b>Container [{layout}]</b> <i>{marks}</i> on workspace {workspace_name} <span alpha="20000">({id})</span>'
window_format = 'img:{app_icon}:text:{indent}<i>{app_name}</i> — {urgency_start}<b>“{title}”</b>{urgency_end} <i>{marks}</i> on workspace {workspace_name} / {output_name} <span alpha="20000">({id})</span>'
indent = ' '
urgency_start = '<span background="darkred" foreground="yellow">'
urgency_end = '</span>'
html_escape = true
icon_dirs = [
'/usr/share/icons/hicolor/scalable/apps',
'/usr/share/icons/hicolor/128x128/apps',
'/usr/share/icons/hicolor/64x64/apps',
'/usr/share/icons/hicolor/48x48/apps',
'/usr/share/icons/Adwaita/64x64/apps',
'/usr/share/icons/Adwaita/48x48/apps',
'/usr/share/pixmaps',
]
[layout]
auto_tile = false
auto_tile_min_window_width_per_output_width = [
[
800,
400,
],
[
1024,
500,
],
[
1280,
600,
],
[
1400,
680,
],
[
1440,
700,
],
[
1600,
780,
],
[
1920,
920,
],
[
2560,
1000,
],
[
3440,
1000,
],
[
4096,
1200,
],
]
[focus]
lockin_delay = 750
[misc]
seq_inhibit = false

3
wob/default.ini Normal file
View File

@ -0,0 +1,3 @@
background_color = cc3a3a3a
bar_color = ffdcbb8c
border_color = ffdcbb8c

11
wob/wob.ini Normal file
View File

@ -0,0 +1,11 @@
background_color = 24273a
bar_color = f4dbd6
border_color = f4dbd6
overflow_background_color = 24273a
overflow_bar_color = ed8796
overflow_border_color = ed8796
anchor = center
margin = 0
border_size = 1
bar_padding = 5
height = 40

13
wofi/.build.yml Normal file
View File

@ -0,0 +1,13 @@
image: debian/sid
packages:
- build-essential
- libwayland-dev
- libgtk-3-dev
- pkgconf
- meson
tasks:
- build: |
cd wofi
meson setup build
ninja -C build

BIN
wofi/.hg/00changelog.i Normal file

Binary file not shown.

1
wofi/.hg/branch Normal file
View File

@ -0,0 +1 @@
default

2
wofi/.hg/cache/branch2-base vendored Normal file
View File

@ -0,0 +1,2 @@
3f4a8c8c18d124741aae61433841e8666a449559 438
3f4a8c8c18d124741aae61433841e8666a449559 o default

2
wofi/.hg/cache/branch2-immutable vendored Normal file
View File

@ -0,0 +1,2 @@
3f4a8c8c18d124741aae61433841e8666a449559 438
3f4a8c8c18d124741aae61433841e8666a449559 o default

2
wofi/.hg/cache/branch2-served vendored Normal file
View File

@ -0,0 +1,2 @@
3f4a8c8c18d124741aae61433841e8666a449559 438
3f4a8c8c18d124741aae61433841e8666a449559 o default

2
wofi/.hg/cache/branch2-served.hidden vendored Normal file
View File

@ -0,0 +1,2 @@
3f4a8c8c18d124741aae61433841e8666a449559 438
3f4a8c8c18d124741aae61433841e8666a449559 o default

2
wofi/.hg/cache/branch2-visible vendored Normal file
View File

@ -0,0 +1,2 @@
3f4a8c8c18d124741aae61433841e8666a449559 438
3f4a8c8c18d124741aae61433841e8666a449559 o default

2
wofi/.hg/cache/branch2-visible-hidden vendored Normal file
View File

@ -0,0 +1,2 @@
3f4a8c8c18d124741aae61433841e8666a449559 438
3f4a8c8c18d124741aae61433841e8666a449559 o default

1
wofi/.hg/cache/hgtagsfnodes1 vendored Normal file

File diff suppressed because one or more lines are too long

1
wofi/.hg/cache/rbc-names-v1 vendored Normal file
View File

@ -0,0 +1 @@
default

BIN
wofi/.hg/cache/rbc-revs-v1 vendored Normal file

Binary file not shown.

13
wofi/.hg/cache/tags2 vendored Normal file
View File

@ -0,0 +1,13 @@
438 3f4a8c8c18d124741aae61433841e8666a449559
b5784591ff8262c9d2752e2d764ca001a8ab18a8 v1.0
0e605f0b5b21ec77c9657d476d7c21856b284048 v1.1
fc1124ee262b729ce6fee9f110ba7d7c7d11c82f v1.1.1
96d47bb081be70e8866da71b5c9200f05f11557b v1.1.2
afda93e153f6f393f441d8f42a7d0f66ea8f061a v1.2
d24ec159f64442dd28774417295b2aa04bed76c6 v1.2.1
b352d73b652aadd3b9da064267d6f3fa26007c25 v1.2.2
e208549963dcd4ae89a18290aa598814c0b8eeb7 v1.2.3
84e91980936bf85a854cee6881398cff9d27fce4 v1.2.4
1c32143a8460e01559e141c291500a6f4ddcf18c v1.3
eab2b31e805564012e4f71920a8f87ba5f9f798c v1.4
1e89e8a94806ef2dd27dbf79b4fcc9902f89c422 v1.4.1

13
wofi/.hg/cache/tags2-served vendored Normal file
View File

@ -0,0 +1,13 @@
438 3f4a8c8c18d124741aae61433841e8666a449559
b5784591ff8262c9d2752e2d764ca001a8ab18a8 v1.0
0e605f0b5b21ec77c9657d476d7c21856b284048 v1.1
fc1124ee262b729ce6fee9f110ba7d7c7d11c82f v1.1.1
96d47bb081be70e8866da71b5c9200f05f11557b v1.1.2
afda93e153f6f393f441d8f42a7d0f66ea8f061a v1.2
d24ec159f64442dd28774417295b2aa04bed76c6 v1.2.1
b352d73b652aadd3b9da064267d6f3fa26007c25 v1.2.2
e208549963dcd4ae89a18290aa598814c0b8eeb7 v1.2.3
84e91980936bf85a854cee6881398cff9d27fce4 v1.2.4
1c32143a8460e01559e141c291500a6f4ddcf18c v1.3
eab2b31e805564012e4f71920a8f87ba5f9f798c v1.4
1e89e8a94806ef2dd27dbf79b4fcc9902f89c422 v1.4.1

13
wofi/.hg/cache/tags2-visible vendored Normal file
View File

@ -0,0 +1,13 @@
438 3f4a8c8c18d124741aae61433841e8666a449559
b5784591ff8262c9d2752e2d764ca001a8ab18a8 v1.0
0e605f0b5b21ec77c9657d476d7c21856b284048 v1.1
fc1124ee262b729ce6fee9f110ba7d7c7d11c82f v1.1.1
96d47bb081be70e8866da71b5c9200f05f11557b v1.1.2
afda93e153f6f393f441d8f42a7d0f66ea8f061a v1.2
d24ec159f64442dd28774417295b2aa04bed76c6 v1.2.1
b352d73b652aadd3b9da064267d6f3fa26007c25 v1.2.2
e208549963dcd4ae89a18290aa598814c0b8eeb7 v1.2.3
84e91980936bf85a854cee6881398cff9d27fce4 v1.2.4
1c32143a8460e01559e141c291500a6f4ddcf18c v1.3
eab2b31e805564012e4f71920a8f87ba5f9f798c v1.4
1e89e8a94806ef2dd27dbf79b4fcc9902f89c422 v1.4.1

BIN
wofi/.hg/dirstate Normal file

Binary file not shown.

14
wofi/.hg/hgrc Normal file
View File

@ -0,0 +1,14 @@
# example repository config (see 'hg help config' for more info)
[paths]
default = https://hg.sr.ht/~scoopta/wofi
# path aliases to other clones of this repo in URLs or filesystem paths
# (see 'hg help config.paths' for more info)
#
# default:pushurl = ssh://jdoe@example.net/hg/jdoes-fork
# my-fork = ssh://jdoe@example.net/hg/jdoes-fork
# my-clone = /home/jdoe/jdoes-clone
[ui]
# name and email (local to this repository, optional), e.g.
# username = Jane Doe <jdoe@example.com>

1
wofi/.hg/requires Normal file
View File

@ -0,0 +1 @@
share-safe

Binary file not shown.

BIN
wofi/.hg/store/00manifest.i Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More