Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 39cfac6073 | |||
| 1b3849ccd3 |
@@ -0,0 +1,164 @@
|
|||||||
|
[env]
|
||||||
|
TERM = "xterm-256color"
|
||||||
|
WINIT_X11_SCALE_FACTOR = "1"
|
||||||
|
|
||||||
|
[window]
|
||||||
|
dynamic_padding = true
|
||||||
|
decorations = "full"
|
||||||
|
title = "Alacritty@CachyOS"
|
||||||
|
opacity = 0.5
|
||||||
|
decorations_theme_variant = "Dark"
|
||||||
|
|
||||||
|
[window.dimensions]
|
||||||
|
columns = 100
|
||||||
|
lines = 30
|
||||||
|
|
||||||
|
[window.class]
|
||||||
|
instance = "Alacritty"
|
||||||
|
general = "Alacritty"
|
||||||
|
|
||||||
|
[scrolling]
|
||||||
|
history = 10000
|
||||||
|
multiplier = 3
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
draw_bold_text_with_bright_colors = true
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
background = "0x202020"
|
||||||
|
foreground = "0xD8DEE9"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "0x3B4252"
|
||||||
|
red = "0xBF616A"
|
||||||
|
green = "0xA3BE8C"
|
||||||
|
yellow = "0xEBCB8B"
|
||||||
|
blue = "0x81A1C1"
|
||||||
|
magenta = "0xB48EAD"
|
||||||
|
cyan = "0x88C0D0"
|
||||||
|
white = "0xE5E9F0"
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "0x4C566A"
|
||||||
|
red = "0xBF616A"
|
||||||
|
green = "0xA3BE8C"
|
||||||
|
yellow = "0xEBCB8B"
|
||||||
|
blue = "0x81A1C1"
|
||||||
|
magenta = "0xB48EAD"
|
||||||
|
cyan = "0x8FBCBB"
|
||||||
|
white = "0xECEFF4"
|
||||||
|
|
||||||
|
[font]
|
||||||
|
size = 12
|
||||||
|
|
||||||
|
[font.normal]
|
||||||
|
family = "monospace"
|
||||||
|
style = "Regular"
|
||||||
|
|
||||||
|
[font.bold]
|
||||||
|
family = "monospace"
|
||||||
|
style = "Bold"
|
||||||
|
|
||||||
|
[font.italic]
|
||||||
|
family = "monospace"
|
||||||
|
style = "Italic"
|
||||||
|
|
||||||
|
[font.bold_italic]
|
||||||
|
family = "monospace"
|
||||||
|
style = "Bold Italic"
|
||||||
|
|
||||||
|
[selection]
|
||||||
|
semantic_escape_chars = ",│`|:\"' ()[]{}<>\t"
|
||||||
|
save_to_clipboard = true
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
style = "Block"
|
||||||
|
vi_mode_style = "None"
|
||||||
|
unfocused_hollow = true
|
||||||
|
thickness = 0.15
|
||||||
|
|
||||||
|
[mouse]
|
||||||
|
hide_when_typing = true
|
||||||
|
|
||||||
|
[[mouse.bindings]]
|
||||||
|
mouse = "Middle"
|
||||||
|
action = "PasteSelection"
|
||||||
|
|
||||||
|
[keyboard]
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "Paste"
|
||||||
|
action = "Paste"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "Copy"
|
||||||
|
action = "Copy"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "L"
|
||||||
|
mods = "Control"
|
||||||
|
action = "ClearLogNotice"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "L"
|
||||||
|
mods = "Control"
|
||||||
|
mode = "~Vi"
|
||||||
|
chars = "\f"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "PageUp"
|
||||||
|
mods = "Shift"
|
||||||
|
mode = "~Alt"
|
||||||
|
action = "ScrollPageUp"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "PageDown"
|
||||||
|
mods = "Shift"
|
||||||
|
mode = "~Alt"
|
||||||
|
action = "ScrollPageDown"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "Home"
|
||||||
|
mods = "Shift"
|
||||||
|
mode = "~Alt"
|
||||||
|
action = "ScrollToTop"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "End"
|
||||||
|
mods = "Shift"
|
||||||
|
mode = "~Alt"
|
||||||
|
action = "ScrollToBottom"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "V"
|
||||||
|
mods = "Control|Shift"
|
||||||
|
action = "Paste"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "C"
|
||||||
|
mods = "Control|Shift"
|
||||||
|
action = "Copy"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "F"
|
||||||
|
mods = "Control|Shift"
|
||||||
|
action = "SearchForward"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "B"
|
||||||
|
mods = "Control|Shift"
|
||||||
|
action = "SearchBackward"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "C"
|
||||||
|
mods = "Control|Shift"
|
||||||
|
mode = "Vi"
|
||||||
|
action = "ClearSelection"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
key = "Key0"
|
||||||
|
mods = "Control"
|
||||||
|
action = "ResetFontSize"
|
||||||
|
|
||||||
|
[general]
|
||||||
|
live_config_reload = true
|
||||||
|
working_directory = "None"
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json",
|
||||||
|
"logo": {
|
||||||
|
//"source": "~/.config/fastfetch/logos/batman-beyond.txt",
|
||||||
|
//"source": "~/.config/fastfetch/logos/bb.txt",
|
||||||
|
"source": "~/.config/fastfetch/logos/bb-mid.txt",
|
||||||
|
"color": {
|
||||||
|
"1": "#FF0000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"display": {
|
||||||
|
"separator": ": ", // Separator between keys and values
|
||||||
|
"color": {
|
||||||
|
"keys": "black", // Key color
|
||||||
|
"title": "#FF0000" // Title color
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"width": 20, // Aligns keys to this width
|
||||||
|
"type": "string" // string, icon, both, or none
|
||||||
|
},
|
||||||
|
"bar": {
|
||||||
|
"width": 10, // Width of percentage bars
|
||||||
|
"char": {
|
||||||
|
"elapsed": "■", // Character for elapsed portion
|
||||||
|
"total": "-" // Character for total portion
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"percent": {
|
||||||
|
"type": 3, // 1=number, 2=bar, 3=both, 9=colored number
|
||||||
|
"color": {
|
||||||
|
"green": "green",
|
||||||
|
"yellow": "light_yellow",
|
||||||
|
"red": "light_red"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"title",
|
||||||
|
"separator",
|
||||||
|
"os",
|
||||||
|
"host",
|
||||||
|
"kernel",
|
||||||
|
"uptime",
|
||||||
|
"packages",
|
||||||
|
"shell",
|
||||||
|
"display",
|
||||||
|
"de",
|
||||||
|
"wm",
|
||||||
|
"wmtheme",
|
||||||
|
"theme",
|
||||||
|
"icons",
|
||||||
|
"font",
|
||||||
|
"cursor",
|
||||||
|
"terminal",
|
||||||
|
"terminalfont",
|
||||||
|
"cpu",
|
||||||
|
"gpu",
|
||||||
|
"memory",
|
||||||
|
"swap",
|
||||||
|
"disk",
|
||||||
|
"localip",
|
||||||
|
"battery",
|
||||||
|
"poweradapter",
|
||||||
|
"locale",
|
||||||
|
"break",
|
||||||
|
"colors"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json",
|
||||||
|
"display": {
|
||||||
|
"key": {
|
||||||
|
"width": 10
|
||||||
|
},
|
||||||
|
"separator": ""
|
||||||
|
},
|
||||||
|
"logo": {
|
||||||
|
"type": "auto",
|
||||||
|
"source": "~/.config/fastfetch/logos/bb-smaller.txt",
|
||||||
|
"color": {
|
||||||
|
"1": "#FF0000"
|
||||||
|
},
|
||||||
|
"padding": {
|
||||||
|
"top": 1,
|
||||||
|
"left": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"break",
|
||||||
|
{
|
||||||
|
"type": "os",
|
||||||
|
"key": " OS",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"format": "{name} {version-id}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"key": " KER",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"text": "echo $(uname -r | cut -d- -f1) $(uname -m)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "packages",
|
||||||
|
"key": " PKG",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"format": "{all}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "localip",
|
||||||
|
"key": "{icon} IP",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"showIPv4": true,
|
||||||
|
"showPrefixLen": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "display",
|
||||||
|
"key": "{icon} DISP",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"compactType": "original-with-refresh-rate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "memory",
|
||||||
|
"key": " RAM",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"format": "{used} / {total} ({percentage})"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "disk",
|
||||||
|
"key": " SSD",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"folders": "/",
|
||||||
|
"format": "{size-used} / {size-total} ({size-percentage})"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "battery",
|
||||||
|
"key": "{icon} BATT",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"percentage": {
|
||||||
|
"green": "70",
|
||||||
|
"yellow": "25"
|
||||||
|
},
|
||||||
|
"format": "{capacity} [{status}] {time-formatted} rem."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "wm",
|
||||||
|
"key": "{icon} WM",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"format": "{pretty-name}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "terminal",
|
||||||
|
"key": " TERM",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"format": "{pretty-name}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"key": " SH",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"format": "{pretty-name}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "uptime",
|
||||||
|
"keyColor": "#FF0000",
|
||||||
|
"key": " UP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"format": "{#1;38;2;255;0;0}COLORS {#1;38;2;0;0;0} {#1;38;2;255;0;0} {#1;38;2;0;128;0} {#1;38;2;128;128;0} {#1;38;2;0;0;255} {#1;38;2;128;0;128} {#1;38;2;0;128;128} {#1;38;2;255;255;255}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"format": " {#1;38;2;128;128;128} {#1;38;2;255;0;128} {#1;38;2;0;255;0} {#1;38;2;255;255;0} {#1;38;2;0;150;255} {#1;38;2;255;0;255} {#1;38;2;0;255;255} {#1;38;2;128;128;128}"
|
||||||
|
},
|
||||||
|
"break"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,274 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||||
|
"logo": {
|
||||||
|
"type": "auto",
|
||||||
|
"source": "~/.config/fastfetch/logos/batman-beyond.txt",
|
||||||
|
"padding": {
|
||||||
|
"top": 2, // Top padding
|
||||||
|
"left": 2, // Left padding
|
||||||
|
"right": 2 // Right padding
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"1": "#FF0000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"display": {
|
||||||
|
"color": {
|
||||||
|
"keys": "#FF0000"
|
||||||
|
},
|
||||||
|
"separator": "",
|
||||||
|
"constants": [
|
||||||
|
"─────────────────────────────────────────────────────────", // {$1} - horizontal line for borders
|
||||||
|
"\u001b[58D", // {$2} - move cursor left 55 columns
|
||||||
|
"\u001b[58C", // {$3} - move cursor right 55 columns
|
||||||
|
"\u001b[57C", // {$4} - move cursor right 54 columns
|
||||||
|
"│" // {$5} - vertical borders
|
||||||
|
],
|
||||||
|
"brightColor": false
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"break",
|
||||||
|
{
|
||||||
|
"type": "version",
|
||||||
|
"key": "╭─────────────┬─{$1}╮\u001b[42D",
|
||||||
|
"format": "\u001b[1m{#keys} {1} - {2} "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "os",
|
||||||
|
"key": "{$5}{#white} \u001b[s{#37}{sysname}\u001b[u\u001b[10C{#30}{#keys}{$5}{$3}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "kernel",
|
||||||
|
"key": "{$5}{#37} {icon} \u001b[s{#37}Kernel\u001b[u\u001b[10C{#keys}{$5}{$3}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "packages",
|
||||||
|
"key": "{$5}{#37} {icon}{#white} \u001b[s{#37}Packages{#37} {#red} {#keys}{$5} {$4}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "localip",
|
||||||
|
"key": "{$5}{#37} {icon}{#white} {#37}Local IP{#37} {#keys}{$5}{$3}{$5}{$2}",
|
||||||
|
"showIpv4": true,
|
||||||
|
"showIpv6": false,
|
||||||
|
"showMac": false,
|
||||||
|
"showLoop": false,
|
||||||
|
"showPrefixLen": true,
|
||||||
|
"showMtu": false,
|
||||||
|
"showSpeed": true,
|
||||||
|
"showFlags": false,
|
||||||
|
"compact": true,
|
||||||
|
"defaultRouteOnly": false,
|
||||||
|
"showAllIps": true,
|
||||||
|
"namePrefix": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "locale",
|
||||||
|
"key": "{$5}{#37} {icon} {#37}Locale{#37} {#keys}{$5}{$3}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "├─────────────┴─{$1}┤", // Bottom border of the entire layout
|
||||||
|
"format": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
// Hardware section with cyan color theme
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╭────────────┬{$1}╮{#keys}{$5}\u001b[36D",
|
||||||
|
"format": "{#bright_white} Hardware "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "board",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Board{#37} {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "cpu",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}CPU{#37} {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
"format": "{name} @{freq-max}",
|
||||||
|
"showPeCoreCount": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "gpu",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}GPU{#37} {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
"temp": true,
|
||||||
|
"showPeCoreCount": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "display",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Display{#37} {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
"compactType": "original-with-refresh-rate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╰────────────┴{$1}╯{#keys}{$5}",
|
||||||
|
"format": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╭────────────┬{$1}╮{#keys}{$5}\u001b[36D",
|
||||||
|
"format": "{#bright_white} Memory & Storage "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "memory",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}RAM{#37} {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
// "keyColor": "34",
|
||||||
|
"percent": {
|
||||||
|
"type": 3, // 3 = show number + bar + percentage
|
||||||
|
"green": 30, // <30% is green
|
||||||
|
"yellow": 70 // 30-70% is yellow, >70% is red
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "swap",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}SWAP{#37} {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
// "keyColor": "34",
|
||||||
|
"percent": {
|
||||||
|
"type": 3, // 3 = show number + bar + percentage
|
||||||
|
"green": 30, // <30% is green
|
||||||
|
"yellow": 70 // 30-70% is yellow, >70% is red
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "disk",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Disk{#37} {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
// "keyColor": "34",
|
||||||
|
"percent": {
|
||||||
|
"type": 3, // 3 = show number + bar + percentage
|
||||||
|
"green": 30, // <30% is green
|
||||||
|
"yellow": 70 // 30-70% is yellow, >70% is red
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "battery",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Battery{#37} {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╰────────────┴{$1}╯{#keys}{$5}",
|
||||||
|
"format": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
// Desktop section
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╭────────────┬{$1}╮{#keys}{$5}\u001b[36D",
|
||||||
|
"format": "{#bright_white} Desktop "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "de",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Desktop{#37} {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
"slowVersionDetection": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "wm",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Session{#37} {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
"detectPlugin": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "font",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Font{#37} {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "lm",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Greeter{#37} {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╰────────────┴{$1}╯{#keys}{$5}",
|
||||||
|
"format": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
// Terminal section
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╭────────────┬{$1}╮{#keys}{$5}\u001b[37D",
|
||||||
|
"format": "{#bright_white} Terminal "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "terminal",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Term{#37} {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Shell{#37} {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "terminalfont",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Font{#37} {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// "type": "terminaltheme",
|
||||||
|
// "key": "{$5}{#white}{$5}{#37}{icon} {#37}Colors{#37} {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╰────────────┴{$1}╯{#keys}{$5}",
|
||||||
|
"format": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╭────────────┬{$1}╮{#keys}{$5}\u001b[36D",
|
||||||
|
"format": "{#bright_white} Uptime "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "uptime",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Uptime{#37} {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "datetime",
|
||||||
|
"key": "{$5}{#white}{$5} {#37}{icon} {#37}Fetched{#37} {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
"format": "{day-pretty}-{month-pretty}-{year} {hour-pretty}:{minute-pretty}:{second-pretty} {timezone-name}"
|
||||||
|
},
|
||||||
|
//{
|
||||||
|
// "condition": { // Conditional module: only show on non-macOS
|
||||||
|
// "!system": "macOS"
|
||||||
|
// },
|
||||||
|
// "type": "disk",
|
||||||
|
// "key": "{$5}{#white}{$5} OS Age {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
// "folders": "/", // Check root filesystem
|
||||||
|
// "format": "{create-time:10} [{days} days]" // Show creation time and age in days
|
||||||
|
//},
|
||||||
|
//{
|
||||||
|
// "condition": { // Conditional module: only show on macOS
|
||||||
|
// "system": "macOS"
|
||||||
|
// },
|
||||||
|
// "type": "disk",
|
||||||
|
// "key": "{$5}{#white}{$5} OS Age {$5}{$4}{$5}{#keys}{$5}{$2}",
|
||||||
|
// "folders": "/System/Volumes/VM", // Work around for APFS on macOS
|
||||||
|
// "format": "{create-time:10} [{days} days]"
|
||||||
|
//},
|
||||||
|
//{
|
||||||
|
// "type": "users",
|
||||||
|
// "myselfOnly": true, // Only show current user
|
||||||
|
// "key": "{$5}{#white}{$5} Login {$5}{$4}{$5}{#keys}{$5}{$2}"
|
||||||
|
//
|
||||||
|
//},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5}{#white}╰────────────┴{$1}╯{#keys}{$5}",
|
||||||
|
"format": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5} {$3} {$5}{$2}",
|
||||||
|
"format":" {#1;48;2;0;0;0} {#1;48;2;255;0;0} {#1;48;2;0;128;0} {#1;48;2;128;128;0} {#1;48;2;0;0;255} {#1;48;2;128;0;128} {#1;48;2;0;128;128} {#1;48;2;255;255;255} "
|
||||||
|
//"format":" {#1;48;2;0;0;0}{#1;38;2;255;0;0}{#1;38;2;0;128;0}{#1;38;2;128;128;0}{#1;38;2;0;0;255}{#1;38;2;128;0;128}{#1;38;2;0;128;128}{#1;38;2;255;255;255}"
|
||||||
|
//"format":" {#black} {#white} {#red} {#yellow} {#green} {#blue} {#cyan} {#magenta} "
|
||||||
|
//"format":" {#black} {#white} {#red} {#yellow} {#green} {#blue} {#cyan} {#magenta} "
|
||||||
|
//"format":" {#black} {#white} {#red} {#yellow} {#green} {#blue} {#cyan} {#magenta} "
|
||||||
|
//"format":" {#black} {#white} {#red} {#yellow} {#green} {#blue} {#cyan} {#magenta} "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "{$5} {$3} {$5}{$2}",
|
||||||
|
"format":" {#1;48;2;128;128;128} {#1;48;2;255;0;128} {#1;48;2;0;255;0} {#1;48;2;255;255;0} {#1;48;2;0;150;255} {#1;48;2;255;0;255} {#1;48;2;0;255;255} {#1;48;2;128;128;128} "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"key": "╰───────────────{$1}╯", // Bottom border of the entire layout
|
||||||
|
"format": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
$1 +## -##
|
||||||
|
$1 ###### +#####
|
||||||
|
$1 ######### #########:
|
||||||
|
$1 =############: #############
|
||||||
|
$1 ################= ################
|
||||||
|
$1 #################* ##################
|
||||||
|
$1 :################ #################
|
||||||
|
$1 ################ ################-
|
||||||
|
$1 ################ # # +###############
|
||||||
|
$1 ###############* ## ## =###############
|
||||||
|
$1 ################ ### ###+ ################-
|
||||||
|
$1 *################ ############ #################
|
||||||
|
$1 ################# ############ ##################
|
||||||
|
$1 :################## =############ +##################
|
||||||
|
$1 #################### ############## *####################
|
||||||
|
$1 #########################################################*
|
||||||
|
$1 ##############################################-
|
||||||
|
$1 ######################################:
|
||||||
|
$1 ################################
|
||||||
|
$1 ##########################+
|
||||||
|
$1 ######################:
|
||||||
|
$1 ##################-
|
||||||
|
$1 -###############
|
||||||
|
$1 ############
|
||||||
|
$1 =#########
|
||||||
|
$1 ######=
|
||||||
|
$1 ####
|
||||||
|
$1 ##
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%@@@@@@@@@@@@@@@@@@@@@@@@@@@ * + @@@@@@@@@@@@@@@@@@@@@@@@@@@%
|
||||||
|
-@@@@@@@@@@@@@@@@@@@@@@@@@ @ @ @@@@@@@@@@@@@@@@@@@@@@@@@-
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@+ :@@@@@@ =@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:
|
||||||
|
=@@@@@@@@@@@@@@@@@@=
|
||||||
|
@@@@@@@@@@@@
|
||||||
|
@@@@@@@@
|
||||||
|
@@@@
|
||||||
|
@@
|
||||||
|
:
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
$1 ### ###
|
||||||
|
$1 ###### ######
|
||||||
|
$1 ######## ########
|
||||||
|
$1 ########## ##########
|
||||||
|
$1 ############ ############
|
||||||
|
$1 ############ ############
|
||||||
|
$1 ########### # # ###########
|
||||||
|
$1 ########### ## ## ###########
|
||||||
|
$1 ########### ###### ###########
|
||||||
|
$1 ########### ######## ###########
|
||||||
|
$1 ########### ########## ############
|
||||||
|
$1 ############################################
|
||||||
|
$1 ##########################################
|
||||||
|
$1 ##################################
|
||||||
|
$1 ##########################
|
||||||
|
$1 ####################
|
||||||
|
$1 ################
|
||||||
|
$1 ############
|
||||||
|
$1 #########
|
||||||
|
$1 ######
|
||||||
|
$1 ####
|
||||||
|
$1 ##
|
||||||
|
$1
|
||||||
|
$1
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
$1 # #
|
||||||
|
$1 ### ###
|
||||||
|
$1 ##### #####
|
||||||
|
$1 ###### ######
|
||||||
|
$1 ##### # # #####
|
||||||
|
$1 ###### ### ######
|
||||||
|
$1 ####### ####### #######
|
||||||
|
$1 #####################
|
||||||
|
$1 #############
|
||||||
|
$1 #########
|
||||||
|
$1 #####
|
||||||
|
$1 ###
|
||||||
|
$1 #
|
||||||
|
$1
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
$1 # #
|
||||||
|
$1 ### ###
|
||||||
|
$1 ###### ######
|
||||||
|
$1 ######## ########
|
||||||
|
$1 ######### #########
|
||||||
|
$1 ######## # # #########
|
||||||
|
$1 ######### ##### #########
|
||||||
|
$1 ######## ##### ########
|
||||||
|
$1 ######### ####### #########
|
||||||
|
$1 ###################################
|
||||||
|
$1 #############################
|
||||||
|
$1 #####################
|
||||||
|
$1 ###############
|
||||||
|
$1 ###########
|
||||||
|
$1 #######
|
||||||
|
$1 #####
|
||||||
|
$1 ###
|
||||||
|
$1 #
|
||||||
|
$1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#-
|
||||||
|
#-
|
||||||
|
##########-
|
||||||
|
####++++++#------####
|
||||||
|
-##+++++++++++#----------###
|
||||||
|
##++++++++++++++#-------------##+
|
||||||
|
##++++++++++++++++#---------------##-
|
||||||
|
##+++++++++++++++++#-----------------## -
|
||||||
|
-#+++++++++++++++++++#------------------###+
|
||||||
|
+#++++++++++++++++++++#-------------------##+
|
||||||
|
#+++++++++++++++++++++#------------------####-
|
||||||
|
##+++++++++++++++++++++#--------------#########
|
||||||
|
#++++++++++++++++++++++#----------##########--#+
|
||||||
|
##++++++++++++++++++++++#--------#### ###--#+
|
||||||
|
##++++++++++++++++++++++------#### ###---##
|
||||||
|
##########################++---#### ############-
|
||||||
|
##++++++++++++++++++++++-----### -###----##
|
||||||
|
##++++++++++++++++++++++#------### #####-----#+
|
||||||
|
#++++++++++++++++++++++#-------########------##-
|
||||||
|
##+++++++++++++++++++++#---------------------##
|
||||||
|
##++++++++++++++++++++#--------------------##-
|
||||||
|
##+++++++++++++++++++#-------------------##-
|
||||||
|
##++++++++++++++++++#------------------##-
|
||||||
|
##++++++++++++++++#----------------##+
|
||||||
|
###++++++++++++++#--------------###-
|
||||||
|
-##++++++++++++#------------###-
|
||||||
|
####++++++++#--------####+
|
||||||
|
-+################+-
|
||||||
|
-+#+--
|
||||||
|
#-
|
||||||
|
+-
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
@@@@ @@@@
|
||||||
|
@@@@@@@@@@ @@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@ @@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@ @
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@ @@@@@@@@@@@@@@@@@@@@@@ @@@@@@
|
||||||
|
@@ @@@@@@@@@@@@@@@@@@@@@@ @@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@@
|
||||||
|
@@@@@@@@
|
||||||
|
@@@@@
|
||||||
|
@@
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# ====================================================================
|
||||||
|
# auth: alex
|
||||||
|
# file: .alias
|
||||||
|
# revn: 04-19-2026 2.0
|
||||||
|
# func: define useful fish aliases
|
||||||
|
#
|
||||||
|
# TODO: make boom more robust (scp, etc)
|
||||||
|
# ====================================================================
|
||||||
|
# r au mm-dd-yyyy: CHANGE LOG
|
||||||
|
# --------------------------------------------------------------------
|
||||||
|
# ac 04-??-2026: init
|
||||||
|
# ac 04-16-2026: added gg alias
|
||||||
|
# * ac 04-19-2026: added boom alias
|
||||||
|
# added knight alias
|
||||||
|
# * ac 04-22-2026: fixed insane ranger/knight bug
|
||||||
|
#
|
||||||
|
# ====================================================================
|
||||||
|
|
||||||
|
# Useful aliases
|
||||||
|
|
||||||
|
|
||||||
|
# vim assumes tabs instead of buffers
|
||||||
|
alias vim="vim -p"
|
||||||
|
|
||||||
|
# make ranger sound more batman-like
|
||||||
|
alias knight="ranger"
|
||||||
|
|
||||||
|
# boomtube reference
|
||||||
|
alias boom="ssh"
|
||||||
|
|
||||||
|
# shorthand for fastfetch
|
||||||
|
alias ff="fastfetch"
|
||||||
|
|
||||||
|
# forfeit
|
||||||
|
alias FF="shutdown now"
|
||||||
|
|
||||||
|
# good game
|
||||||
|
alias gg="sudo reboot now"
|
||||||
|
|
||||||
@@ -0,0 +1,136 @@
|
|||||||
|
## Source from conf.d before our fish config
|
||||||
|
source /usr/share/cachyos-fish-config/conf.d/done.fish
|
||||||
|
|
||||||
|
|
||||||
|
## Set values
|
||||||
|
## Run fastfetch as welcome message
|
||||||
|
function fish_greeting
|
||||||
|
fastfetch
|
||||||
|
end
|
||||||
|
|
||||||
|
# Format man pages
|
||||||
|
set -x MANROFFOPT "-c"
|
||||||
|
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||||
|
|
||||||
|
# Set settings for https://github.com/franciscolourenco/done
|
||||||
|
set -U __done_min_cmd_duration 10000
|
||||||
|
set -U __done_notification_urgency_level low
|
||||||
|
|
||||||
|
## Environment setup
|
||||||
|
# Apply .profile: use this to put fish compatible .profile stuff in
|
||||||
|
if test -f ~/.fish_profile
|
||||||
|
source ~/.fish_profile
|
||||||
|
end
|
||||||
|
|
||||||
|
# Add ~/.local/bin to PATH
|
||||||
|
if test -d ~/.local/bin
|
||||||
|
if not contains -- ~/.local/bin $PATH
|
||||||
|
set -p PATH ~/.local/bin
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Add depot_tools to PATH
|
||||||
|
if test -d ~/Applications/depot_tools
|
||||||
|
if not contains -- ~/Applications/depot_tools $PATH
|
||||||
|
set -p PATH ~/Applications/depot_tools
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
## Functions
|
||||||
|
# Functions needed for !! and !$ https://github.com/oh-my-fish/plugin-bang-bang
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# Fish command history
|
||||||
|
function history
|
||||||
|
builtin history --show-time='%F %T '
|
||||||
|
end
|
||||||
|
|
||||||
|
function backup --argument filename
|
||||||
|
cp $filename $filename.bak
|
||||||
|
end
|
||||||
|
|
||||||
|
# Copy DIR1 DIR2
|
||||||
|
function copy
|
||||||
|
set count (count $argv | tr -d \n)
|
||||||
|
if test "$count" = 2; and test -d "$argv[1]"
|
||||||
|
set from (echo $argv[1] | trim-right /)
|
||||||
|
set to (echo $argv[2])
|
||||||
|
command cp -r $from $to
|
||||||
|
else
|
||||||
|
command cp $argv
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Replace ls with eza
|
||||||
|
alias ls='eza -al --color=always --group-directories-first --icons' # preferred listing
|
||||||
|
alias la='eza -a --color=always --group-directories-first --icons' # all files and dirs
|
||||||
|
alias ll='eza -abl --color=always --icons --git' # long format
|
||||||
|
alias lt='eza -aT --color=always --group-directories-first --icons' # tree listing
|
||||||
|
alias l.="eza -a | grep -e '^\.'" # show only dotfiles
|
||||||
|
|
||||||
|
# Common use
|
||||||
|
alias grubup="sudo grub-mkconfig -o /boot/grub/grub.cfg"
|
||||||
|
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
||||||
|
alias tarnow='tar -acf '
|
||||||
|
alias untar='tar -zxvf '
|
||||||
|
alias wget='wget -c '
|
||||||
|
alias psmem='ps auxf | sort -nr -k 4'
|
||||||
|
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
|
||||||
|
alias ..='cd ..'
|
||||||
|
alias ...='cd ../..'
|
||||||
|
alias ....='cd ../../..'
|
||||||
|
alias .....='cd ../../../..'
|
||||||
|
alias ......='cd ../../../../..'
|
||||||
|
alias dir='dir --color=auto'
|
||||||
|
alias vdir='vdir --color=auto'
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias fgrep='fgrep --color=auto'
|
||||||
|
alias egrep='egrep --color=auto'
|
||||||
|
alias hw='hwinfo --short' # Hardware Info
|
||||||
|
alias big="expac -H M '%m\t%n' | sort -h | nl" # Sort installed packages according to size in MB
|
||||||
|
alias gitpkg='pacman -Q | grep -i "\-git" | wc -l' # List amount of -git packages
|
||||||
|
alias update='sudo pacman -Syu'
|
||||||
|
|
||||||
|
# Get fastest mirrors
|
||||||
|
alias mirror="sudo cachyos-rate-mirrors"
|
||||||
|
|
||||||
|
# Help people new to Arch
|
||||||
|
alias apt='man pacman'
|
||||||
|
alias apt-get='man pacman'
|
||||||
|
alias please='sudo'
|
||||||
|
alias tb='nc termbin.com 9999'
|
||||||
|
|
||||||
|
# Cleanup orphaned packages
|
||||||
|
alias cleanup='sudo pacman -Rns (pacman -Qtdq)'
|
||||||
|
|
||||||
|
# Get the error messages from journalctl
|
||||||
|
alias jctl="journalctl -p 3 -xb"
|
||||||
|
|
||||||
|
# Recent installed packages
|
||||||
|
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# source default* settings
|
||||||
|
source /usr/share/cachyos-fish-config/cachyos-config.fish
|
||||||
|
|
||||||
|
# scripst for polybar
|
||||||
|
source ~/.config/fish/functions/inc_brightness.fish
|
||||||
|
source ~/.config/fish/functions/dec_brightness.fish
|
||||||
|
source ~/.config/fish/functions/get_volume.fish
|
||||||
|
|
||||||
|
# bluetooth connect function
|
||||||
|
source ~/.config/fish/functions/bt.fish
|
||||||
|
|
||||||
|
# do not load default ranger config
|
||||||
|
set RANGER_LOAD_DEFAULT_RC FALSE
|
||||||
|
|
||||||
|
# source aliases
|
||||||
|
if test -f ~/.config/fish/.alias
|
||||||
|
source ~/.config/fish/.alias
|
||||||
|
end
|
||||||
|
|
||||||
|
# overwrite greeting
|
||||||
|
# potentially disabling fastfetch
|
||||||
|
function fish_greeting
|
||||||
|
# smth smth
|
||||||
|
fastfetch --config bb-large.jsonc
|
||||||
|
end
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
# This file contains fish universal variable definitions.
|
||||||
|
# VERSION: 3.0
|
||||||
|
SETUVAR __done_min_cmd_duration:10000
|
||||||
|
SETUVAR __done_notification_urgency_level:low
|
||||||
|
SETUVAR __fish_initialized:4300
|
||||||
|
SETUVAR pure_begin_prompt_with_current_directory:true
|
||||||
|
SETUVAR pure_check_for_new_release:false
|
||||||
|
SETUVAR pure_color_at_sign:pure_color_mute
|
||||||
|
SETUVAR pure_color_aws_profile:pure_color_warning
|
||||||
|
SETUVAR pure_color_command_duration:pure_color_warning
|
||||||
|
SETUVAR pure_color_current_directory:pure_color_primary
|
||||||
|
SETUVAR pure_color_danger:red
|
||||||
|
SETUVAR pure_color_dark:black
|
||||||
|
SETUVAR pure_color_exit_status:pure_color_danger
|
||||||
|
SETUVAR pure_color_git_branch:pure_color_mute
|
||||||
|
SETUVAR pure_color_git_dirty:pure_color_mute
|
||||||
|
SETUVAR pure_color_git_stash:pure_color_info
|
||||||
|
SETUVAR pure_color_git_unpulled_commits:pure_color_info
|
||||||
|
SETUVAR pure_color_git_unpushed_commits:pure_color_info
|
||||||
|
SETUVAR pure_color_hostname:pure_color_mute
|
||||||
|
SETUVAR pure_color_info:cyan
|
||||||
|
SETUVAR pure_color_jobs:pure_color_normal
|
||||||
|
SETUVAR pure_color_k8s_context:pure_color_success
|
||||||
|
SETUVAR pure_color_k8s_namespace:pure_color_primary
|
||||||
|
SETUVAR pure_color_k8s_prefix:pure_color_info
|
||||||
|
SETUVAR pure_color_light:white
|
||||||
|
SETUVAR pure_color_mute:brblack
|
||||||
|
SETUVAR pure_color_nixdevshell_prefix:pure_color_info
|
||||||
|
SETUVAR pure_color_nixdevshell_symbol:pure_color_mute
|
||||||
|
SETUVAR pure_color_normal:normal
|
||||||
|
SETUVAR pure_color_prefix_root_prompt:pure_color_danger
|
||||||
|
SETUVAR pure_color_primary:blue
|
||||||
|
SETUVAR pure_color_prompt_on_error:pure_color_danger
|
||||||
|
SETUVAR pure_color_prompt_on_success:pure_color_success
|
||||||
|
SETUVAR pure_color_success:magenta
|
||||||
|
SETUVAR pure_color_system_time:pure_color_mute
|
||||||
|
SETUVAR pure_color_username_normal:pure_color_mute
|
||||||
|
SETUVAR pure_color_username_root:pure_color_light
|
||||||
|
SETUVAR pure_color_virtualenv:pure_color_mute
|
||||||
|
SETUVAR pure_color_warning:yellow
|
||||||
|
SETUVAR pure_convert_exit_status_to_signal:false
|
||||||
|
SETUVAR pure_enable_aws_profile:true
|
||||||
|
SETUVAR pure_enable_container_detection:true
|
||||||
|
SETUVAR pure_enable_git:true
|
||||||
|
SETUVAR pure_enable_k8s:false
|
||||||
|
SETUVAR pure_enable_nixdevshell:false
|
||||||
|
SETUVAR pure_enable_single_line_prompt:false
|
||||||
|
SETUVAR pure_enable_virtualenv:true
|
||||||
|
SETUVAR pure_reverse_prompt_symbol_in_vimode:true
|
||||||
|
SETUVAR pure_separate_prompt_on_error:false
|
||||||
|
SETUVAR pure_shorten_prompt_current_directory_length:0
|
||||||
|
SETUVAR pure_shorten_window_title_current_directory_length:0
|
||||||
|
SETUVAR pure_show_exit_status:false
|
||||||
|
SETUVAR pure_show_jobs:false
|
||||||
|
SETUVAR pure_show_numbered_git_indicator:false
|
||||||
|
SETUVAR pure_show_prefix_root_prompt:false
|
||||||
|
SETUVAR pure_show_subsecond_command_duration:false
|
||||||
|
SETUVAR pure_show_system_time:false
|
||||||
|
SETUVAR pure_symbol_aws_profile_prefix:
|
||||||
|
SETUVAR pure_symbol_container_prefix:
|
||||||
|
SETUVAR pure_symbol_exit_status_prefix:\x7c
|
||||||
|
SETUVAR pure_symbol_exit_status_separator:\x7c
|
||||||
|
SETUVAR pure_symbol_git_dirty:\x2a
|
||||||
|
SETUVAR pure_symbol_git_stash:\u2261
|
||||||
|
SETUVAR pure_symbol_git_unpulled_commits:\u21e3
|
||||||
|
SETUVAR pure_symbol_git_unpushed_commits:\u21e1
|
||||||
|
SETUVAR pure_symbol_k8s_prefix:\u2638
|
||||||
|
SETUVAR pure_symbol_nixdevshell_prefix:\u2744\ufe0f
|
||||||
|
SETUVAR pure_symbol_prefix_root_prompt:\x23
|
||||||
|
SETUVAR pure_symbol_prompt:\u276f
|
||||||
|
SETUVAR pure_symbol_reverse_prompt:\u276e
|
||||||
|
SETUVAR pure_symbol_ssh_prefix:
|
||||||
|
SETUVAR pure_symbol_title_bar_separator:\x2d
|
||||||
|
SETUVAR pure_symbol_virtualenv_prefix:
|
||||||
|
SETUVAR pure_threshold_command_duration:5
|
||||||
|
SETUVAR pure_truncate_prompt_current_directory_keeps:\x2d1
|
||||||
|
SETUVAR pure_truncate_window_title_current_directory_keeps:\x2d1
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/fish
|
||||||
|
|
||||||
|
function m50x
|
||||||
|
|
||||||
|
set -l mac "00:0A:45:44:82:12"
|
||||||
|
|
||||||
|
set -l conn $( bluetoothctl devices Connected )
|
||||||
|
|
||||||
|
if test -z $conn
|
||||||
|
if bluetoothctl connect $mac > /dev/null
|
||||||
|
echo "Connection successful"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if bluetoothctl disconnect > /dev/null
|
||||||
|
echo "Disconnection successful"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/fish
|
||||||
|
|
||||||
|
function dec_brightness
|
||||||
|
|
||||||
|
brightnessctl -q set 5%-
|
||||||
|
|
||||||
|
set -f cur ( brightnessctl get )
|
||||||
|
set -f max ( brightnessctl max )
|
||||||
|
|
||||||
|
set -f ret ( math -s0 "100 * $cur / $max" )
|
||||||
|
|
||||||
|
#echo $ret > /tmp/xobpipe
|
||||||
|
echo $ret
|
||||||
|
|
||||||
|
end
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/fish
|
||||||
|
|
||||||
|
function get_volume
|
||||||
|
|
||||||
|
if string match --regex '\[off\]' $(amixer sset Master toggle) 1>/dev/null
|
||||||
|
set -f ret $( pamixer --get-volume | sed 's/$/!/' )
|
||||||
|
else
|
||||||
|
set -f ret $( pamixer --get-volume )
|
||||||
|
end
|
||||||
|
|
||||||
|
#echo $ret > /tmp/xobpipe
|
||||||
|
echo $ret
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/fish
|
||||||
|
|
||||||
|
function inc_brightness
|
||||||
|
|
||||||
|
brightnessctl -q set +5%
|
||||||
|
|
||||||
|
set -f cur ( brightnessctl get )
|
||||||
|
set -f max ( brightnessctl max )
|
||||||
|
|
||||||
|
set -f ret ( math -s0 "100 * $cur / $max" )
|
||||||
|
|
||||||
|
#echo $ret > /tmp/xobpipe
|
||||||
|
echo $ret
|
||||||
|
|
||||||
|
end
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/fish
|
||||||
|
|
||||||
|
function qd
|
||||||
|
set -l x ( pgrep -i "discord" | head -n1 )
|
||||||
|
|
||||||
|
if test $status -eq 0
|
||||||
|
kill $x
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
i3lock -i ~/Downloads/bb.jpeg --verif-text="" --ring-color=ff000030 --ringver-color=00000000 --insidever-color=00000000 --keyhl-color=00000090 --bshl-color=666666ff --time-pos="ix:iy+150" --noinput-text=""
|
||||||
@@ -0,0 +1,236 @@
|
|||||||
|
set $mod Mod4
|
||||||
|
#font-5 = "batman logo evolution tfb:style=Regular:pixelsize=25;3"
|
||||||
|
font pango:batman logo evolution tfb 9
|
||||||
|
#font pango:Hack 9
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
set $term alacritty
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
#bindsym ctrl+space exec rofi -show run
|
||||||
|
bindsym ctrl+shift+space exec "rofi -show combi -display-combi batcave -modi window,run,combi -combi-modi window,run"
|
||||||
|
#bindsym ctrl+space exec dmenu_run
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
bindsym $mod+t split toggle
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
bindsym $mod+Shift+w sticky toggle
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace number $ws1
|
||||||
|
bindsym $mod+2 workspace number $ws2
|
||||||
|
bindsym $mod+3 workspace number $ws3
|
||||||
|
bindsym $mod+4 workspace number $ws4
|
||||||
|
bindsym $mod+5 workspace number $ws5
|
||||||
|
bindsym $mod+6 workspace number $ws6
|
||||||
|
bindsym $mod+7 workspace number $ws7
|
||||||
|
bindsym $mod+8 workspace number $ws8
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
bindsym $mod+0 workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 5 px or 5 ppt
|
||||||
|
bindsym Down resize grow height 5 px or 5 ppt
|
||||||
|
bindsym Up resize shrink height 5 px or 5 ppt
|
||||||
|
bindsym Right resize grow width 5 px or 5 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Status Bar:
|
||||||
|
#
|
||||||
|
exec_always --no-startup-id ~/.config/polybar/launch.sh
|
||||||
|
|
||||||
|
# class border backgr. text indicator child_border
|
||||||
|
client.focused #000000 #000000 #ffffff #000000 #000000
|
||||||
|
client.focused_inactive #000000 #000000 #ffffff #000000 #000000
|
||||||
|
client.unfocused #000000 #000000 #888888 #000000 #000000
|
||||||
|
client.urgent #000000 #000000 #ffffff #000000 #000000
|
||||||
|
client.placeholder #000000 #000000 #ffffff #000000 #000000
|
||||||
|
client.background #ffffff
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
########################################################################
|
||||||
|
####
|
||||||
|
#### Workplaces layout
|
||||||
|
####
|
||||||
|
########################################################################
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
exec --no-startup-id "i3-msg 'workspace 1; exec alacritty'"
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
########################################################################
|
||||||
|
####
|
||||||
|
#### Floated windows
|
||||||
|
####
|
||||||
|
########################################################################
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
for_window [title="Calculator"] floating enable
|
||||||
|
for_window [title="Timer"] floating enable
|
||||||
|
for_window [class="^.*"] border pixel 1
|
||||||
|
for_window [class="librewolf"] border none
|
||||||
|
for_window [class="firefox"] border none
|
||||||
|
for_window [class="mpv"] floating enable
|
||||||
|
for_window [class="imv"] floating enable
|
||||||
|
for_window [class="zenity"] floating enable
|
||||||
|
for_window [class="cachyos-welcome"] floating enable
|
||||||
|
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
########################################################################
|
||||||
|
####
|
||||||
|
#### HOTKEYS
|
||||||
|
####
|
||||||
|
########################################################################
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
|
||||||
|
bindsym XF86AudioRaiseVolume exec "pamixer -ui 3 && pamixer --get-volume > /tmp/xobpipe"
|
||||||
|
bindsym XF86AudioLowerVolume exec "pamixer -ud 3 && pamixer --get-volume > /tmp/xobpipe"
|
||||||
|
# mute sound
|
||||||
|
#bindsym XF86AudioMute exec "amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > /tmp/xobpipe"
|
||||||
|
bindsym XF86AudioMute exec "amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*\[([0-9]+)%\].*/\1!/ p' | head -1 > /tmp/xobpipe"
|
||||||
|
|
||||||
|
# change screen brightness
|
||||||
|
#bindsym XF86MonBrightnessUp exec --no-startup-id "inc_brightness > /tmp/xobpipe"
|
||||||
|
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
|
||||||
|
#bindsym XF86MonBrightnessDown exec --no-startup-id "dec_brightness > /tmp/xobpipe"
|
||||||
|
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
|
||||||
|
|
||||||
|
bindsym $mod+Shift+p exec gnome-calculator
|
||||||
|
#bindsym $mod+p exec ~/.scripts/dmshot
|
||||||
|
|
||||||
|
## This will switch the current layout to the 'us'.
|
||||||
|
#bindsym $mod+l exec "setxkbmap -layout us && sleep 0.1 && setxkbmap -option grp:caps_toggle 'us,ru' -option grp_led:caps && sleep 0.1 && i3lock --blur 5"
|
||||||
|
|
||||||
|
## This keybind will lock the screen. The lockscreen.
|
||||||
|
bindsym $mod+Escape exec "sleep 0.1 && ~/.config/i3/i3lock_updated.sh"
|
||||||
|
bindsym $mod+Shift+Escape exec "sleep 0.1 && ~/.config/i3/batlock.sh"
|
||||||
|
|
||||||
|
#exec --no-startup-id xautolock -time 20 -locker "systemctl suspend"
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
########################################################################
|
||||||
|
####
|
||||||
|
#### AUTOLOAD
|
||||||
|
####
|
||||||
|
########################################################################
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
## Here is a language switcher by pressing capslock button,
|
||||||
|
## and the capslock functionality available by using shift+capslock.
|
||||||
|
## Uncomment to enable 'us' to/from 'ru' switch. change to language(s) you prefer more.
|
||||||
|
|
||||||
|
#exec_always setxkbmap -option grp:caps_toggle "us,ru" -option "grp:caps_toggle,grp_led:caps"
|
||||||
|
|
||||||
|
exec xrandr --output HDMI-1 --mode 1920x1080 --rate 60 --scale 1x1
|
||||||
|
#exec xrandr --auto --output HDMI-1 --mode 1920x1080 --above HDMI-2
|
||||||
|
|
||||||
|
#exec_always --no-startup-id killall back4.sh
|
||||||
|
#exec_always --no-startup-id $HOME/back4.sh ~/Downloads/bb-wp.gif
|
||||||
|
|
||||||
|
#exec feh --bg-fill ~/.config/i3/wallpaper.png
|
||||||
|
exec feh --bg-fill ~/Downloads/bb.jpeg
|
||||||
|
|
||||||
|
exec --no-startup-id dunst
|
||||||
|
exec --no-startup-id picom
|
||||||
|
exec --no-startup-id redshift
|
||||||
|
exec --no-startup-id dex -a -s /etc/xdg/autostart/:~/.config/autostart/
|
||||||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
|
||||||
|
exec_always mkfifo /tmp/xobpipe && tail -f /tmp/xobpipe | xob -t 2170 & disown
|
||||||
|
#exec ~/.i3/launch.sh
|
||||||
|
|
||||||
|
# EXEC
|
||||||
|
exec firefox
|
||||||
|
assign [class="firefox"] $ws2
|
||||||
|
|
||||||
|
exec snapchat
|
||||||
|
assign [class="Snapchat"] $ws3
|
||||||
|
|
||||||
|
exec discord
|
||||||
|
assign [class="discord"] $ws10
|
||||||
|
|
||||||
Executable
+1
@@ -0,0 +1 @@
|
|||||||
|
i3lock -kB5 --verif-text="" --ring-color=ff000030 --ringver-color=00000000 --insidever-color=00000000 --keyhl-color=00000090 --bshl-color=666666ff --time-pos="ix:iy+150" --indicator --noinput-text=""
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 541 KiB |
@@ -0,0 +1,339 @@
|
|||||||
|
;==========================================================
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
||||||
|
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
||||||
|
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
||||||
|
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
|
||||||
|
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
|
||||||
|
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; To learn more about how to configure Polybar
|
||||||
|
; go to https://github.com/polybar/polybar
|
||||||
|
;
|
||||||
|
; The README contains a lot of information
|
||||||
|
;
|
||||||
|
;==========================================================
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background = #FF0000
|
||||||
|
background-alt = #000000
|
||||||
|
foreground = #000000
|
||||||
|
foreground-alt = #FF0000
|
||||||
|
primary = #00FF00
|
||||||
|
secondary = #0000FF
|
||||||
|
alert = #FF0000
|
||||||
|
white = #FFFFFF
|
||||||
|
|
||||||
|
[bar/example]
|
||||||
|
monitor = ${env:MONITOR:}
|
||||||
|
width = 100%
|
||||||
|
height = 22
|
||||||
|
radius = 9.0
|
||||||
|
fixed-center = true
|
||||||
|
top = yes
|
||||||
|
bottom = no
|
||||||
|
override-redirect = false
|
||||||
|
|
||||||
|
foreground = ${colors.foreground-alt}
|
||||||
|
background = ${colors.background-alt}
|
||||||
|
|
||||||
|
; Under-/overline pixel size and argb color
|
||||||
|
; Individual values can be defined using:
|
||||||
|
; {overline,underline}-size
|
||||||
|
; {overline,underline}-color
|
||||||
|
line-size = 1
|
||||||
|
line-color = #dfdfdf
|
||||||
|
|
||||||
|
border-top-size = 0
|
||||||
|
border-bottom-size = 0
|
||||||
|
border-left-size = 0
|
||||||
|
border-right-size = 0
|
||||||
|
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 0
|
||||||
|
|
||||||
|
module-margin-left = 0
|
||||||
|
module-margin-right = 0
|
||||||
|
|
||||||
|
font-0 = Hack:pixelsize=9;3
|
||||||
|
font-2 = "Wuncon Siji:pixelsize=10;3"
|
||||||
|
font-1 = Weather Icons:style=Regular:size=10;2
|
||||||
|
font-3 = FontAwesome5Free:style=Solid:pixelsize=10;3
|
||||||
|
font-4 = FontAwesome5Brands:style=Solid:pixelsize=10;3
|
||||||
|
font-5 = "batman logo evolution tfb:style=Regular:pixelsize=25;3"
|
||||||
|
font-6 = "Material Design Icons:style=Regular:pixelsize=15;3"
|
||||||
|
|
||||||
|
modules-left = i3 sp0
|
||||||
|
modules-right = network sp1 battery sp2 temp sp1 linux-ver sp2 date sp2
|
||||||
|
;modules-right = volume sp1 network sp1 battery sp2 temp sp1 linux-ver sp2 date sp2
|
||||||
|
modules-center = bb
|
||||||
|
|
||||||
|
tray-position = right
|
||||||
|
tray-padding = 0
|
||||||
|
tray-detached = false
|
||||||
|
tray-maxsize = 14
|
||||||
|
tray-scale = 1.0
|
||||||
|
tray-background = ${colors.background-alt}
|
||||||
|
tray-foreground = ${colors.foreground-alt}
|
||||||
|
tray-offset-x = 0
|
||||||
|
tray-offset-y = 0
|
||||||
|
|
||||||
|
wm-restack = i3
|
||||||
|
|
||||||
|
scroll-up = #i3.next
|
||||||
|
scroll-down = #i3.prev
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
|
||||||
|
[module/sp0]
|
||||||
|
type = custom/text
|
||||||
|
content = "| "
|
||||||
|
content-foreground = #93A1A1
|
||||||
|
content-background = ${colors.background-alt}
|
||||||
|
|
||||||
|
[module/sp1]
|
||||||
|
type = custom/text
|
||||||
|
content = " | "
|
||||||
|
content-foreground = #93A1A1
|
||||||
|
content-background = ${colors.background-alt}
|
||||||
|
|
||||||
|
[module/sp2]
|
||||||
|
type = custom/text
|
||||||
|
content = " |"
|
||||||
|
content-foreground = #93A1A1
|
||||||
|
content-background = ${colors.background-alt}
|
||||||
|
|
||||||
|
[module/bb]
|
||||||
|
type = custom/text
|
||||||
|
label = %{T6}O%{T-}
|
||||||
|
click-left = sleep 0.1 && i3lock -i ~/Downloads/bb.jpeg -F --verif-text="" --ring-color=ff000030 --ringver-color=00000000 --insidever-color=00000000 --keyhl-color=00000090 --bshl-color=666666ff --time-pos="ix:iy+150" --noinput-text=""
|
||||||
|
|
||||||
|
|
||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
index-sort = true
|
||||||
|
wrapping-scroll = false
|
||||||
|
strip-wsnumbers = false
|
||||||
|
enable-click = false
|
||||||
|
enable-scroll = false
|
||||||
|
|
||||||
|
label-mode = %mode%
|
||||||
|
label-mode-padding = 1
|
||||||
|
label-mode-foreground = ${colors.foreground-alt}
|
||||||
|
label-mode-background = ${colors.background-alt}
|
||||||
|
|
||||||
|
; focused = Active workspace on focused monitor
|
||||||
|
label-focused = %index%
|
||||||
|
label-focused-foreground = ${colors.foreground}
|
||||||
|
label-focused-background = ${colors.background}
|
||||||
|
label-focused-underline = ${colors.foreground-alt}
|
||||||
|
label-focused-padding = 1
|
||||||
|
|
||||||
|
; unfocused = Inactive workspace on any monitor
|
||||||
|
label-unfocused = %index%
|
||||||
|
label-unfocused-padding = ${self.label-focused-padding}
|
||||||
|
label-unfocused-foreground = ${colors.foreground-alt}
|
||||||
|
label-unfocused-background = ${colors.background-alt}
|
||||||
|
|
||||||
|
; visible = Active workspace on unfocused monitor
|
||||||
|
label-visible = %index%
|
||||||
|
label-visible-foreground = ${self.label-focused-background}
|
||||||
|
label-visible-background = ${self.label-focused-foreground}
|
||||||
|
label-visible-underline = ${self.label-focused-underline}
|
||||||
|
label-visible-padding = ${self.label-focused-padding}
|
||||||
|
|
||||||
|
; urgent = Workspace with urgency hint set
|
||||||
|
label-urgent = %index%
|
||||||
|
label-urgent-foreground = ${colors.foreground}
|
||||||
|
label-urgent-background = ${colors.alert}
|
||||||
|
label-urgent-padding = 1
|
||||||
|
|
||||||
|
; Separator in between workspaces
|
||||||
|
label-separator =
|
||||||
|
label-separator-padding = 0
|
||||||
|
label-separator-foreground = #fff
|
||||||
|
|
||||||
|
[module/linux-ver]
|
||||||
|
type = custom/script
|
||||||
|
exec = uname -r
|
||||||
|
interval = 600
|
||||||
|
|
||||||
|
[module/battery]
|
||||||
|
type = internal/battery
|
||||||
|
full-at = 85
|
||||||
|
low-at = 10
|
||||||
|
battery = BAT0
|
||||||
|
adapter = AC
|
||||||
|
poll-interval = 5
|
||||||
|
|
||||||
|
format-discharging = <label-discharging> <ramp-capacity>
|
||||||
|
label-discharging = %percentage%%
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-0-foreground = #FFFFFF
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-1-foreground = #FFFFFF
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-2-foreground = #FFFFFF
|
||||||
|
ramp-capacity-3 =
|
||||||
|
ramp-capacity-3-foreground = #FFFFFF
|
||||||
|
ramp-capacity-4 =
|
||||||
|
ramp-capacity-4-foreground = #FFFFFF
|
||||||
|
ramp-capacity-5 =
|
||||||
|
ramp-capacity-5-foreground = #FFFFFF
|
||||||
|
ramp-capacity-6 =
|
||||||
|
ramp-capacity-6-foreground = #FFFFFF
|
||||||
|
ramp-capacity-7 =
|
||||||
|
ramp-capacity-7-foreground = #FFFFFF
|
||||||
|
ramp-capacity-8 =
|
||||||
|
ramp-capacity-8-foreground = #FFFFFF
|
||||||
|
ramp-capacity-9 =
|
||||||
|
ramp-capacity-9-foreground = #FFFFFF
|
||||||
|
|
||||||
|
format-charging = <label-charging> <animation-charging>
|
||||||
|
label-charging = %percentage%%
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-0-foreground = #FFFFFF
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-1-foreground = #FFFFFF
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-2-foreground = #FFFFFF
|
||||||
|
animation-charging-3 =
|
||||||
|
animation-charging-3-foreground = #FFFFFF
|
||||||
|
animation-charging-4 =
|
||||||
|
animation-charging-4-foreground = #FFFFFF
|
||||||
|
animation-charging-5 =
|
||||||
|
animation-charging-5-foreground = #FFFFFF
|
||||||
|
animation-charging-6 =
|
||||||
|
animation-charging-6-foreground = #FFFFFF
|
||||||
|
animation-charging-7 =
|
||||||
|
animation-charging-7-foreground = #FFFFFF
|
||||||
|
animation-charging-8 =
|
||||||
|
animation-charging-8-foreground = #FFFFFF
|
||||||
|
animation-charging-9 =
|
||||||
|
animation-charging-9-foreground = #FFFFFF
|
||||||
|
animation-charging-framerate = 2000
|
||||||
|
|
||||||
|
format-low = <label-low> <animation-low>
|
||||||
|
label-low = %percentage%%
|
||||||
|
animation-low-0 =
|
||||||
|
animation-low-1 = "%{F#00000000}%{F-}"
|
||||||
|
animation-low-framerate = 500
|
||||||
|
|
||||||
|
format-full = <label-full>
|
||||||
|
label-full = %percentage%% %{F#ffffff}%{F-}
|
||||||
|
|
||||||
|
[module/network]
|
||||||
|
type = internal/network
|
||||||
|
interface = wlan0
|
||||||
|
|
||||||
|
format-connected = <label-connected> <ramp-signal>
|
||||||
|
label-connected = %essid% %{F#FFFFFF}%{F-}%netspeed%
|
||||||
|
ramp-signal-0 =
|
||||||
|
ramp-signal-0-foreground = #FFFFFF
|
||||||
|
ramp-signal-1 =
|
||||||
|
ramp-signal-1-foreground = #FFFFFF
|
||||||
|
ramp-signal-2 =
|
||||||
|
ramp-signal-2-foreground = #FFFFFF
|
||||||
|
ramp-signal-3 =
|
||||||
|
ramp-signal-3-foreground = #FFFFFF
|
||||||
|
ramp-signal-4 =
|
||||||
|
ramp-signal-4-foreground = #FFFFFF
|
||||||
|
|
||||||
|
format-disconnected = <label-disconnected>
|
||||||
|
label-disconnected =
|
||||||
|
|
||||||
|
[module/tempy]
|
||||||
|
type = internal/temperature
|
||||||
|
interval = 0.5
|
||||||
|
thermal-zone = 0
|
||||||
|
zone-type = x86_pkg_temp
|
||||||
|
hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
|
||||||
|
base-tempertaure = 25
|
||||||
|
warn-temperature = 70
|
||||||
|
units = true
|
||||||
|
|
||||||
|
format = <label> <ramp>
|
||||||
|
format-warn = <label> <ramp>
|
||||||
|
|
||||||
|
label = %temperature-f%
|
||||||
|
label-foreground = #FF0000
|
||||||
|
|
||||||
|
label-warn = %temperature-f%
|
||||||
|
label-warn-foreground = #FF0000
|
||||||
|
|
||||||
|
ramp-0 =
|
||||||
|
ramp-1 =
|
||||||
|
ramp-2 =
|
||||||
|
ramp-3 =
|
||||||
|
ramp-foreground = #FFFFFF
|
||||||
|
|
||||||
|
[module/temp]
|
||||||
|
type = custom/script
|
||||||
|
format-prefix = ""
|
||||||
|
exec = ~/.config/polybar/scripts/cpu_temp.sh
|
||||||
|
label = %output% %{F#FFFFFF}%{F-}
|
||||||
|
interval = 0.5
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
time = "%a %d %I:%M %P"
|
||||||
|
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-prefix-background = ${colors.background-alt}
|
||||||
|
|
||||||
|
label = %time%
|
||||||
|
label-foreground = ${colors.foreground-alt}
|
||||||
|
label-background = ${colors.background-alt}
|
||||||
|
|
||||||
|
[module/volume]
|
||||||
|
type = internal/alsa
|
||||||
|
|
||||||
|
; Soundcard to be used
|
||||||
|
; Usually in the format hw:# where # is the card number
|
||||||
|
; You can find the different card numbers in `/proc/asound/cards`
|
||||||
|
master-soundcard = default
|
||||||
|
speaker-soundcard = default
|
||||||
|
headphone-soundcard = default
|
||||||
|
|
||||||
|
; Name of the master, speaker and headphone mixers
|
||||||
|
; Use the following command to list available mixer controls:
|
||||||
|
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
|
||||||
|
; If master, speaker or headphone-soundcard isn't the default,
|
||||||
|
; use `amixer -c # scontrols` instead where # is the number
|
||||||
|
; of the master, speaker or headphone soundcard respectively
|
||||||
|
;
|
||||||
|
; Default: Master
|
||||||
|
master-mixer = Master
|
||||||
|
|
||||||
|
format-volume = <label-volume> <ramp-volume>
|
||||||
|
label-volume = %percentage%%
|
||||||
|
|
||||||
|
format-muted = %{F#808080}<label-muted> %{F-}
|
||||||
|
label-muted = %percentage%%
|
||||||
|
|
||||||
|
ramp-volume-0 =
|
||||||
|
ramp-volume-0-foreground = #FFFFFF
|
||||||
|
ramp-volume-1 =
|
||||||
|
ramp-volume-1-foreground = #FFFFFF
|
||||||
|
ramp-volume-2 =
|
||||||
|
ramp-volume-2-foreground = #FFFFFF
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
throttle-output = 5
|
||||||
|
throttle-output-for = 10
|
||||||
|
;throttle-input-for = 30
|
||||||
|
screenchange-reload = true
|
||||||
|
compositing-background = over
|
||||||
|
compositing-foreground = over
|
||||||
|
compositing-overline = over
|
||||||
|
compositing-border = over
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
margin-top = 5
|
||||||
|
margin-bottom = 5
|
||||||
Executable
+21
@@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Wait for audio
|
||||||
|
until pactl info >/dev/null 2>&1; do
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
|
|
||||||
|
# Terminate already running bar instances
|
||||||
|
killall -q polybar
|
||||||
|
|
||||||
|
# Wait until the processes have been shut down
|
||||||
|
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
||||||
|
|
||||||
|
# for multimonitor
|
||||||
|
if type "xrandr"; then
|
||||||
|
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
|
||||||
|
MONITOR=$m polybar --reload example & disown
|
||||||
|
done
|
||||||
|
else
|
||||||
|
polybar --reload example & disown
|
||||||
|
fi
|
||||||
Executable
+32
@@ -0,0 +1,32 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
|
||||||
|
updates_arch=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! updates_aur=$(paru -Qum | wc -l); then
|
||||||
|
# if ! updates_aur=$(cower -u 2> /dev/null | wc -l); then
|
||||||
|
# if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
|
||||||
|
updates_aur=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
updates=$(("$updates_arch" + "$updates_aur"))
|
||||||
|
|
||||||
|
#if [ "$updates" -gt 0 ]; then
|
||||||
|
# echo "# $updates"
|
||||||
|
#else
|
||||||
|
# echo ""
|
||||||
|
#fi
|
||||||
|
|
||||||
|
|
||||||
|
re='^[0-9]+$'
|
||||||
|
if ! [[ $updates_arch =~ $re ]] ; then
|
||||||
|
updates_aur=999; exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [[ $updates_arch =~ $re ]] ; then
|
||||||
|
updates_aur=999; exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "P:$updates_arch Y:$updates_aur"
|
||||||
Executable
+2
@@ -0,0 +1,2 @@
|
|||||||
|
#awk '{printf " %.1f°F\n", ($1/1000)*9/5+32}' /sys/class/hwmon/hwmon*/temp1_input 2>/dev/null | head -n1
|
||||||
|
awk '{printf " %.1f°F\n", ($1/1000)*9/5+32; exit}' /sys/class/hwmon/hwmon*/temp1_input 2>/dev/null
|
||||||
Executable
+21
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# not useful unless exec commands can be placed in internal polybar modules
|
||||||
|
# or I can do the low discharging animation from here
|
||||||
|
|
||||||
|
|
||||||
|
BATRAW=$( cat /sys/class/power_supply/BAT0/capacity )
|
||||||
|
#STATUS=$( cat /sys/class/power_supply/BAT0/status )
|
||||||
|
STATUS="Charging"
|
||||||
|
|
||||||
|
BATADJ=$(( 9 + 100 * $BATRAW / 80 ))
|
||||||
|
STEP=$(( $BATADJ / 10 ))
|
||||||
|
|
||||||
|
CHARGING=( "" "" "" "" "" "" "" "" "" "" )
|
||||||
|
DISCHARGING=( "" "" "" "" "" "" "" "" "" "" )
|
||||||
|
|
||||||
|
if test $STATUS = "Discharging"; then
|
||||||
|
echo ${DISCHARGING[$STEP]}
|
||||||
|
elif test $STATUS = "Charging"; then
|
||||||
|
echo ${CHARGING[$STEP]}
|
||||||
|
fi
|
||||||
|
|
||||||
Executable
+62
@@ -0,0 +1,62 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# shellcheck disable=SC2016,SC2059
|
||||||
|
|
||||||
|
KEYBOARD_ID="Keyboard K380 Keyboard"
|
||||||
|
|
||||||
|
# cpm: characters per minute
|
||||||
|
# wpm: words per minute (1 word = 5 characters)
|
||||||
|
METRIC=cpm
|
||||||
|
FORMAT="# %d $METRIC"
|
||||||
|
|
||||||
|
INTERVAL=20
|
||||||
|
|
||||||
|
# If you have a keyboard layout that is not listed here yet, create a condition
|
||||||
|
# yourself. $3 is the key index. Use `xinput test "AT Translated Set 2 keyboard"`
|
||||||
|
# to see key codes in real time. Be sure to open a pull request for your
|
||||||
|
# layout's condition!
|
||||||
|
LAYOUT=qwerty
|
||||||
|
|
||||||
|
case "$LAYOUT" in
|
||||||
|
qwerty) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 24 && $3 <= 33) || ($3 >= 37 && $3 <= 53) || ($3 >= 52 && $3 <= 58)'; ;;
|
||||||
|
azerty) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 24 && $3 <= 33) || ($3 >= 37 && $3 <= 54) || ($3 >= 52 && $3 <= 57)'; ;;
|
||||||
|
dontcare) CONDITION='1'; ;; # Just register all key presses, not only letters and numbers
|
||||||
|
*) echo "# Unsupported layout \"$LAYOUT\""; exit 1; ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# We have to account for the fact we're not listening a whole minute
|
||||||
|
multiply_by=60
|
||||||
|
divide_by=$INTERVAL
|
||||||
|
|
||||||
|
case "$METRIC" in
|
||||||
|
wpm) divide_by=$((divide_by * 5)); ;;
|
||||||
|
cpm) ;;
|
||||||
|
*) echo "Unsupported metric \"$METRIC\""; exit 1; ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
hackspeed_cache="$(mktemp -p '' hackspeed_cache.XXXXX)"
|
||||||
|
trap 'rm "$hackspeed_cache"' EXIT
|
||||||
|
|
||||||
|
# Write a dot to our cache for each key press
|
||||||
|
printf '' > "$hackspeed_cache"
|
||||||
|
xinput test "$KEYBOARD_ID" | \
|
||||||
|
stdbuf -o0 awk '$1 == "key" && $2 == "press" && ('"$CONDITION"') {printf "."}' >> "$hackspeed_cache" &
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Ask the kernel how big the file is with the command `stat`. The number we
|
||||||
|
# get is the file size in bytes, which equals the amount of dots the file
|
||||||
|
# contains, and hence how much keys were pressed since the file was last
|
||||||
|
# cleared.
|
||||||
|
lines=$(stat --format %s "$hackspeed_cache")
|
||||||
|
|
||||||
|
# Truncate the cache file so that in the next iteration, we count only new
|
||||||
|
# keypresses
|
||||||
|
printf '' > "$hackspeed_cache"
|
||||||
|
|
||||||
|
# The shell only does integer operations, so make sure to first multiply and
|
||||||
|
# then divide
|
||||||
|
value=$((lines * multiply_by / divide_by))
|
||||||
|
|
||||||
|
printf "$FORMAT\\n" "$value"
|
||||||
|
|
||||||
|
sleep $INTERVAL
|
||||||
|
done
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#test-fonts.pl
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Font::FreeType;
|
||||||
|
my ($char) = @ARGV;
|
||||||
|
foreach my $font_def (`fc-list`) {
|
||||||
|
my ($file, $name) = split(/: /, $font_def);
|
||||||
|
my $face = Font::FreeType->new->face($file);
|
||||||
|
my $glyph = $face->glyph_from_char($char);
|
||||||
|
if ($glyph) {
|
||||||
|
print $font_def;
|
||||||
|
}
|
||||||
|
}
|
||||||
Executable
+88
@@ -0,0 +1,88 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
get_icon() {
|
||||||
|
case $1 in
|
||||||
|
01d) icon="🟠";;
|
||||||
|
01n) icon="⚫";;
|
||||||
|
02d) icon="⛅";;
|
||||||
|
02n) icon="⛅";;
|
||||||
|
04d) icon="🌥️";;
|
||||||
|
04n) icon="🌥️";;
|
||||||
|
09d) icon="🌧️";;
|
||||||
|
09n) icon="🌧️";;
|
||||||
|
10d) icon="🌦️";;
|
||||||
|
10n) icon="🌦️";;
|
||||||
|
11d) icon="🌩️";;
|
||||||
|
11n) icon="🌩️";;
|
||||||
|
13d) icon="❄️";;
|
||||||
|
13n) icon="❄️";;
|
||||||
|
50d) icon="🌫️";;
|
||||||
|
50n) icon="🌫️";;
|
||||||
|
*) icon="☁️";
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo $icon
|
||||||
|
}
|
||||||
|
|
||||||
|
get_duration() {
|
||||||
|
|
||||||
|
osname=$(uname -s)
|
||||||
|
|
||||||
|
case $osname in
|
||||||
|
*BSD) date -r "$1" -u +%H:%M;;
|
||||||
|
*) date --date="@$1" -u +%H:%M;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
KEY=""
|
||||||
|
CITY=""
|
||||||
|
UNITS="metric"
|
||||||
|
SYMBOL="°"
|
||||||
|
|
||||||
|
API="https://api.openweathermap.org/data/2.5"
|
||||||
|
|
||||||
|
if [ ! -z $CITY ]; then
|
||||||
|
if [ "$CITY" -eq "$CITY" ] 2>/dev/null; then
|
||||||
|
CITY_PARAM="id=$CITY"
|
||||||
|
else
|
||||||
|
CITY_PARAM="q=$CITY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
current=$(curl -sf "$API/weather?appid=$KEY&$CITY_PARAM&units=$UNITS")
|
||||||
|
#curl -s "https://api.openweathermap.org/data/2.5/onecall?lat=0&lon=0&appid=TOKEN&units=metric" | jq -r '.daily[1].temp.day'
|
||||||
|
forecast=$(curl -sf "$API/forecast?appid=$KEY&$CITY_PARAM&units=$UNITS&cnt=1")
|
||||||
|
else
|
||||||
|
location=$(curl -sf https://location.services.mozilla.com/v1/geolocate?key=geoclue)
|
||||||
|
|
||||||
|
if [ ! -z "$location" ]; then
|
||||||
|
location_lat="$(echo "$location" | jq '.location.lat')"
|
||||||
|
location_lon="$(echo "$location" | jq '.location.lng')"
|
||||||
|
|
||||||
|
current=$(curl -sf "$API/weather?appid=$KEY&lat=$location_lat&lon=$location_lon&units=$UNITS")
|
||||||
|
forecast=$(curl -sf "$API/forecast?appid=$KEY&lat=$location_lat&lon=$location_lon&units=$UNITS&cnt=1")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$current" ] && [ ! -z "$forecast" ]; then
|
||||||
|
current_temp=$(printf "%.0f" $(echo "$current" | jq ".main.temp"))
|
||||||
|
current_icon=$(echo "$current" | jq -r ".weather[0].icon")
|
||||||
|
|
||||||
|
forecast_temp=$(printf "%.0f" $(echo "$forecast" | jq ".list[].main.temp"))
|
||||||
|
forecast_icon=$(echo "$forecast" | jq -r ".list[].weather[0].icon")
|
||||||
|
|
||||||
|
sun_rise=$(echo "$current" | jq ".sys.sunrise")
|
||||||
|
sun_set=$(echo "$current" | jq ".sys.sunset")
|
||||||
|
now=$(date +%s)
|
||||||
|
|
||||||
|
if [ "$sun_rise" -gt "$now" ]; then
|
||||||
|
daytime="🌅 $(get_duration "$((sun_rise-now))")"
|
||||||
|
elif [ "$sun_set" -gt "$now" ]; then
|
||||||
|
daytime="🌇 $(get_duration "$((sun_set-now))")"
|
||||||
|
else
|
||||||
|
daytime="🌅 $(get_duration "$((sun_rise-now))")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$(get_icon "$current_icon") $current_temp$SYMBOL $(get_icon "$forecast_icon") $forecast_temp$SYMBOL $daytime"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,176 @@
|
|||||||
|
# Ivaylo Kuzev <ivkuzev@gmail.com>, 2014
|
||||||
|
# Zenburn like colorscheme for https://github.com/hut/ranger .
|
||||||
|
|
||||||
|
# default colorscheme.
|
||||||
|
# Copyright (C) 2009-2013 Roman Zimbelmann <hut@lepus.uberspace.de>
|
||||||
|
# This software is distributed under the terms of the GNU GPL version 3.
|
||||||
|
|
||||||
|
from ranger.gui.colorscheme import ColorScheme
|
||||||
|
from ranger.gui.color import default_colors, reverse, bold, normal, default
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=too-many-branches,too-many-statements
|
||||||
|
class Gotham(ColorScheme):
|
||||||
|
progress_bar_color = 108
|
||||||
|
|
||||||
|
def use(self, context):
|
||||||
|
fg, bg, attr = default_colors
|
||||||
|
|
||||||
|
if context.reset:
|
||||||
|
return default_colors
|
||||||
|
|
||||||
|
elif context.in_browser:
|
||||||
|
if context.selected:
|
||||||
|
attr = reverse
|
||||||
|
else:
|
||||||
|
attr = normal
|
||||||
|
if context.empty or context.error:
|
||||||
|
attr |= bold
|
||||||
|
fg = 232
|
||||||
|
bg = 124
|
||||||
|
if context.border:
|
||||||
|
fg = 7
|
||||||
|
if context.image: # spellbinder
|
||||||
|
fg = 208
|
||||||
|
if context.video:
|
||||||
|
fg = 66
|
||||||
|
if context.audio: # shriek
|
||||||
|
fg = 45
|
||||||
|
bg = 231
|
||||||
|
if context.document:
|
||||||
|
fg = 15
|
||||||
|
if context.container: # ra's al ghul in talia's body
|
||||||
|
attr |= bold
|
||||||
|
fg = 141
|
||||||
|
bg = 28
|
||||||
|
if context.directory:
|
||||||
|
attr |= bold
|
||||||
|
fg = 124
|
||||||
|
# simon harper
|
||||||
|
elif context.executable and not \
|
||||||
|
any((context.media, context.container,
|
||||||
|
context.fifo, context.socket)):
|
||||||
|
attr |= bold
|
||||||
|
fg = 94
|
||||||
|
if context.socket: # chronos
|
||||||
|
fg = 40
|
||||||
|
attr |= bold
|
||||||
|
if context.fifo or context.device: # inque
|
||||||
|
fg = 16
|
||||||
|
bg = 18
|
||||||
|
if context.device:
|
||||||
|
attr |= bold
|
||||||
|
if context.link: # hush, dick grayson clone
|
||||||
|
fg = 20
|
||||||
|
bg = 247 if context.good else 196
|
||||||
|
if context.bad:
|
||||||
|
bg = 232
|
||||||
|
if context.tag_marker and not context.selected:
|
||||||
|
attr |= bold
|
||||||
|
# if fg is empty/error or badinfo
|
||||||
|
if fg in (232, 196):
|
||||||
|
fg = 248
|
||||||
|
else:
|
||||||
|
fg = 174
|
||||||
|
if not context.selected and (context.cut or context.copied):
|
||||||
|
fg = 108
|
||||||
|
bg = 234
|
||||||
|
if context.main_column:
|
||||||
|
if context.selected:
|
||||||
|
attr |= bold
|
||||||
|
if context.marked:
|
||||||
|
attr |= bold
|
||||||
|
fg = 223
|
||||||
|
if context.badinfo:
|
||||||
|
if attr & reverse:
|
||||||
|
bg = 196
|
||||||
|
else:
|
||||||
|
fg = 196
|
||||||
|
|
||||||
|
elif context.in_titlebar:
|
||||||
|
attr |= bold
|
||||||
|
if context.hostname:
|
||||||
|
fg = 124
|
||||||
|
if context.bad:
|
||||||
|
attr |= reverse
|
||||||
|
elif context.directory:
|
||||||
|
fg = 124
|
||||||
|
elif context.tab:
|
||||||
|
if context.good:
|
||||||
|
bg = 150
|
||||||
|
elif context.link:
|
||||||
|
fg = 20
|
||||||
|
|
||||||
|
elif context.in_statusbar:
|
||||||
|
if context.permissions:
|
||||||
|
if context.good:
|
||||||
|
fg = 124
|
||||||
|
elif context.bad:
|
||||||
|
bg = 124
|
||||||
|
fg = 16
|
||||||
|
if context.marked:
|
||||||
|
attr |= bold | reverse
|
||||||
|
fg = 223
|
||||||
|
if context.message:
|
||||||
|
if context.bad:
|
||||||
|
attr |= bold
|
||||||
|
fg = 16
|
||||||
|
bg = 124
|
||||||
|
if context.loaded:
|
||||||
|
bg = self.progress_bar_color
|
||||||
|
if context.vcsinfo:
|
||||||
|
fg = 124
|
||||||
|
attr &= ~bold
|
||||||
|
if context.vcscommit:
|
||||||
|
fg = 124
|
||||||
|
attr &= ~bold
|
||||||
|
|
||||||
|
if context.text:
|
||||||
|
if context.highlight:
|
||||||
|
attr |= reverse
|
||||||
|
|
||||||
|
if context.in_taskview:
|
||||||
|
if context.title:
|
||||||
|
fg = 116
|
||||||
|
|
||||||
|
if context.selected:
|
||||||
|
attr |= reverse
|
||||||
|
|
||||||
|
if context.loaded:
|
||||||
|
if context.selected:
|
||||||
|
fg = self.progress_bar_color
|
||||||
|
else:
|
||||||
|
bg = self.progress_bar_color
|
||||||
|
|
||||||
|
if context.vcsfile and not context.selected:
|
||||||
|
attr &= ~bold
|
||||||
|
if context.vcsconflict:
|
||||||
|
fg = 16
|
||||||
|
bg = 124
|
||||||
|
elif context.vcschanged:
|
||||||
|
fg = 124
|
||||||
|
elif context.vcsunknown:
|
||||||
|
#fg = 246
|
||||||
|
fg = 200
|
||||||
|
elif context.vcsstaged:
|
||||||
|
fg = 40
|
||||||
|
elif context.vcssync:
|
||||||
|
fg = 124
|
||||||
|
elif context.vcsignored:
|
||||||
|
fg = default
|
||||||
|
|
||||||
|
elif context.vcsremote and not context.selected:
|
||||||
|
attr &= ~bold
|
||||||
|
if context.vcssync:
|
||||||
|
fg = 124
|
||||||
|
elif context.vcsbehind:
|
||||||
|
fg = 15
|
||||||
|
elif context.vcsahead:
|
||||||
|
fg = 20
|
||||||
|
elif context.vcsdiverged:
|
||||||
|
fg = 16
|
||||||
|
bg = 124
|
||||||
|
elif context.vcsunknown:
|
||||||
|
fg = 247
|
||||||
|
|
||||||
|
return fg, bg, attr
|
||||||
@@ -0,0 +1,761 @@
|
|||||||
|
# ===================================================================
|
||||||
|
# This file contains the default startup commands for ranger.
|
||||||
|
# To change them, it is recommended to create either /etc/ranger/rc.conf
|
||||||
|
# (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom
|
||||||
|
# commands there.
|
||||||
|
#
|
||||||
|
# If you copy this whole file there, you may want to set the environment
|
||||||
|
# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
|
||||||
|
#
|
||||||
|
# The purpose of this file is mainly to define keybindings and settings.
|
||||||
|
# For running more complex python code, please create a plugin in "plugins/" or
|
||||||
|
# a command in "commands.py".
|
||||||
|
#
|
||||||
|
# Each line is a command that will be run before the user interface
|
||||||
|
# is initialized. As a result, you can not use commands which rely
|
||||||
|
# on the UI such as :delete or :mark.
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Options
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Which viewmode should be used? Possible values are:
|
||||||
|
# miller: Use miller columns which show multiple levels of the hierarchy
|
||||||
|
# multipane: Midnight-commander like multipane view showing all tabs next
|
||||||
|
# to each other
|
||||||
|
set viewmode miller
|
||||||
|
#set viewmode multipane
|
||||||
|
|
||||||
|
# How many columns are there, and what are their relative widths?
|
||||||
|
set column_ratios 1,3,4
|
||||||
|
|
||||||
|
# Which files should be hidden? (regular expression)
|
||||||
|
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||||
|
|
||||||
|
# Show hidden files? You can toggle this by typing 'zh'
|
||||||
|
set show_hidden true
|
||||||
|
|
||||||
|
# Ask for a confirmation when running the "delete" command?
|
||||||
|
# Valid values are "always", "never", "multiple" (default)
|
||||||
|
# With "multiple", ranger will ask only if you delete multiple files at once.
|
||||||
|
set confirm_on_delete multiple
|
||||||
|
|
||||||
|
# Use non-default path for file preview script?
|
||||||
|
# ranger ships with scope.sh, a script that calls external programs (see
|
||||||
|
# README.md for dependencies) to preview images, archives, etc.
|
||||||
|
#set preview_script ~/.config/ranger/scope.sh
|
||||||
|
|
||||||
|
# Use the external preview script or display simple plain text or image previews?
|
||||||
|
set use_preview_script true
|
||||||
|
|
||||||
|
# Automatically count files in the directory, even before entering them?
|
||||||
|
set automatically_count_files true
|
||||||
|
|
||||||
|
# Open all images in this directory when running certain image viewers
|
||||||
|
# like feh or sxiv? You can still open selected files by marking them.
|
||||||
|
set open_all_images true
|
||||||
|
|
||||||
|
# Be aware of version control systems and display information.
|
||||||
|
set vcs_aware true
|
||||||
|
|
||||||
|
# State of the four backends git, hg, bzr, svn. The possible states are
|
||||||
|
# disabled, local (only show local info), enabled (show local and remote
|
||||||
|
# information).
|
||||||
|
set vcs_backend_git enabled
|
||||||
|
set vcs_backend_hg disabled
|
||||||
|
set vcs_backend_bzr disabled
|
||||||
|
set vcs_backend_svn disabled
|
||||||
|
|
||||||
|
# Truncate the long commit messages to this length when shown in the statusbar.
|
||||||
|
set vcs_msg_length 50
|
||||||
|
|
||||||
|
# Use one of the supported image preview protocols
|
||||||
|
set preview_images true
|
||||||
|
|
||||||
|
# Set the preview image method. Supported methods:
|
||||||
|
#
|
||||||
|
# * w3m (default):
|
||||||
|
# Preview images in full color with the external command "w3mimgpreview"?
|
||||||
|
# This requires the console web browser "w3m" and a supported terminal.
|
||||||
|
# It has been successfully tested with "xterm" and "urxvt" without tmux.
|
||||||
|
#
|
||||||
|
# * iterm2:
|
||||||
|
# Preview images in full color using iTerm2 image previews
|
||||||
|
# (http://iterm2.com/images.html). This requires using iTerm2 compiled
|
||||||
|
# with image preview support.
|
||||||
|
#
|
||||||
|
# This feature relies on the dimensions of the terminal's font. By default, a
|
||||||
|
# width of 8 and height of 11 are used. To use other values, set the options
|
||||||
|
# iterm2_font_width and iterm2_font_height to the desired values.
|
||||||
|
#
|
||||||
|
# * terminology:
|
||||||
|
# Previews images in full color in the terminology terminal emulator.
|
||||||
|
# Supports a wide variety of formats, even vector graphics like svg.
|
||||||
|
#
|
||||||
|
# * urxvt:
|
||||||
|
# Preview images in full color using urxvt image backgrounds. This
|
||||||
|
# requires using urxvt compiled with pixbuf support.
|
||||||
|
#
|
||||||
|
# * urxvt-full:
|
||||||
|
# The same as urxvt but utilizing not only the preview pane but the
|
||||||
|
# whole terminal window.
|
||||||
|
#
|
||||||
|
# * kitty:
|
||||||
|
# Preview images in full color using kitty image protocol.
|
||||||
|
# Requires python PIL or pillow library.
|
||||||
|
# If ranger does not share the local filesystem with kitty
|
||||||
|
# the transfer method is changed to encode the whole image;
|
||||||
|
# while slower, this allows remote previews,
|
||||||
|
# for example during an ssh session.
|
||||||
|
# Tmux is unsupported.
|
||||||
|
#
|
||||||
|
# * ueberzug:
|
||||||
|
# Preview images in full color with the external command "ueberzug".
|
||||||
|
# Images are shown by using a child window.
|
||||||
|
# Only for users who run X11 in GNU/Linux.
|
||||||
|
set preview_images_method ueberzug
|
||||||
|
|
||||||
|
# Delay in seconds before displaying an image with the w3m method.
|
||||||
|
# Increase it in case of experiencing display corruption.
|
||||||
|
set w3m_delay 0.02
|
||||||
|
|
||||||
|
# Manually adjust the w3mimg offset when using a terminal which needs this
|
||||||
|
set w3m_offset 0
|
||||||
|
|
||||||
|
# Default iTerm2 font size (see: preview_images_method: iterm2)
|
||||||
|
set iterm2_font_width 8
|
||||||
|
set iterm2_font_height 11
|
||||||
|
|
||||||
|
# Use a unicode "..." character to mark cut-off filenames?
|
||||||
|
set unicode_ellipsis false
|
||||||
|
|
||||||
|
# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
|
||||||
|
# Requires the python-bidi pip package
|
||||||
|
set bidi_support false
|
||||||
|
|
||||||
|
# Show dotfiles in the bookmark preview box?
|
||||||
|
set show_hidden_bookmarks true
|
||||||
|
|
||||||
|
# Which colorscheme to use? These colorschemes are available by default:
|
||||||
|
# default, jungle, snow, solarized
|
||||||
|
#set colorscheme zenburn
|
||||||
|
#set colorscheme default
|
||||||
|
set colorscheme gotham-2019
|
||||||
|
|
||||||
|
# Preview files on the rightmost column?
|
||||||
|
# And collapse (shrink) the last column if there is nothing to preview?
|
||||||
|
set preview_files true
|
||||||
|
set preview_directories true
|
||||||
|
set collapse_preview true
|
||||||
|
|
||||||
|
# Wrap long lines in plain text previews?
|
||||||
|
set wrap_plaintext_previews false
|
||||||
|
|
||||||
|
# Save the console history on exit?
|
||||||
|
set save_console_history true
|
||||||
|
|
||||||
|
# Draw the status bar on top of the browser window (default: bottom)
|
||||||
|
set status_bar_on_top false
|
||||||
|
|
||||||
|
# Draw a progress bar in the status bar which displays the average state of all
|
||||||
|
# currently running tasks which support progress bars?
|
||||||
|
set draw_progress_bar_in_status_bar true
|
||||||
|
|
||||||
|
# Draw borders around columns? (separators, outline, both, or none)
|
||||||
|
# Separators are vertical lines between columns.
|
||||||
|
# Outline draws a box around all the columns.
|
||||||
|
# Both combines the two.
|
||||||
|
set draw_borders both
|
||||||
|
|
||||||
|
# Display the directory name in tabs?
|
||||||
|
set dirname_in_tabs true
|
||||||
|
|
||||||
|
# Enable the mouse support?
|
||||||
|
set mouse_enabled true
|
||||||
|
|
||||||
|
# Display the file size in the main column or status bar?
|
||||||
|
set display_size_in_main_column true
|
||||||
|
set display_size_in_status_bar true
|
||||||
|
|
||||||
|
# Display the free disk space in the status bar?
|
||||||
|
set display_free_space_in_status_bar true
|
||||||
|
|
||||||
|
# Display files tags in all columns or only in main column?
|
||||||
|
set display_tags_in_all_columns true
|
||||||
|
|
||||||
|
# Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME`
|
||||||
|
set update_title true
|
||||||
|
|
||||||
|
# Set the tmux/screen window-name to "ranger"?
|
||||||
|
set update_tmux_title true
|
||||||
|
|
||||||
|
# Shorten the title if it gets long? The number defines how many
|
||||||
|
# directories are displayed at once, 0 turns off this feature.
|
||||||
|
set shorten_title 3
|
||||||
|
|
||||||
|
# Show hostname in titlebar?
|
||||||
|
set hostname_in_titlebar true
|
||||||
|
|
||||||
|
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
|
||||||
|
set tilde_in_titlebar true
|
||||||
|
|
||||||
|
# How many directory-changes or console-commands should be kept in history?
|
||||||
|
set max_history_size 20
|
||||||
|
set max_console_history_size 50
|
||||||
|
|
||||||
|
# Try to keep so much space between the top/bottom border when scrolling:
|
||||||
|
set scroll_offset 8
|
||||||
|
|
||||||
|
# Flush the input after each key hit? (Noticeable when ranger lags)
|
||||||
|
set flushinput true
|
||||||
|
|
||||||
|
# Padding on the right when there's no preview?
|
||||||
|
# This allows you to click into the space to run the file.
|
||||||
|
set padding_right true
|
||||||
|
|
||||||
|
# Save bookmarks (used with mX and `X) instantly?
|
||||||
|
# This helps to synchronize bookmarks between multiple ranger
|
||||||
|
# instances but leads to *slight* performance loss.
|
||||||
|
# When false, bookmarks are saved when ranger is exited.
|
||||||
|
set autosave_bookmarks true
|
||||||
|
|
||||||
|
# Save the "`" bookmark to disk. This can be used to switch to the last
|
||||||
|
# directory by typing "``".
|
||||||
|
set save_backtick_bookmark true
|
||||||
|
|
||||||
|
# You can display the "real" cumulative size of directories by using the
|
||||||
|
# command :get_cumulative_size or typing "dc". The size is expensive to
|
||||||
|
# calculate and will not be updated automatically. You can choose
|
||||||
|
# to update it automatically though by turning on this option:
|
||||||
|
set autoupdate_cumulative_size false
|
||||||
|
|
||||||
|
# Turning this on makes sense for screen readers:
|
||||||
|
set show_cursor false
|
||||||
|
|
||||||
|
# One of: size, natural, basename, atime, ctime, mtime, type, random
|
||||||
|
set sort natural
|
||||||
|
|
||||||
|
# Additional sorting options
|
||||||
|
set sort_reverse false
|
||||||
|
set sort_case_insensitive true
|
||||||
|
set sort_directories_first true
|
||||||
|
set sort_unicode false
|
||||||
|
|
||||||
|
# Enable this if key combinations with the Alt Key don't work for you.
|
||||||
|
# (Especially on xterm)
|
||||||
|
set xterm_alt_key false
|
||||||
|
|
||||||
|
# Whether to include bookmarks in cd command
|
||||||
|
set cd_bookmarks true
|
||||||
|
|
||||||
|
# Changes case sensitivity for the cd command tab completion
|
||||||
|
set cd_tab_case sensitive
|
||||||
|
|
||||||
|
# Use fuzzy tab completion with the "cd" command. For example,
|
||||||
|
# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
|
||||||
|
set cd_tab_fuzzy false
|
||||||
|
|
||||||
|
# Avoid previewing files larger than this size, in bytes. Use a value of 0 to
|
||||||
|
# disable this feature.
|
||||||
|
set preview_max_size 0
|
||||||
|
|
||||||
|
# The key hint lists up to this size have their sublists expanded.
|
||||||
|
# Otherwise the submaps are replaced with "...".
|
||||||
|
set hint_collapse_threshold 10
|
||||||
|
|
||||||
|
# Add the highlighted file to the path in the titlebar
|
||||||
|
set show_selection_in_titlebar true
|
||||||
|
|
||||||
|
# The delay that ranger idly waits for user input, in milliseconds, with a
|
||||||
|
# resolution of 100ms. Lower delay reduces lag between directory updates but
|
||||||
|
# increases CPU load.
|
||||||
|
set idle_delay 2000
|
||||||
|
|
||||||
|
# When the metadata manager module looks for metadata, should it only look for
|
||||||
|
# a ".metadata.json" file in the current directory, or do a deep search and
|
||||||
|
# check all directories above the current one as well?
|
||||||
|
set metadata_deep_search false
|
||||||
|
|
||||||
|
# Clear all existing filters when leaving a directory
|
||||||
|
set clear_filters_on_dir_change false
|
||||||
|
|
||||||
|
# Disable displaying line numbers in main column.
|
||||||
|
# Possible values: false, absolute, relative.
|
||||||
|
set line_numbers absolute
|
||||||
|
|
||||||
|
# When line_numbers=relative show the absolute line number in the
|
||||||
|
# current line.
|
||||||
|
set relative_current_zero false
|
||||||
|
|
||||||
|
# Start line numbers from 1 instead of 0
|
||||||
|
set one_indexed false
|
||||||
|
|
||||||
|
# Save tabs on exit
|
||||||
|
set save_tabs_on_exit false
|
||||||
|
|
||||||
|
# Enable scroll wrapping - moving down while on the last item will wrap around to
|
||||||
|
# the top and vice versa.
|
||||||
|
set wrap_scroll false
|
||||||
|
|
||||||
|
# Set the global_inode_type_filter to nothing. Possible options: d, f and l for
|
||||||
|
# directories, files and symlinks respectively.
|
||||||
|
set global_inode_type_filter
|
||||||
|
|
||||||
|
# This setting allows to freeze the list of files to save I/O bandwidth. It
|
||||||
|
# should be 'false' during start-up, but you can toggle it by pressing F.
|
||||||
|
set freeze_files false
|
||||||
|
|
||||||
|
# Print file sizes in bytes instead of the default human-readable format.
|
||||||
|
set size_in_bytes false
|
||||||
|
|
||||||
|
# Warn at startup if RANGER_LEVEL env var is greater than 0, in other words
|
||||||
|
# give a warning when you nest ranger in a subshell started by ranger.
|
||||||
|
# Special value "error" makes the warning more visible.
|
||||||
|
set nested_ranger_warning true
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Local Options
|
||||||
|
# ===================================================================
|
||||||
|
# You can set local options that only affect a single directory.
|
||||||
|
|
||||||
|
# Examples:
|
||||||
|
# setlocal path=~/downloads sort mtime
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Command Aliases in the Console
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
alias e edit
|
||||||
|
alias q quit
|
||||||
|
alias q! quit!
|
||||||
|
alias qa quitall
|
||||||
|
alias qa! quitall!
|
||||||
|
alias qall quitall
|
||||||
|
alias qall! quitall!
|
||||||
|
alias setl setlocal
|
||||||
|
|
||||||
|
alias filter scout -prts
|
||||||
|
alias find scout -aets
|
||||||
|
alias mark scout -mr
|
||||||
|
alias unmark scout -Mr
|
||||||
|
alias search scout -rs
|
||||||
|
alias search_inc scout -rts
|
||||||
|
alias travel scout -aefklst
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Define keys for the browser
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
map Q quitall
|
||||||
|
map q quit
|
||||||
|
copymap q ZZ ZQ
|
||||||
|
|
||||||
|
map R reload_cwd
|
||||||
|
map F set freeze_files!
|
||||||
|
map <C-r> reset
|
||||||
|
map <C-l> redraw_window
|
||||||
|
map <C-c> abort
|
||||||
|
map <esc> change_mode normal
|
||||||
|
map ~ set viewmode!
|
||||||
|
|
||||||
|
map i display_file
|
||||||
|
map <A-j> scroll_preview 1
|
||||||
|
map <A-k> scroll_preview -1
|
||||||
|
map ? help
|
||||||
|
map W display_log
|
||||||
|
map w taskview_open
|
||||||
|
map S shell $SHELL
|
||||||
|
|
||||||
|
map : console
|
||||||
|
map ; console
|
||||||
|
map ! console shell%space
|
||||||
|
map @ console -p6 shell %%s
|
||||||
|
map # console shell -p%space
|
||||||
|
map s console shell%space
|
||||||
|
map r chain draw_possible_programs; console open_with%space
|
||||||
|
map f console find%space
|
||||||
|
map cd console cd%space
|
||||||
|
|
||||||
|
map <C-p> chain console; eval fm.ui.console.history_move(-1)
|
||||||
|
|
||||||
|
# Change the line mode
|
||||||
|
map Mf linemode filename
|
||||||
|
map Mi linemode fileinfo
|
||||||
|
map Mm linemode mtime
|
||||||
|
map Mh linemode humanreadablemtime
|
||||||
|
map Mp linemode permissions
|
||||||
|
map Ms linemode sizemtime
|
||||||
|
map MH linemode sizehumanreadablemtime
|
||||||
|
map Mt linemode metatitle
|
||||||
|
|
||||||
|
# Tagging / Marking
|
||||||
|
map t tag_toggle
|
||||||
|
map ut tag_remove
|
||||||
|
map "<any> tag_toggle tag=%any
|
||||||
|
map <Space> mark_files toggle=True
|
||||||
|
map v mark_files all=True toggle=True
|
||||||
|
map uv mark_files all=True val=False
|
||||||
|
map V toggle_visual_mode
|
||||||
|
map uV toggle_visual_mode reverse=True
|
||||||
|
|
||||||
|
# For the nostalgics: Midnight Commander bindings
|
||||||
|
map <F1> help
|
||||||
|
map <F2> rename_append
|
||||||
|
map <F3> display_file
|
||||||
|
map <F4> edit
|
||||||
|
map <F5> copy
|
||||||
|
map <F6> cut
|
||||||
|
map <F7> console mkdir%space
|
||||||
|
map <F8> console delete
|
||||||
|
#map <F8> console trash
|
||||||
|
map <F10> exit
|
||||||
|
|
||||||
|
# In case you work on a keyboard with dvorak layout
|
||||||
|
map <UP> move up=1
|
||||||
|
map <DOWN> move down=1
|
||||||
|
map <LEFT> move left=1
|
||||||
|
map <RIGHT> move right=1
|
||||||
|
map <HOME> move to=0
|
||||||
|
map <END> move to=-1
|
||||||
|
map <PAGEDOWN> move down=1 pages=True
|
||||||
|
map <PAGEUP> move up=1 pages=True
|
||||||
|
map <CR> move right=1
|
||||||
|
#map <DELETE> console delete
|
||||||
|
map <INSERT> console touch%space
|
||||||
|
|
||||||
|
# VIM-like
|
||||||
|
copymap <UP> k
|
||||||
|
copymap <DOWN> j
|
||||||
|
copymap <LEFT> h
|
||||||
|
copymap <RIGHT> l
|
||||||
|
copymap <HOME> gg
|
||||||
|
copymap <END> G
|
||||||
|
copymap <PAGEDOWN> <C-F>
|
||||||
|
copymap <PAGEUP> <C-B>
|
||||||
|
|
||||||
|
map J move down=0.5 pages=True
|
||||||
|
map K move up=0.5 pages=True
|
||||||
|
copymap J <C-D>
|
||||||
|
copymap K <C-U>
|
||||||
|
|
||||||
|
# Jumping around
|
||||||
|
map H history_go -1
|
||||||
|
map L history_go 1
|
||||||
|
map ] move_parent 1
|
||||||
|
map [ move_parent -1
|
||||||
|
map } traverse
|
||||||
|
map { traverse_backwards
|
||||||
|
map ) jump_non
|
||||||
|
|
||||||
|
map gh cd ~
|
||||||
|
map ge cd /etc
|
||||||
|
map gu cd /usr
|
||||||
|
map gd cd /dev
|
||||||
|
map gl cd -r .
|
||||||
|
map gL cd -r %f
|
||||||
|
map go cd /opt
|
||||||
|
map gv cd /var
|
||||||
|
map gm cd /media
|
||||||
|
map gi eval fm.cd('/run/media/' + os.getenv('USER'))
|
||||||
|
map gM cd /mnt
|
||||||
|
map gs cd /srv
|
||||||
|
map gp cd /tmp
|
||||||
|
map gr cd /
|
||||||
|
map gR eval fm.cd(ranger.RANGERDIR)
|
||||||
|
map g/ cd /
|
||||||
|
map g? cd /usr/share/doc/ranger
|
||||||
|
|
||||||
|
# External Programs
|
||||||
|
map E edit
|
||||||
|
map du shell -p du --max-depth=1 -h --apparent-size
|
||||||
|
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
|
||||||
|
map yp yank path
|
||||||
|
map yd yank dir
|
||||||
|
map yn yank name
|
||||||
|
map y. yank name_without_extension
|
||||||
|
|
||||||
|
# Filesystem Operations
|
||||||
|
map = chmod
|
||||||
|
|
||||||
|
map cw console rename%space
|
||||||
|
map a rename_append
|
||||||
|
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
|
||||||
|
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
|
||||||
|
|
||||||
|
map pp paste
|
||||||
|
map po paste overwrite=True
|
||||||
|
map pP paste append=True
|
||||||
|
map pO paste overwrite=True append=True
|
||||||
|
map pl paste_symlink relative=False
|
||||||
|
map pL paste_symlink relative=True
|
||||||
|
map phl paste_hardlink
|
||||||
|
map pht paste_hardlinked_subtree
|
||||||
|
map pd console paste dest=
|
||||||
|
map p`<any> paste dest=%any_path
|
||||||
|
map p'<any> paste dest=%any_path
|
||||||
|
|
||||||
|
map dD console delete
|
||||||
|
map dT console trash
|
||||||
|
|
||||||
|
map dd cut
|
||||||
|
map ud uncut
|
||||||
|
map da cut mode=add
|
||||||
|
map dr cut mode=remove
|
||||||
|
map dt cut mode=toggle
|
||||||
|
|
||||||
|
map yy copy
|
||||||
|
map uy uncut
|
||||||
|
map ya copy mode=add
|
||||||
|
map yr copy mode=remove
|
||||||
|
map yt copy mode=toggle
|
||||||
|
|
||||||
|
# Temporary workarounds
|
||||||
|
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
||||||
|
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
||||||
|
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
||||||
|
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
||||||
|
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
||||||
|
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
||||||
|
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
||||||
|
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
||||||
|
|
||||||
|
# Searching
|
||||||
|
map / console search%space
|
||||||
|
map n search_next
|
||||||
|
map N search_next forward=False
|
||||||
|
map ct search_next order=tag
|
||||||
|
map cs search_next order=size
|
||||||
|
map ci search_next order=mimetype
|
||||||
|
map cc search_next order=ctime
|
||||||
|
map cm search_next order=mtime
|
||||||
|
map ca search_next order=atime
|
||||||
|
|
||||||
|
# Tabs
|
||||||
|
map <C-n> tab_new
|
||||||
|
map <C-w> tab_close
|
||||||
|
map <TAB> tab_move 1
|
||||||
|
map <S-TAB> tab_move -1
|
||||||
|
map <A-Right> tab_move 1
|
||||||
|
map <A-Left> tab_move -1
|
||||||
|
map gt tab_move 1
|
||||||
|
map gT tab_move -1
|
||||||
|
map gn tab_new
|
||||||
|
map gc tab_close
|
||||||
|
map uq tab_restore
|
||||||
|
map <a-1> tab_open 1
|
||||||
|
map <a-2> tab_open 2
|
||||||
|
map <a-3> tab_open 3
|
||||||
|
map <a-4> tab_open 4
|
||||||
|
map <a-5> tab_open 5
|
||||||
|
map <a-6> tab_open 6
|
||||||
|
map <a-7> tab_open 7
|
||||||
|
map <a-8> tab_open 8
|
||||||
|
map <a-9> tab_open 9
|
||||||
|
map <a-r> tab_shift 1
|
||||||
|
map <a-l> tab_shift -1
|
||||||
|
|
||||||
|
# Sorting
|
||||||
|
map or set sort_reverse!
|
||||||
|
map oz set sort=random
|
||||||
|
map os chain set sort=size; set sort_reverse=False
|
||||||
|
map ob chain set sort=basename; set sort_reverse=False
|
||||||
|
map on chain set sort=natural; set sort_reverse=False
|
||||||
|
map om chain set sort=mtime; set sort_reverse=False
|
||||||
|
map oc chain set sort=ctime; set sort_reverse=False
|
||||||
|
map oa chain set sort=atime; set sort_reverse=False
|
||||||
|
map ot chain set sort=type; set sort_reverse=False
|
||||||
|
map oe chain set sort=extension; set sort_reverse=False
|
||||||
|
|
||||||
|
map oS chain set sort=size; set sort_reverse=True
|
||||||
|
map oB chain set sort=basename; set sort_reverse=True
|
||||||
|
map oN chain set sort=natural; set sort_reverse=True
|
||||||
|
map oM chain set sort=mtime; set sort_reverse=True
|
||||||
|
map oC chain set sort=ctime; set sort_reverse=True
|
||||||
|
map oA chain set sort=atime; set sort_reverse=True
|
||||||
|
map oT chain set sort=type; set sort_reverse=True
|
||||||
|
map oE chain set sort=extension; set sort_reverse=True
|
||||||
|
|
||||||
|
map dc get_cumulative_size
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
map zc set collapse_preview!
|
||||||
|
map zd set sort_directories_first!
|
||||||
|
map zh set show_hidden!
|
||||||
|
map <C-h> set show_hidden!
|
||||||
|
copymap <C-h> <backspace>
|
||||||
|
copymap <backspace> <backspace2>
|
||||||
|
map zI set flushinput!
|
||||||
|
map zi set preview_images!
|
||||||
|
map zm set mouse_enabled!
|
||||||
|
map zp set preview_files!
|
||||||
|
map zP set preview_directories!
|
||||||
|
map zs set sort_case_insensitive!
|
||||||
|
map zu set autoupdate_cumulative_size!
|
||||||
|
map zv set use_preview_script!
|
||||||
|
map zf console filter%space
|
||||||
|
copymap zf zz
|
||||||
|
|
||||||
|
# Filter stack
|
||||||
|
map .d filter_stack add type d
|
||||||
|
map .f filter_stack add type f
|
||||||
|
map .l filter_stack add type l
|
||||||
|
map .m console filter_stack add mime%space
|
||||||
|
map .n console filter_stack add name%space
|
||||||
|
map .# console filter_stack add hash%space
|
||||||
|
map ." filter_stack add duplicate
|
||||||
|
map .' filter_stack add unique
|
||||||
|
map .| filter_stack add or
|
||||||
|
map .& filter_stack add and
|
||||||
|
map .! filter_stack add not
|
||||||
|
map .r filter_stack rotate
|
||||||
|
map .c filter_stack clear
|
||||||
|
map .* filter_stack decompose
|
||||||
|
map .p filter_stack pop
|
||||||
|
map .. filter_stack show
|
||||||
|
|
||||||
|
# Bookmarks
|
||||||
|
map `<any> enter_bookmark %any
|
||||||
|
map '<any> enter_bookmark %any
|
||||||
|
map m<any> set_bookmark %any
|
||||||
|
map um<any> unset_bookmark %any
|
||||||
|
|
||||||
|
map m<bg> draw_bookmarks
|
||||||
|
copymap m<bg> um<bg> `<bg> '<bg>
|
||||||
|
|
||||||
|
# Generate all the chmod bindings with some python help:
|
||||||
|
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
|
||||||
|
|
||||||
|
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Define keys for the console
|
||||||
|
# ===================================================================
|
||||||
|
# Note: Unmapped keys are passed directly to the console.
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
cmap <tab> eval fm.ui.console.tab()
|
||||||
|
cmap <s-tab> eval fm.ui.console.tab(-1)
|
||||||
|
cmap <ESC> eval fm.ui.console.close()
|
||||||
|
cmap <CR> eval fm.ui.console.execute()
|
||||||
|
cmap <C-l> redraw_window
|
||||||
|
|
||||||
|
copycmap <ESC> <C-c>
|
||||||
|
copycmap <CR> <C-j>
|
||||||
|
|
||||||
|
# Move around
|
||||||
|
cmap <up> eval fm.ui.console.history_move(-1)
|
||||||
|
cmap <down> eval fm.ui.console.history_move(1)
|
||||||
|
cmap <left> eval fm.ui.console.move(left=1)
|
||||||
|
cmap <right> eval fm.ui.console.move(right=1)
|
||||||
|
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
|
||||||
|
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
|
||||||
|
cmap <a-b> eval fm.ui.console.move_word(left=1)
|
||||||
|
cmap <a-f> eval fm.ui.console.move_word(right=1)
|
||||||
|
|
||||||
|
copycmap <a-b> <a-left>
|
||||||
|
copycmap <a-f> <a-right>
|
||||||
|
|
||||||
|
# Line Editing
|
||||||
|
cmap <backspace> eval fm.ui.console.delete(-1)
|
||||||
|
cmap <delete> eval fm.ui.console.delete(0)
|
||||||
|
cmap <C-w> eval fm.ui.console.delete_word()
|
||||||
|
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
|
||||||
|
cmap <C-k> eval fm.ui.console.delete_rest(1)
|
||||||
|
cmap <C-u> eval fm.ui.console.delete_rest(-1)
|
||||||
|
cmap <C-y> eval fm.ui.console.paste()
|
||||||
|
|
||||||
|
# And of course the emacs way
|
||||||
|
copycmap <ESC> <C-g>
|
||||||
|
copycmap <up> <C-p>
|
||||||
|
copycmap <down> <C-n>
|
||||||
|
copycmap <left> <C-b>
|
||||||
|
copycmap <right> <C-f>
|
||||||
|
copycmap <home> <C-a>
|
||||||
|
copycmap <end> <C-e>
|
||||||
|
copycmap <delete> <C-d>
|
||||||
|
copycmap <backspace> <C-h>
|
||||||
|
|
||||||
|
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
|
||||||
|
# and <backspace2> (code 127). To be sure, use both.
|
||||||
|
copycmap <backspace> <backspace2>
|
||||||
|
|
||||||
|
# This special expression allows typing in numerals:
|
||||||
|
cmap <allow_quantifiers> false
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Pager Keybindings
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Movement
|
||||||
|
pmap <down> pager_move down=1
|
||||||
|
pmap <up> pager_move up=1
|
||||||
|
pmap <left> pager_move left=4
|
||||||
|
pmap <right> pager_move right=4
|
||||||
|
pmap <home> pager_move to=0
|
||||||
|
pmap <end> pager_move to=-1
|
||||||
|
pmap <pagedown> pager_move down=1.0 pages=True
|
||||||
|
pmap <pageup> pager_move up=1.0 pages=True
|
||||||
|
pmap <C-d> pager_move down=0.5 pages=True
|
||||||
|
pmap <C-u> pager_move up=0.5 pages=True
|
||||||
|
|
||||||
|
copypmap <UP> k <C-p>
|
||||||
|
copypmap <DOWN> j <C-n> <CR>
|
||||||
|
copypmap <LEFT> h
|
||||||
|
copypmap <RIGHT> l
|
||||||
|
copypmap <HOME> g
|
||||||
|
copypmap <END> G
|
||||||
|
copypmap <C-d> d
|
||||||
|
copypmap <C-u> u
|
||||||
|
copypmap <PAGEDOWN> n f <C-F> <Space>
|
||||||
|
copypmap <PAGEUP> p b <C-B>
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
pmap <C-l> redraw_window
|
||||||
|
pmap <ESC> pager_close
|
||||||
|
copypmap <ESC> q Q i <F3>
|
||||||
|
pmap E edit_file
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Taskview Keybindings
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Movement
|
||||||
|
tmap <up> taskview_move up=1
|
||||||
|
tmap <down> taskview_move down=1
|
||||||
|
tmap <home> taskview_move to=0
|
||||||
|
tmap <end> taskview_move to=-1
|
||||||
|
tmap <pagedown> taskview_move down=1.0 pages=True
|
||||||
|
tmap <pageup> taskview_move up=1.0 pages=True
|
||||||
|
tmap <C-d> taskview_move down=0.5 pages=True
|
||||||
|
tmap <C-u> taskview_move up=0.5 pages=True
|
||||||
|
|
||||||
|
copytmap <UP> k <C-p>
|
||||||
|
copytmap <DOWN> j <C-n> <CR>
|
||||||
|
copytmap <HOME> g
|
||||||
|
copytmap <END> G
|
||||||
|
copytmap <C-u> u
|
||||||
|
copytmap <PAGEDOWN> n f <C-F> <Space>
|
||||||
|
copytmap <PAGEUP> p b <C-B>
|
||||||
|
|
||||||
|
# Changing priority and deleting tasks
|
||||||
|
tmap J eval -q fm.ui.taskview.task_move(-1)
|
||||||
|
tmap K eval -q fm.ui.taskview.task_move(0)
|
||||||
|
tmap dd eval -q fm.ui.taskview.task_remove()
|
||||||
|
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
|
||||||
|
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
|
||||||
|
tmap <delete> eval -q fm.ui.taskview.task_remove()
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
tmap <C-l> redraw_window
|
||||||
|
tmap <ESC> taskview_close
|
||||||
|
copytmap <ESC> q Q w <C-c>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
rofi.theme: /usr/share/rofi/themes/gotham-2019.rasi
|
||||||
Executable
+1
@@ -0,0 +1 @@
|
|||||||
|
@import "/usr/share/rofi/themes/gotham-2019.rasi"
|
||||||
@@ -0,0 +1,161 @@
|
|||||||
|
/************************************************
|
||||||
|
* ROFI Color theme
|
||||||
|
* User: dodd
|
||||||
|
* Copyright: 2026 dodd
|
||||||
|
* active-foreground: rgba ( 101, 172, 255, 100 % );
|
||||||
|
* foreground: rgba ( 0, 203, 212, 100 % );
|
||||||
|
***********************************************/
|
||||||
|
|
||||||
|
* {
|
||||||
|
red: rgba ( 220, 50, 47, 100 % );
|
||||||
|
dark: rgba ( 38, 139, 0, 100 % );
|
||||||
|
darker: rgba ( 15, 18, 29, 45 % );
|
||||||
|
black: rgba ( 0, 0, 0, 100 % );
|
||||||
|
|
||||||
|
spacing: 2;
|
||||||
|
border-color: rgba ( 220, 50, 47, 80 % );
|
||||||
|
//border-color: rgba ( 124, 131, 137, 100 % );
|
||||||
|
separatorcolor: @darker;
|
||||||
|
|
||||||
|
lightfg: rgba ( 255, 104, 117, 100 % );
|
||||||
|
lightbg: rgba ( 238, 232, 213, 100 % );
|
||||||
|
|
||||||
|
foreground: @red;
|
||||||
|
background: @darker;
|
||||||
|
|
||||||
|
normal-foreground: @foreground;
|
||||||
|
normal-background: @background;
|
||||||
|
selected-normal-foreground: rgba ( 220, 50, 47, 100 % );
|
||||||
|
selected-normal-background: rgba ( 125, 30, 30, 30 % );
|
||||||
|
alternate-normal-foreground: @foreground;
|
||||||
|
alternate-normal-background: rgba ( 30, 33, 44, 59 % );
|
||||||
|
|
||||||
|
active-foreground: @foreground;
|
||||||
|
//active-background: rgba ( 29, 31, 33, 17 % );
|
||||||
|
active-background: @darker;
|
||||||
|
selected-active-foreground: rgba ( 249, 249, 249, 100 % );
|
||||||
|
selected-active-background: @selected-normal-background;
|
||||||
|
alternate-active-foreground: @active-foreground;
|
||||||
|
alternate-active-background: rgba ( 0, 81, 96, 89 % );
|
||||||
|
|
||||||
|
urgent-foreground: rgba ( 204, 102, 102, 100 % );
|
||||||
|
urgent-background: rgba ( 29, 31, 33, 17 % );
|
||||||
|
selected-urgent-foreground: rgba ( 249, 249, 249, 100 % );
|
||||||
|
selected-urgent-background: rgba ( 165, 66, 66, 100 % );
|
||||||
|
alternate-urgent-foreground: @urgent-foreground;
|
||||||
|
alternate-urgent-background: rgba ( 0, 81, 96, 90 % );
|
||||||
|
}
|
||||||
|
window {
|
||||||
|
background-color: @background;
|
||||||
|
border: 1;
|
||||||
|
padding: 5;
|
||||||
|
}
|
||||||
|
mainbox {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
message {
|
||||||
|
border: 2px 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
textbox {
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
listview {
|
||||||
|
fixed-height: 0;
|
||||||
|
border: 2px 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
spacing: 2px ;
|
||||||
|
scrollbar: true;
|
||||||
|
padding: 2px 0px 0px ;
|
||||||
|
}
|
||||||
|
element {
|
||||||
|
border: 0;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
element.normal.normal {
|
||||||
|
background-color: @normal-background;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
element.normal.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @urgent-foreground;
|
||||||
|
}
|
||||||
|
element.normal.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
text-color: @active-foreground;
|
||||||
|
}
|
||||||
|
element.selected.normal {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
element.selected.urgent {
|
||||||
|
background-color: @selected-urgent-background;
|
||||||
|
text-color: @selected-urgent-foreground;
|
||||||
|
}
|
||||||
|
element.selected.active {
|
||||||
|
background-color: @selected-active-background;
|
||||||
|
text-color: @selected-active-foreground;
|
||||||
|
}
|
||||||
|
element.alternate.normal {
|
||||||
|
background-color: @alternate-normal-background;
|
||||||
|
text-color: @alternate-normal-foreground;
|
||||||
|
}
|
||||||
|
element.alternate.urgent {
|
||||||
|
background-color: @alternate-urgent-background;
|
||||||
|
text-color: @alternate-urgent-foreground;
|
||||||
|
}
|
||||||
|
element.alternate.active {
|
||||||
|
background-color: @alternate-active-background;
|
||||||
|
text-color: @alternate-active-foreground;
|
||||||
|
}
|
||||||
|
scrollbar {
|
||||||
|
width: 4px ;
|
||||||
|
border: 0;
|
||||||
|
handle-color: @normal-foreground;
|
||||||
|
handle-width: 8px ;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
mode-switcher {
|
||||||
|
border: 2px 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
button.selected {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
inputbar {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
case-indicator {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
entry {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
prompt {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
inputbar {
|
||||||
|
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||||
|
}
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: "::";
|
||||||
|
margin: 0px 0.3em 0em 0em ;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
// =============================================================================
|
||||||
|
// Auth: Alex Celani
|
||||||
|
// File: boot.go
|
||||||
|
// Revn: 10-10-2023 1.0
|
||||||
|
// Func: Blink a light when the pi boots (or on login, but who cares)
|
||||||
|
//
|
||||||
|
// TODO: create
|
||||||
|
// =============================================================================
|
||||||
|
// CHANGE LOG
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
// 06-23-2022: init
|
||||||
|
// 10-10-2023: imported flag
|
||||||
|
// added flag to define gpio pin at runtime
|
||||||
|
//
|
||||||
|
// =============================================================================
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
|
||||||
|
import (
|
||||||
|
"flag" // IntVar, Parse
|
||||||
|
"fmt" // Println
|
||||||
|
// rpio.Pin, Pin, Open, Close, Output, Toggle
|
||||||
|
"github.com/stianeikeland/go-rpio"
|
||||||
|
"os" // Exit
|
||||||
|
"time" // Sleep, time.Second
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Toggles a LED on physical pin 19 (mcu pin 10)
|
||||||
|
Connect a LED with resistor from pin 19 to ground.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
var pin rpio.Pin // global pin object
|
||||||
|
var num int // flag variable, holds pin number
|
||||||
|
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
|
||||||
|
// map input flag to variable
|
||||||
|
flag.IntVar( &num, "p", 10, "pin number" )
|
||||||
|
flag.Parse()
|
||||||
|
|
||||||
|
// create pin object at given pin number
|
||||||
|
pin = rpio.Pin( num )
|
||||||
|
// Open and map memory to access gpio, check for errors
|
||||||
|
if err := rpio.Open(); err != nil {
|
||||||
|
fmt.Println( "Fatal: pin open failed" )
|
||||||
|
fmt.Println( "Error: ", err.Error() )
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unmap gpio memory when done
|
||||||
|
defer rpio.Close()
|
||||||
|
|
||||||
|
// Set pin to output mode
|
||||||
|
pin.Output()
|
||||||
|
|
||||||
|
// Toggle pin 2 times
|
||||||
|
for i := 0; i < 4; i++ {
|
||||||
|
pin.Toggle()
|
||||||
|
time.Sleep(time.Second / 10)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# dev work
|
||||||
|
dev:
|
||||||
|
#!/usr/bin/bash
|
||||||
|
REPO=$(basename $(git rev-parse --show-toplevel))
|
||||||
|
BRANCH=$(git branch --show-current)
|
||||||
|
tmux has-session -t "$REPO->$BRANCH"
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
tmux attach-session -t "$REPO->$BRANCH"
|
||||||
|
else
|
||||||
|
tmux new-session -Ad -s "$REPO->$BRANCH"
|
||||||
|
tmux rename-window "write"
|
||||||
|
tmux new-window -a -t 1 -n "test"
|
||||||
|
tmux new-window -a -t 2 -n "git" lazygit
|
||||||
|
tmux new-window -a -t 3 -n "man"
|
||||||
|
tmux select-window -t 2
|
||||||
|
tmux select-window -t 1
|
||||||
|
tmux attach -t "$REPO->$BRANCH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# prep repo to be committed
|
||||||
|
prep:
|
||||||
|
mv justfile test_justfile
|
||||||
|
mv prod_justfile justfile
|
||||||
|
|
||||||
+12
-34
@@ -1,7 +1,7 @@
|
|||||||
// =============================================================================
|
// =============================================================================
|
||||||
// Auth: alex
|
// Auth: dodd
|
||||||
// File: boot.go
|
// File: boot.go
|
||||||
// Revn: 06-16-2026 2.0
|
// Revn: 06-23-2022 0.1
|
||||||
// Func: Blink a light when the pi boots (or on login, but who cares)
|
// Func: Blink a light when the pi boots (or on login, but who cares)
|
||||||
//
|
//
|
||||||
// TODO: create
|
// TODO: create
|
||||||
@@ -9,11 +9,6 @@
|
|||||||
// CHANGE LOG
|
// CHANGE LOG
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// 06-23-2022: init
|
// 06-23-2022: init
|
||||||
//*10-10-2023: imported flag
|
|
||||||
// added flag to define gpio pin at runtime
|
|
||||||
//*06-16-2026: added flag to control flash duration
|
|
||||||
// added flag to control amount of flashes
|
|
||||||
// added flag to decide between flash mode and toggle mode
|
|
||||||
//
|
//
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
|
|
||||||
@@ -21,12 +16,10 @@ package main
|
|||||||
|
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"flag" // IntVar, BoolVar, Float64Var, Parse
|
"fmt"
|
||||||
"fmt" // Println
|
|
||||||
// rpio.Pin, Pin, Open, Close, Output, Toggle
|
|
||||||
"github.com/stianeikeland/go-rpio"
|
"github.com/stianeikeland/go-rpio"
|
||||||
"os" // Exit
|
"os"
|
||||||
"time" // Sleep, time.Second
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -36,23 +29,13 @@ Connect a LED with resistor from pin 19 to ground.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
var pin rpio.Pin // global pin object
|
// Use mcu pin 10, corresponds to physical pin 19 on the pi
|
||||||
var num int // flag variable, holds pin number
|
var pin rpio.Pin
|
||||||
var dur float64 // flag variable, holds duration
|
|
||||||
var amt int // flag variable, holds times to flash
|
|
||||||
var tog bool // flag variable, hold toggle mode switch
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
// map input flag to variable
|
pin = rpio.Pin( 10 )
|
||||||
flag.IntVar( &num, "p", 10, "pin number" )
|
|
||||||
flag.Float64Var( &dur, "d", 100, "duration of flash (ms)" )
|
|
||||||
flag.IntVar( &amt, "n", 2, "amount of times to flash" )
|
|
||||||
flag.BoolVar( &tog, "t", false, "toggle mode" )
|
|
||||||
flag.Parse()
|
|
||||||
|
|
||||||
// create pin object at given pin number
|
|
||||||
pin = rpio.Pin( num )
|
|
||||||
// Open and map memory to access gpio, check for errors
|
// Open and map memory to access gpio, check for errors
|
||||||
if err := rpio.Open(); err != nil {
|
if err := rpio.Open(); err != nil {
|
||||||
fmt.Println( "Fatal: pin open failed" )
|
fmt.Println( "Fatal: pin open failed" )
|
||||||
@@ -66,15 +49,10 @@ func main() {
|
|||||||
// Set pin to output mode
|
// Set pin to output mode
|
||||||
pin.Output()
|
pin.Output()
|
||||||
|
|
||||||
if tog { // if user specifies toggle mode
|
// Toggle pin 2 times
|
||||||
pin.Toggle() // toggle
|
for i := 0; i < 4; i++ {
|
||||||
return // and leave
|
|
||||||
}
|
|
||||||
|
|
||||||
// Toggle pin 2*amt times
|
|
||||||
for i := 0; i < 2 * amt; i++ {
|
|
||||||
pin.Toggle()
|
pin.Toggle()
|
||||||
time.Sleep( time.Millisecond * time.Duration( dur ) )
|
time.Sleep(time.Second / 10)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,507 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
# ==============================================================================
|
||||||
|
# Auth: alex
|
||||||
|
# File: ygdra.sh
|
||||||
|
# Revn: 07-06-2026 1.0 WIP
|
||||||
|
# Func: terraform a fresh OS install
|
||||||
|
#
|
||||||
|
# TODO: pattern matching/S&R with symlinks?
|
||||||
|
# fish config
|
||||||
|
# check $SHELL ( this works )
|
||||||
|
# check $TERM
|
||||||
|
# git clones
|
||||||
|
# gitea setup/migrate/import?
|
||||||
|
# symlink configs based on user
|
||||||
|
# create configs for like most of the users
|
||||||
|
# system config
|
||||||
|
# test
|
||||||
|
# ==============================================================================
|
||||||
|
# CHANGE LOG
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# 06-23-2026: wrote os/package manager recognition
|
||||||
|
# wrote system update
|
||||||
|
# requested operating mode
|
||||||
|
# wrote quick outline
|
||||||
|
# 06-25-2026: light commenting
|
||||||
|
# added ubuntu to recognized os's
|
||||||
|
# added ubuntu to specific installs block
|
||||||
|
# requested specific users
|
||||||
|
# added rpi:
|
||||||
|
# vim fastfetch* go* julia* zig* caddy ranger
|
||||||
|
# pihole* gitea*
|
||||||
|
# added ubuntu:
|
||||||
|
# vim fastfetch* go* julia* zig* caddy pihole*
|
||||||
|
# gitea* ranger
|
||||||
|
# added cachy:
|
||||||
|
# go julia zig gitea pihole caddy arduino-cli
|
||||||
|
# arduino-ide-bin discord flameshot heroic
|
||||||
|
# snapchat balena just ranger zen
|
||||||
|
# added arch:
|
||||||
|
# vim fastfetch go julia zig gitea pihole caddy
|
||||||
|
# arduino-cli arduino-ide-bin discord flameshot
|
||||||
|
# heroic paru* snapchat* balena just ranger zen*
|
||||||
|
# 06-27-2026: added just for rpi
|
||||||
|
# fleshed out golang, fastfetch, julia, and rust/cargo
|
||||||
|
# 06-28-2026: added onefetch and just for all ( fuck onefetch build )
|
||||||
|
# removed ubuntu/debian snapchat and arduino
|
||||||
|
# added alacritty for arch and ubuntu
|
||||||
|
# added fish to arch, ubuntu, and pi
|
||||||
|
# added gitea and discord to ubuntu
|
||||||
|
# added zen to arch and ubuntu
|
||||||
|
# 06-29-2026: added paru install for arch
|
||||||
|
# 06-30-2026: moved caddy from system server install to general server
|
||||||
|
# started doing user specific .config symlinks
|
||||||
|
# added CWD variable to keep track of running directory
|
||||||
|
# 07-02-2026: download and install acli for all distros
|
||||||
|
# started to figure out symlinking configs
|
||||||
|
# 07-04-2026: added manhunter to user list (minipc server)
|
||||||
|
#*07-06-2026: added exit statement before symlinks, testing on cachy
|
||||||
|
# server
|
||||||
|
#
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# TODO
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# A config(gh)
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# C
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# R config
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# U config(gh)
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# all
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
# TODO i'm certain there's a better way to do this
|
||||||
|
CWD=$( pwd )
|
||||||
|
# TODO filter out the obvious part
|
||||||
|
RELEASE=$( cat /etc/os-release | grep -i "id=" )
|
||||||
|
OS=""
|
||||||
|
INS=""
|
||||||
|
FLAG=""
|
||||||
|
|
||||||
|
# get os and package manager
|
||||||
|
case $RELEASE in
|
||||||
|
*cachyos)
|
||||||
|
OS="cachyos"
|
||||||
|
INS="pacman"
|
||||||
|
INS2="paru"
|
||||||
|
FLAG="-S"
|
||||||
|
;;
|
||||||
|
*arch)
|
||||||
|
OS="arch"
|
||||||
|
INS="pacman"
|
||||||
|
INS2="paru"
|
||||||
|
FLAG="-S"
|
||||||
|
;;
|
||||||
|
*raspbian | *debian)
|
||||||
|
OS="rpi"
|
||||||
|
INS="apt"
|
||||||
|
FLAG="install"
|
||||||
|
;;
|
||||||
|
*ubuntu)
|
||||||
|
OS="ubuntu"
|
||||||
|
INS="apt"
|
||||||
|
FLAG="install"
|
||||||
|
;;
|
||||||
|
*) # default
|
||||||
|
OS="unknown"
|
||||||
|
INS="unknown"
|
||||||
|
FLAG="unknown"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# system update
|
||||||
|
case $OS in
|
||||||
|
cachyos | arch)
|
||||||
|
$INS -Syu
|
||||||
|
;;
|
||||||
|
rpi | ubuntu)
|
||||||
|
$INS update
|
||||||
|
$INS upgrade
|
||||||
|
;;
|
||||||
|
*) # quit if unrecognized
|
||||||
|
echo "os unknown"
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# get operating mode
|
||||||
|
echo "select operating mode:"
|
||||||
|
echo " 1) node"
|
||||||
|
echo " 2) server"
|
||||||
|
echo " 3) poweruser"
|
||||||
|
echo "[default: 1]: "
|
||||||
|
read MODE_DIRTY
|
||||||
|
|
||||||
|
# sanitize operating mode
|
||||||
|
MODE=""
|
||||||
|
case $MODE_DIRTY in
|
||||||
|
1 | 2 | 3)
|
||||||
|
MODE=$MODE_DIRTY
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
MODE=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# get user info
|
||||||
|
echo "select user from list:"
|
||||||
|
#echo " 1) batman/wayne"
|
||||||
|
echo " 2) batman-beyond/mcginnis"
|
||||||
|
echo " 3) nightwing/grayson"
|
||||||
|
#echo " 4) red-hood/todd"
|
||||||
|
echo " 5) red-robin/drake"
|
||||||
|
#echo " 6) robin/wayne"
|
||||||
|
echo " 7) oracle/gordon"
|
||||||
|
echo " 8) manhunter"
|
||||||
|
echo " 9) zeta"
|
||||||
|
#echo " 10) oracle/smoak"
|
||||||
|
#echo " 11) joker"
|
||||||
|
#echo " 12) owlman"
|
||||||
|
echo "[default: no user]: "
|
||||||
|
read USER_DIRTY
|
||||||
|
|
||||||
|
# sanitize user info
|
||||||
|
USER=""
|
||||||
|
case $USER_DIRTY in
|
||||||
|
1 | 2 | 3 | 5 | 7 | 8)
|
||||||
|
USER=$USER_DIRTY
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
USER=0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# rpi specific install
|
||||||
|
if [[ $OS -eq "rpi" ]]; then
|
||||||
|
$INS $FLAG vim
|
||||||
|
$INS $FLAG nmap
|
||||||
|
|
||||||
|
# install golang
|
||||||
|
mkdir -p ~/Documents/golang
|
||||||
|
cd ~/Documents/golang
|
||||||
|
wget https://go.dev/dl/go1.26.0.linux-armv6l.tar.gz
|
||||||
|
tar -C /usr/local -xzf go1.26.0.linux-armv6l.tar.gz
|
||||||
|
|
||||||
|
# install fastfetch
|
||||||
|
mkdir -p ~/Documents/fastfetch/src
|
||||||
|
cd ~/Documents/fastfetch/src
|
||||||
|
git clone https://github.com/fastfetch-cli/fastfetch
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
cmake --build . --target fastfetch
|
||||||
|
|
||||||
|
# install julia
|
||||||
|
curl -fsSL https://install.julialang.org | sh
|
||||||
|
|
||||||
|
# install rust/cargo
|
||||||
|
# TODO must press enter
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
|
|
||||||
|
# install just
|
||||||
|
cargo install just
|
||||||
|
|
||||||
|
# install fish
|
||||||
|
apt-add-repository ppa:fish-shell/release-3
|
||||||
|
$INS update
|
||||||
|
$INS $FLAG fish
|
||||||
|
|
||||||
|
# install onefetch
|
||||||
|
cargo install onefetch
|
||||||
|
|
||||||
|
# download acli ( arm )
|
||||||
|
cd ~
|
||||||
|
curl -LO "https://acli.atlassian.com/linux/latest/acli_linux_arm64/acli"
|
||||||
|
|
||||||
|
## user specific rpi install
|
||||||
|
## operating mode (server) specific rpi install
|
||||||
|
if [[ $MODE -eq 2 ]]; then
|
||||||
|
#$INS $FLAG pihole
|
||||||
|
|
||||||
|
# install gitea
|
||||||
|
cd ~/Documents
|
||||||
|
git clone https://github.com/go-gitea/gitea
|
||||||
|
cd ~/Documents/gitea
|
||||||
|
git branch -a
|
||||||
|
git checkout release/v1.26
|
||||||
|
## Download and install nvm:
|
||||||
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
|
||||||
|
|
||||||
|
## in lieu of restarting the shell
|
||||||
|
\. "$HOME/.nvm/nvm.sh"
|
||||||
|
|
||||||
|
## Download and install Node.js:
|
||||||
|
nvm install 22
|
||||||
|
|
||||||
|
## Verify the Node.js version:
|
||||||
|
node -v # Should print "v22.23.1".
|
||||||
|
|
||||||
|
## Verify npm version:
|
||||||
|
npm -v # Should print "10.9.8".
|
||||||
|
|
||||||
|
TAGS="bindata" make build
|
||||||
|
|
||||||
|
gitea completion bash # TODO update to fish
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#ubuntu specific install
|
||||||
|
if [[ $OS -eq "ubuntu" ]]; then
|
||||||
|
$INS $FLAG vim
|
||||||
|
$INS $FLAG nmap
|
||||||
|
|
||||||
|
# install golang
|
||||||
|
mkdir -p ~/Documents/golang
|
||||||
|
cd ~/Documents/golang
|
||||||
|
wget https://go.dev/dl/go1.26.0.linux-armv6l.tar.gz
|
||||||
|
tar -C /usr/local -xzf go1.26.0.linux-armv6l.tar.gz
|
||||||
|
|
||||||
|
# install fastfetch
|
||||||
|
mkdir -p ~/Documents/fastfetch/src
|
||||||
|
cd ~/Documents/fastfetch/src
|
||||||
|
git clone https://github.com/fastfetch-cli/fastfetch
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
cmake --build . --target fastfetch
|
||||||
|
|
||||||
|
# install julia
|
||||||
|
curl -fsSL https://install.julialang.org | sh
|
||||||
|
|
||||||
|
# install rust/cargo
|
||||||
|
# TODO must press enter
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
|
|
||||||
|
# install just
|
||||||
|
cargo install just
|
||||||
|
|
||||||
|
# install fish
|
||||||
|
apt-add-repository ppa:fish-shell/release-3
|
||||||
|
$INS update
|
||||||
|
$INS $FLAG fish
|
||||||
|
|
||||||
|
# install onefetch
|
||||||
|
cargo install onefetch
|
||||||
|
|
||||||
|
# download acli ( x86 )
|
||||||
|
cd ~
|
||||||
|
curl -LO "https://acli.atlassian.com/linux/latest/acli_linux_amd64/acli"
|
||||||
|
|
||||||
|
## user specific ubuntu install
|
||||||
|
## operating mode (server) specific ubuntu install
|
||||||
|
if [[ $MODE -eq 2 ]]; then
|
||||||
|
#$INS $FLAG pihole
|
||||||
|
# install gitea
|
||||||
|
cd ~/Documents
|
||||||
|
git clone https://github.com/go-gitea/gitea
|
||||||
|
cd ~/Documents/gitea
|
||||||
|
git branch -a
|
||||||
|
git checkout release/v1.26
|
||||||
|
## Download and install nvm:
|
||||||
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
|
||||||
|
|
||||||
|
## in lieu of restarting the shell
|
||||||
|
\. "$HOME/.nvm/nvm.sh"
|
||||||
|
|
||||||
|
## Download and install Node.js:
|
||||||
|
nvm install 22
|
||||||
|
|
||||||
|
## Verify the Node.js version:
|
||||||
|
node -v # Should print "v22.23.1".
|
||||||
|
|
||||||
|
## Verify npm version:
|
||||||
|
npm -v # Should print "10.9.8".
|
||||||
|
|
||||||
|
TAGS="bindata" make build
|
||||||
|
|
||||||
|
gitea completion bash # TODO update to fish
|
||||||
|
elif [[ $MODE -eq 1 ]]; then
|
||||||
|
$INS $FLAG alacritty
|
||||||
|
# install zen
|
||||||
|
curl -fsSL https://github.com/zen-browser/updates-server/raw/refs/heads/main/install.sh | sh
|
||||||
|
elif [[ $MODE -eq 3 ]]; then
|
||||||
|
$INS $FLAG alacritty
|
||||||
|
# install discord
|
||||||
|
wget https://palfrey.github.io/discord-apt/discord-repo_1.2_all.deb
|
||||||
|
sudo dpkg -i discord-repo_1.2_all.deb
|
||||||
|
sudo apt-get update
|
||||||
|
$INS $FLAG fonts-noto-color-emoji
|
||||||
|
$INS $FLAG discord
|
||||||
|
# install zen
|
||||||
|
curl -fsSL https://github.com/zen-browser/updates-server/raw/refs/heads/main/install.sh | sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# arch specific install
|
||||||
|
if [[ $OS -eq "arch" ]]; then
|
||||||
|
$INS $FLAG vim
|
||||||
|
$INS $FLAG fastfetch
|
||||||
|
$INS $FLAG go
|
||||||
|
$INS $FLAG zig
|
||||||
|
$INS $FLAG julia
|
||||||
|
$INS $FLAG alacritty
|
||||||
|
$INS $FLAG rust
|
||||||
|
$INS $FLAG nmap
|
||||||
|
$INS $FLAG onefetch
|
||||||
|
$INS $FLAG fish
|
||||||
|
|
||||||
|
# install paru
|
||||||
|
mkdir -p ~/Documents/paru/src
|
||||||
|
git clone https://aur.archlinux.org/paru.git
|
||||||
|
cd ~/Documents/paru/src/paru
|
||||||
|
makepkg -si
|
||||||
|
|
||||||
|
# download acli ( x86 )
|
||||||
|
cd ~
|
||||||
|
curl -LO "https://acli.atlassian.com/linux/latest/acli_linux_amd64/acli"
|
||||||
|
|
||||||
|
## user specific arch install
|
||||||
|
## operating mode (server) specific arch install
|
||||||
|
if [[ $MODE -eq 2 ]]; then
|
||||||
|
$INS $FLAG gitea
|
||||||
|
#$INS $FLAG pihole
|
||||||
|
elif [[ $MODE -eq 1 ]]; then
|
||||||
|
$INS $FLAG arduino-cli
|
||||||
|
$INS $FLAG arduino-ide-bin
|
||||||
|
$INS $FLAG balena-etcher
|
||||||
|
elif [[ $MODE -eq 3 ]]; then
|
||||||
|
$INS $FLAG arduino-cli
|
||||||
|
$INS $FLAG arduino-ide-bin
|
||||||
|
$INS $FLAG balena-etcher
|
||||||
|
$INS $FLAG discord
|
||||||
|
$INS $FLAG flameshot
|
||||||
|
$INS $FLAG heroic-games-launcher
|
||||||
|
$INS2 $FLAG snapchat
|
||||||
|
$INS2 $FLAG zen-browser-bin
|
||||||
|
#zen
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# cachyos specific install
|
||||||
|
if [[ $OS -eq "cachyos" ]]; then
|
||||||
|
$INS $FLAG go
|
||||||
|
$INS $FLAG zig
|
||||||
|
$INS $FLAG julia
|
||||||
|
$INS $FLAG rust
|
||||||
|
$INS $FLAG nmap
|
||||||
|
$INS $FLAG onefetch
|
||||||
|
|
||||||
|
# download acli ( x86 )
|
||||||
|
cd ~
|
||||||
|
curl -LO "https://acli.atlassian.com/linux/latest/acli_linux_amd64/acli"
|
||||||
|
|
||||||
|
## user specific cachy install
|
||||||
|
## operating mode (server) specific cachy install
|
||||||
|
if [[ $MODE -eq 2 ]]; then
|
||||||
|
$INS $FLAG gitea
|
||||||
|
#$INS $FLAG pihole
|
||||||
|
elif [[ $MODE -eq 1 ]]; then
|
||||||
|
$INS $FLAG arduino-cli
|
||||||
|
$INS $FLAG arduino-ide-bin
|
||||||
|
$INS $FLAG balena-etcher
|
||||||
|
elif [[ $MODE -eq 3 ]]; then
|
||||||
|
$INS $FLAG arduino-cli
|
||||||
|
$INS $FLAG arduino-ide-bin
|
||||||
|
$INS $FLAG balena-etcher
|
||||||
|
$INS $FLAG discord
|
||||||
|
$INS $FLAG flameshot
|
||||||
|
$INS $FLAG heroic-games-launcher
|
||||||
|
$INS2 $FLAG snapchat
|
||||||
|
$INS $FLAG zen-browser-bin
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# general install
|
||||||
|
$INS $FLAG cmake
|
||||||
|
$INS $FLAG lazygit
|
||||||
|
$INS $FLAG ranger
|
||||||
|
$INS $FLAG tmux
|
||||||
|
|
||||||
|
# install acli
|
||||||
|
echo "installing acli"
|
||||||
|
chmod u+x ~/acli
|
||||||
|
mv ~/acli /usr/local/bin/
|
||||||
|
|
||||||
|
## user specific general install
|
||||||
|
## operating mode specific general install
|
||||||
|
if [[ $MODE -eq 2 ]]; then
|
||||||
|
$INS $FLAG caddy
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# GIT_CLONES
|
||||||
|
cd ~/Projects
|
||||||
|
#git clone https://github.com/alexander-the-alright/
|
||||||
|
#git clone https://codeberg.org/alexander-the-alright/ekho
|
||||||
|
git clone https://earth-1.net/oracle/ekho
|
||||||
|
# TODO install
|
||||||
|
|
||||||
|
exit
|
||||||
|
|
||||||
|
|
||||||
|
# CONFIG
|
||||||
|
# copy over configuration files
|
||||||
|
cd $CWD
|
||||||
|
ln -r -s ./config/i3/ ~/.config/i3/
|
||||||
|
ln -r -s ./config/polybar/ ~/.config/polybar/
|
||||||
|
ln -r -s ./config/rofi/ ~/.config/rofi/
|
||||||
|
ln -r -s ./config/.tmux/ ~/.config/.tmux/
|
||||||
|
|
||||||
|
ln -r -s ./config/.vim/ ~/.vim/
|
||||||
|
ln -r -s ./config/.vimrc ~/.vimrc
|
||||||
|
|
||||||
|
# TODO need to `sed` the config.json files in here to point to the correct
|
||||||
|
# logo, etc
|
||||||
|
# TODO symlink cachyos fish config files
|
||||||
|
|
||||||
|
#echo " 1) batman/wayne"
|
||||||
|
#echo " 2) batman-beyond/mcginnis"
|
||||||
|
#echo " 3) nightwing/grayson"
|
||||||
|
#echo " 4) red-hood/todd"
|
||||||
|
#echo " 5) red-robin/drake"
|
||||||
|
#echo " 6) robin/wayne"
|
||||||
|
#echo " 7) oracle/gordon"
|
||||||
|
#echo " 8) manhunter"
|
||||||
|
#echo " 9) zeta"
|
||||||
|
case $USER in
|
||||||
|
# 1)
|
||||||
|
# ;;
|
||||||
|
2)
|
||||||
|
ln -s -r ~/.config/i3/bb.config ~/.config/i3/config
|
||||||
|
ln -s -r ~/.config/polybar/bb.config ~/.config/polybar/config
|
||||||
|
ln -s -r ~/.config/rofi/bb.config ~/.config/rofi/config
|
||||||
|
ln -s -r ~/.config/rofi/bb.config.rasi ~/.config/rofi/config.rasi
|
||||||
|
ln -s -r ~/.config/.tmux/bb.tmux.conf ~/.tmux.conf
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
ln -s -r ./niri/ ~/.config/niri
|
||||||
|
ln -s -r ./nirimation/ ~/.config/nirimation
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
ln -s -r ./niri/ ~/.config/niri
|
||||||
|
ln -s -r ./nirimation/ ~/.config/nirimation
|
||||||
|
;;
|
||||||
|
7)
|
||||||
|
;;
|
||||||
|
8)
|
||||||
|
;;
|
||||||
|
9)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# dynu service/timer file
|
||||||
|
#chsh -s /usr/local/bin/fish
|
||||||
Reference in New Issue
Block a user