Compare commits
14 Commits
6be443c8e3
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d1496a8e17 | ||
|
|
5709a13d56 | ||
|
|
13e736befd | ||
|
|
e11410bce7 | ||
|
|
de2479559f | ||
| 5632fa794b | |||
|
|
04daef2c70 | ||
| 7154f22c51 | |||
|
|
746a5bf56b | ||
|
|
1a5315038d | ||
|
|
aec19ab17b | ||
|
|
63b2427d62 | ||
|
|
bd1ab3ed07 | ||
|
|
03ae3b7bb8 |
4
.bashrc
4
.bashrc
@@ -177,7 +177,7 @@ fi
|
||||
|
||||
# avp completions
|
||||
if [[ -x "$(command -v avp)" ]]; then
|
||||
. <(avp completion)
|
||||
. <(avp completion bash)
|
||||
fi
|
||||
|
||||
# rustup completions
|
||||
@@ -190,7 +190,7 @@ if [[ -x "$(command -v fnm)" ]]; then
|
||||
fi
|
||||
|
||||
# Fuzzy search
|
||||
source /usr/share/doc/fzf/examples/key-bindings.bash
|
||||
# source /usr/share/doc/fzf/examples/key-bindings.bash
|
||||
|
||||
# thefuck
|
||||
if [[ -x "$(command -v thefuck)" ]]; then
|
||||
|
||||
@@ -16,6 +16,12 @@
|
||||
## date format used, either "us" or "uk"
|
||||
# dialect = "us"
|
||||
|
||||
## default timezone to use when displaying time
|
||||
## either "l", "local" to use the system's current local timezone, or an offset
|
||||
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
|
||||
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
|
||||
# timezone = "local"
|
||||
|
||||
## enable or disable automatic sync
|
||||
auto_sync = true
|
||||
|
||||
@@ -34,12 +40,17 @@ sync_address = "https://atuin.hachmeister.org"
|
||||
## possible values: prefix, fulltext, fuzzy, skim
|
||||
# search_mode = "fuzzy"
|
||||
|
||||
## which filter mode to use
|
||||
## possible values: global, host, session, directory
|
||||
## which filter mode to use by default
|
||||
## possible values: "global", "host", "session", "directory", "workspace"
|
||||
## consider using search.filters to customize the enablement and order of filter modes
|
||||
# filter_mode = "global"
|
||||
|
||||
## With workspace filtering enabled, Atuin will filter for commands executed
|
||||
## in any directory within a git repository tree (default: false)
|
||||
## in any directory within a git repository tree (default: false).
|
||||
##
|
||||
## To use workspace mode by default when available, set this to true and
|
||||
## set filter_mode to "workspace" or leave it unspecified and
|
||||
## set search.filters to include "workspace" before other filter modes.
|
||||
# workspaces = false
|
||||
|
||||
## which filter mode to use when atuin is invoked from a shell up-key binding
|
||||
@@ -60,12 +71,17 @@ style = "compact"
|
||||
## set it to 0 to always go full screen
|
||||
# inline_height = 0
|
||||
|
||||
## the maximum number of lines the interface should take up
|
||||
## when atuin is invoked from a shell up-key binding
|
||||
## the accepted values are identical to those of "inline_height"
|
||||
# inline_height_shell_up_key_binding = 0
|
||||
|
||||
## Invert the UI - put the search bar at the top , Default to `false`
|
||||
# invert = false
|
||||
|
||||
## enable or disable showing a preview of the selected command
|
||||
## useful when the command is longer than the terminal width and is cut off
|
||||
# show_preview = false
|
||||
# show_preview = true
|
||||
|
||||
## what to do when the escape key is pressed when searching
|
||||
## possible values: return-original, return-query
|
||||
@@ -84,6 +100,9 @@ style = "compact"
|
||||
## alt-0 .. alt-9
|
||||
# ctrl_n_shortcuts = false
|
||||
|
||||
## default history list format - can also be specified with the --format arg
|
||||
# history_format = "{time}\t{command}\t{duration}"
|
||||
|
||||
## prevent commands matching any of these regexes from being written to history.
|
||||
## Note that these regular expressions are unanchored, i.e. if they don't start
|
||||
## with ^ or end with $, they'll match anywhere in the command.
|
||||
@@ -91,7 +110,7 @@ style = "compact"
|
||||
## https://docs.rs/regex/latest/regex/#syntax
|
||||
# history_filter = [
|
||||
# "^secret-cmd",
|
||||
# "^innocuous-cmd .*--secret=.+"
|
||||
# "^innocuous-cmd .*--secret=.+",
|
||||
# ]
|
||||
|
||||
## prevent commands run with cwd matching any of these regexes from being written
|
||||
@@ -100,7 +119,7 @@ style = "compact"
|
||||
## For details on the supported regular expression syntax, see
|
||||
## https://docs.rs/regex/latest/regex/#syntax
|
||||
# cwd_filter = [
|
||||
# "^/very/secret/area"
|
||||
# "^/very/secret/area",
|
||||
# ]
|
||||
|
||||
## Configure the maximum height of the preview to show.
|
||||
@@ -113,6 +132,16 @@ style = "compact"
|
||||
## amount of commands in your history.
|
||||
# show_help = true
|
||||
|
||||
## Configure whether or not to show tabs for search and inspect
|
||||
# show_tabs = true
|
||||
|
||||
## Configure whether or not the tabs row may be auto-hidden, which includes the current Atuin
|
||||
## tab, such as Search or Inspector, and other tabs you may wish to see. This will
|
||||
## only be hidden if there are fewer than this count of lines available, and does not affect the use
|
||||
## of keyboard shortcuts to switch tab. 0 to never auto-hide, default is 8 (lines).
|
||||
## This is ignored except in `compact` mode.
|
||||
# auto_hide_height = 8
|
||||
|
||||
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
|
||||
## 1. AWS key id
|
||||
## 2. Github pat (old and new)
|
||||
@@ -125,21 +154,148 @@ style = "compact"
|
||||
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
|
||||
enter_accept = false
|
||||
|
||||
## Defaults to false. If enabled, when triggered after && or ||, Atuin will complete commands to chain rather than replace the current line.
|
||||
# command_chaining = false
|
||||
|
||||
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
|
||||
## search`. If this is set to "auto", the startup keymap mode in the Atuin
|
||||
## search is automatically selected based on the shell's keymap where the
|
||||
## keybinding is defined. If this is set to "emacs", "vim-insert", or
|
||||
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
|
||||
## the specified one.
|
||||
# keymap_mode = "auto"
|
||||
|
||||
## Cursor style in each keymap mode. If specified, the cursor style is changed
|
||||
## in entering the cursor shape. Available values are "default" and
|
||||
## "{blink,steady}-{block,underline,bar}".
|
||||
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
|
||||
|
||||
# network_connect_timeout = 5
|
||||
# network_timeout = 5
|
||||
|
||||
## Timeout (in seconds) for acquiring a local database connection (sqlite)
|
||||
# local_timeout = 5
|
||||
|
||||
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
|
||||
## Alternatively, set env NO_MOTION=true
|
||||
# prefers_reduced_motion = false
|
||||
|
||||
[stats]
|
||||
# Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
|
||||
#common_subcommands = [
|
||||
# "cargo",
|
||||
# "go",
|
||||
# "git",
|
||||
# "npm",
|
||||
# "yarn",
|
||||
# "pnpm",
|
||||
# "kubectl",
|
||||
#]
|
||||
#
|
||||
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
|
||||
# common_subcommands = [
|
||||
# "apt",
|
||||
# "cargo",
|
||||
# "composer",
|
||||
# "dnf",
|
||||
# "docker",
|
||||
# "git",
|
||||
# "go",
|
||||
# "ip",
|
||||
# "jj",
|
||||
# "kubectl",
|
||||
# "nix",
|
||||
# "nmcli",
|
||||
# "npm",
|
||||
# "pecl",
|
||||
# "pnpm",
|
||||
# "podman",
|
||||
# "port",
|
||||
# "systemctl",
|
||||
# "tmux",
|
||||
# "yarn",
|
||||
# ]
|
||||
|
||||
common_subcommands = [
|
||||
"apt",
|
||||
"cargo",
|
||||
"docker",
|
||||
"git",
|
||||
"go",
|
||||
"ip",
|
||||
"jj",
|
||||
"k",
|
||||
"kubectl",
|
||||
"npm",
|
||||
"systemctl",
|
||||
]
|
||||
|
||||
# Set commands that should be totally stripped and ignored from stats
|
||||
#common_prefix = ["sudo"]
|
||||
common_subcommands = [
|
||||
"git",
|
||||
"npm",
|
||||
|
||||
## Set commands that will be completely ignored from stats
|
||||
# ignored_commands = [
|
||||
# "cd",
|
||||
# "ls",
|
||||
# "vi"
|
||||
# ]
|
||||
|
||||
ignored_commands = [
|
||||
"cd",
|
||||
"l",
|
||||
"ls",
|
||||
]
|
||||
|
||||
[keys]
|
||||
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
|
||||
# scroll_exits = true
|
||||
# Defaults to true. The left arrow key will exit the TUI when scrolling before the first character
|
||||
# exit_past_line_start = true
|
||||
# Defaults to true. The right arrow key performs the same functionality as Tab and copies the selected line to the command line to be modified.
|
||||
# accept_past_line_end = true
|
||||
|
||||
[sync]
|
||||
# Enable sync v2 by default
|
||||
# This ensures that sync v2 is enabled for new installs only
|
||||
# In a later release it will become the default across the board
|
||||
records = true
|
||||
|
||||
[preview]
|
||||
## which preview strategy to use to calculate the preview height (respects max_preview_height).
|
||||
## possible values: auto, static
|
||||
## auto: length of the selected command.
|
||||
## static: length of the longest command stored in the history.
|
||||
## fixed: use max_preview_height as fixed height.
|
||||
# strategy = "auto"
|
||||
|
||||
[daemon]
|
||||
## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon`
|
||||
# enabled = false
|
||||
|
||||
## How often the daemon should sync in seconds
|
||||
# sync_frequency = 300
|
||||
|
||||
## The path to the unix socket used by the daemon (on unix systems)
|
||||
## linux/mac: ~/.local/share/atuin/atuin.sock
|
||||
## windows: Not Supported
|
||||
# socket_path = "~/.local/share/atuin/atuin.sock"
|
||||
|
||||
## Use systemd socket activation rather than opening the given path (the path must still be correct for the client)
|
||||
## linux: false
|
||||
## mac/windows: Not Supported
|
||||
# systemd_socket = false
|
||||
|
||||
## The port that should be used for TCP on non unix systems
|
||||
# tcp_port = 8889
|
||||
|
||||
# [theme]
|
||||
## Color theme to use for rendering in the terminal.
|
||||
## There are some built-in themes, including the base theme ("default"),
|
||||
## "autumn" and "marine". You can add your own themes to the "./themes" subdirectory of your
|
||||
## Atuin config (or ATUIN_THEME_DIR, if provided) as TOML files whose keys should be one or
|
||||
## more of AlertInfo, AlertWarn, AlertError, Annotation, Base, Guidance, Important, and
|
||||
## the string values as lowercase entries from this list:
|
||||
## https://ogeon.github.io/docs/palette/master/palette/named/index.html
|
||||
## If you provide a custom theme file, it should be called "NAME.toml" and the theme below
|
||||
## should be the stem, i.e. `theme = "NAME"` for your chosen NAME.
|
||||
# name = "autumn"
|
||||
|
||||
## Whether the theme manager should output normal or extra information to help fix themes.
|
||||
## Boolean, true or false. If unset, left up to the theme manager.
|
||||
# debug = true
|
||||
|
||||
[search]
|
||||
## The list of enabled filter modes, in order of priority.
|
||||
## The "workspace" mode is skipped when not in a workspace or workspaces = false.
|
||||
## Default filter mode can be overridden with the filter_mode setting.
|
||||
# filters = [ "global", "host", "session", "workspace", "directory" ]
|
||||
|
||||
|
||||
@@ -13,6 +13,8 @@ $blue: #42ddd9;
|
||||
$dimblue: mix($blue, $black);
|
||||
$green: #7bdbb5;
|
||||
$dimgreen: mix($green, $black);
|
||||
$violet: #f375ff;
|
||||
$dimviolet: mix($violet, $black);
|
||||
|
||||
$magenta: #d968c2;
|
||||
$cyan: #5dc5ee;
|
||||
@@ -39,22 +41,29 @@ $radius: 3px;
|
||||
box-shadow: none;
|
||||
|
||||
label {
|
||||
color: $fg-color;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
color: $fg-color;
|
||||
label {
|
||||
color: $fg-color;
|
||||
}
|
||||
background-color: $hover;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $fg-color;
|
||||
label {
|
||||
color: $fg-color;
|
||||
}
|
||||
background-color: $hover;
|
||||
}
|
||||
|
||||
&:active,
|
||||
&.active {
|
||||
color: $fg-color;
|
||||
label {
|
||||
color: $fg-color;
|
||||
}
|
||||
background-color: $primary;
|
||||
}
|
||||
}
|
||||
@@ -72,7 +81,10 @@ $radius: 3px;
|
||||
color: #666;
|
||||
button {
|
||||
@include button;
|
||||
color: mix($fg-color, $black);
|
||||
label {
|
||||
/* color: mix($fg-color, $black); */
|
||||
/* color: $fg-color; */
|
||||
}
|
||||
|
||||
&.visible {
|
||||
color: $fg-color;
|
||||
@@ -122,6 +134,13 @@ $radius: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.battery {
|
||||
label { color: $violet; }
|
||||
trough {
|
||||
background-color: $dimviolet;
|
||||
progress { background-color: $violet; }
|
||||
}
|
||||
}
|
||||
&.disk {
|
||||
label { color: $red; }
|
||||
trough {
|
||||
|
||||
@@ -38,42 +38,51 @@
|
||||
(defvar dummy "")
|
||||
|
||||
(defwindow primary
|
||||
:monitor "DP-0"
|
||||
:monitor "eDP-1"
|
||||
:windowtype "dock"
|
||||
:wm-ignore false
|
||||
:geometry (geometry :width "100%" :anchor "top center")
|
||||
:reserve (struts :side "top" :distance "10%")
|
||||
(primary_bar)
|
||||
(primary_bar :monitor "eDP-1")
|
||||
)
|
||||
|
||||
(defwindow secondary
|
||||
:monitor "HDMI-0"
|
||||
:monitor "DP-2-1"
|
||||
:windowtype "dock"
|
||||
:wm-ignore false
|
||||
:geometry (geometry :width "100%" :anchor "top center")
|
||||
:reserve (struts :side "top" :distance "10%")
|
||||
(secondary_bar)
|
||||
(secondary_bar :monitor "DP-2-1")
|
||||
)
|
||||
|
||||
(defwidget primary_bar []
|
||||
(defwindow third
|
||||
:monitor "DP-2-2"
|
||||
:windowtype "dock"
|
||||
:wm-ignore false
|
||||
:geometry (geometry :width "100%" :anchor "top center")
|
||||
:reserve (struts :side "top" :distance "10%")
|
||||
(secondary_bar :monitor "DP-2-2")
|
||||
)
|
||||
|
||||
(defwidget primary_bar [monitor]
|
||||
(centerbox
|
||||
:class "bar bar-primary"
|
||||
:orientation "horizontal"
|
||||
:hexpand false
|
||||
(left :monitor "DP-0")
|
||||
(left :monitor monitor)
|
||||
(center)
|
||||
(right :monitor "DP-0")
|
||||
(right :monitor monitor)
|
||||
)
|
||||
)
|
||||
|
||||
(defwidget secondary_bar []
|
||||
(defwidget secondary_bar [monitor]
|
||||
(centerbox
|
||||
:class "bar bar-secondary"
|
||||
:orientation "horizontal"
|
||||
:hexpand false
|
||||
(left :monitor "HDMI-0")
|
||||
(left :monitor monitor)
|
||||
(center)
|
||||
(right :monitor "HDMI-0")
|
||||
(right :monitor monitor)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -161,6 +170,11 @@
|
||||
:halign "end"
|
||||
:spacing 20
|
||||
:space-evenly false
|
||||
(metric
|
||||
:class "battery"
|
||||
:label "${ EWW_BATTERY["BAT0"].status == "Discharging" ? "" : "" }"
|
||||
:value { EWW_BATTERY["BAT0"].capacity }
|
||||
:tooltip "${ EWW_BATTERY["BAT0"].capacity } % - ${ EWW_BATTERY["BAT0"].status }")
|
||||
(metric
|
||||
:class "disk"
|
||||
:label ""
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
pkill eww
|
||||
|
||||
# Open eww bars
|
||||
eww open-many primary secondary
|
||||
eww open-many primary secondary third
|
||||
|
||||
# Open eww-state
|
||||
sleep 1
|
||||
|
||||
171
.config/fastfetch/config.jsonc
Normal file
171
.config/fastfetch/config.jsonc
Normal file
@@ -0,0 +1,171 @@
|
||||
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"padding": {
|
||||
"top": 2,
|
||||
"left": 1,
|
||||
"right": 1
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": "",
|
||||
"size": {
|
||||
"binaryPrefix": "si",
|
||||
"ndigits": 0
|
||||
},
|
||||
"percent": {
|
||||
"type": 2
|
||||
},
|
||||
"bar": {
|
||||
"char": {
|
||||
"elapsed": ""
|
||||
},
|
||||
"charTotal": " "
|
||||
},
|
||||
"key": {
|
||||
"width": 6
|
||||
}
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"type": "title",
|
||||
"color": {
|
||||
"user": "35",
|
||||
"host": "36"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "separator",
|
||||
"string": "▔"
|
||||
},
|
||||
{
|
||||
"type": "os",
|
||||
"key": "╭─",
|
||||
"format": "{3} ({12})",
|
||||
"keyColor": "32"
|
||||
},
|
||||
{
|
||||
"type": "host",
|
||||
"key": "├─",
|
||||
"keyColor": "32"
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": "├─",
|
||||
"format": "{1} {2}",
|
||||
"keyColor": "32"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": "├─$",
|
||||
"format": "{1} {4}",
|
||||
"keyColor": "32"
|
||||
},
|
||||
{
|
||||
"type": "packages",
|
||||
"key": "├─",
|
||||
"keyColor": "32"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": "╰─",
|
||||
"keyColor": "32"
|
||||
},
|
||||
"break",
|
||||
{
|
||||
"type": "cpu",
|
||||
"key": "╭─",
|
||||
"keyColor": "34"
|
||||
},
|
||||
{
|
||||
"type": "board",
|
||||
"key": "├─",
|
||||
"keyColor": "34"
|
||||
},
|
||||
{
|
||||
"type": "gpu",
|
||||
"key": "├─",
|
||||
"format": "{1} {2} ({3})",
|
||||
"keyColor": "34"
|
||||
},
|
||||
{
|
||||
"type": "sound",
|
||||
"key": "├─",
|
||||
"format": "{2}",
|
||||
"keyColor": "34"
|
||||
},
|
||||
{
|
||||
"type": "battery",
|
||||
"key": "├─",
|
||||
"keyColor": "34"
|
||||
},
|
||||
{
|
||||
"type": "memory",
|
||||
"key": "├─",
|
||||
"keyColor": "34"
|
||||
},
|
||||
{
|
||||
"type": "swap",
|
||||
"key": "├─",
|
||||
"keyColor": "34"
|
||||
},
|
||||
{
|
||||
"type": "disk",
|
||||
"key": "├─",
|
||||
"keyColor": "34"
|
||||
},
|
||||
{
|
||||
"type": "localip",
|
||||
"key": "╰─",
|
||||
"keyColor": "34",
|
||||
"showIpv4": true,
|
||||
"compact": true
|
||||
},
|
||||
"break",
|
||||
{
|
||||
"type": "display",
|
||||
"key": "╭─",
|
||||
"keyColor": "33",
|
||||
"compactType": "original"
|
||||
},
|
||||
{
|
||||
"type": "de",
|
||||
"key": "├─",
|
||||
"keyColor": "33"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": "├─",
|
||||
"keyColor": "33"
|
||||
},
|
||||
{
|
||||
"type": "theme",
|
||||
"key": "├─",
|
||||
"keyColor": "33"
|
||||
},
|
||||
{
|
||||
"type": "icons",
|
||||
"key": "├─",
|
||||
"keyColor": "33"
|
||||
},
|
||||
{
|
||||
"type": "cursor",
|
||||
"key": "├─",
|
||||
"keyColor": "33"
|
||||
},
|
||||
{
|
||||
"type": "font",
|
||||
"key": "├─",
|
||||
"format": "{2}",
|
||||
"keyColor": "33"
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": "╰─",
|
||||
"format": "{3}",
|
||||
"keyColor": "33"
|
||||
},
|
||||
"break"
|
||||
]
|
||||
}
|
||||
@@ -2,11 +2,19 @@ if status is-interactive
|
||||
fish_add_path ~/.cargo/bin
|
||||
fish_add_path ~/.local/bin
|
||||
|
||||
bind ctrl-h backward-kill-word
|
||||
|
||||
# atuin
|
||||
if command -q atuin
|
||||
atuin init fish --disable-up-arrow | source
|
||||
atuin gen-completions --shell fish | source
|
||||
end
|
||||
|
||||
# avp
|
||||
if command -q avp
|
||||
avp completion fish | source
|
||||
end
|
||||
|
||||
# bat
|
||||
if command -q bat
|
||||
alias cat="bat -pp"
|
||||
@@ -35,12 +43,18 @@ if status is-interactive
|
||||
# hx
|
||||
if command -q hx
|
||||
alias edit="hx"
|
||||
else if command -q helix
|
||||
alias edit="helix"
|
||||
end
|
||||
|
||||
# kubectl
|
||||
if command -q kubectl
|
||||
alias k="kubectl"
|
||||
alias wk="watch -c kubectl"
|
||||
if command -q viddy
|
||||
alias wk="viddy kubectl"
|
||||
else
|
||||
alias wk="watch -c kubectl"
|
||||
end
|
||||
complete -c k -w kubectl
|
||||
complete -c wk -w kubectl
|
||||
end
|
||||
@@ -61,6 +75,11 @@ if status is-interactive
|
||||
starship init fish | source
|
||||
end
|
||||
|
||||
# viddy
|
||||
if command -q viddy
|
||||
alias watch="viddy"
|
||||
end
|
||||
|
||||
# zoxide
|
||||
if command -q zoxide
|
||||
zoxide init fish | source
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
# Enable smart case
|
||||
--smart-case
|
||||
--max-columns=256
|
||||
--max-columns-preview
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
declare -A TOOLS=(
|
||||
[batcat]=bat
|
||||
[exa]=exa
|
||||
[fdfind]=fd-find
|
||||
[gron]=gron
|
||||
[kubecolor]=kubecolor
|
||||
[readelf]=binutils
|
||||
[rg]=ripgrep
|
||||
[thefuck]=thefuck
|
||||
)
|
||||
|
||||
PACKAGES=()
|
||||
|
||||
for tool in ${!TOOLS[@]}; do
|
||||
if [[ ! -x "$(command -v $tool)" ]]; then
|
||||
PACKAGES+=("${TOOLS[$tool]}")
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${#PACKAGES[@]} > 0 ]]; then
|
||||
echo sudo apt install $(printf " %s" "${PACKAGES[@]}")
|
||||
else
|
||||
echo All needed tools already installed.
|
||||
fi
|
||||
@@ -1,37 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="18.3.0"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v atuin)" ]]; then
|
||||
INSTALLED_VERSION="$(atuin --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "atuin version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing atuin version ${VERSION} ..."
|
||||
|
||||
URL="https://github.com/atuinsh/atuin/releases/download/v${VERSION}/atuin-x86_64-unknown-linux-gnu.tar.gz"
|
||||
|
||||
echo "Downloading from ${URL} ..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/atuin" ]]; then
|
||||
echo "Removing old atuin command..."
|
||||
rm -f "${INSTALL_DIR}/atuin"
|
||||
fi
|
||||
|
||||
echo "Unpacking atuin command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
tar --directory="${INSTALL_DIR}" -xf "${TARGET}" --strip-components 1 "atuin-x86_64-unknown-linux-gnu/atuin"
|
||||
|
||||
echo "Removing ${TARGET} ..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="1.26.0"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v dasel)" ]]; then
|
||||
INSTALLED_VERSION="$(dasel --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "dasel version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing dasel version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/TomWright/dasel/releases/download/v${VERSION}/dasel_linux_amd64"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/dasel" ]]; then
|
||||
echo "Removing old dasel command..."
|
||||
rm -f "${INSTALL_DIR}/dasel"
|
||||
fi
|
||||
|
||||
echo "Installing dasel command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
cp "${TARGET}" "${INSTALL_DIR}/dasel"
|
||||
chmod +x "${INSTALL_DIR}/dasel"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="0.13.0"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v delta)" ]]; then
|
||||
INSTALLED_VERSION="$(delta --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "Delta version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing delta version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/dandavison/delta/releases/download/${VERSION}/delta-${VERSION}-x86_64-unknown-linux-gnu.tar.gz"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/delta" ]]; then
|
||||
echo "Removing old delta command..."
|
||||
rm -f "${INSTALL_DIR}/delta"
|
||||
fi
|
||||
|
||||
echo "Unpacking delta command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
tar --directory="${INSTALL_DIR}" --strip-components 1 -xf "${TARGET}" "delta-${VERSION}-x86_64-unknown-linux-gnu/delta"
|
||||
chmod +x "${INSTALL_DIR}/delta"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="1.37.1"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v fnm)" ]]; then
|
||||
INSTALLED_VERSION="$(fnm --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "fnm version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing fnm version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/Schniz/fnm/releases/download/v${VERSION}/fnm-linux.zip"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/fnm" ]]; then
|
||||
echo "Removing old fnm command..."
|
||||
rm -f "${INSTALL_DIR}/fnm"
|
||||
fi
|
||||
|
||||
echo "Unpacking fnm command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
unzip "${TARGET}" fnm -d "${INSTALL_DIR}"
|
||||
chmod +x "${INSTALL_DIR}/fnm"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="1.4.1"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v glow)" ]]; then
|
||||
INSTALLED_VERSION="$(glow --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "glow version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing glow version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/charmbracelet/glow/releases/download/v${VERSION}/glow_${VERSION}_linux_x86_64.tar.gz"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/glow" ]]; then
|
||||
echo "Removing old glow command..."
|
||||
rm -f "${INSTALL_DIR}/glow"
|
||||
fi
|
||||
|
||||
echo "Unpacking glow command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
tar --directory="${INSTALL_DIR}" -xf "${TARGET}" glow
|
||||
chmod +x "${INSTALL_DIR}/glow"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,56 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
APPS_DIR="${HOME}/apps"
|
||||
|
||||
VERSION="24.03"
|
||||
INSTALL_DIR="${APPS_DIR}/helix"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v hx)" ]] ; then
|
||||
INSTALLED_VERSION="$(hx --version | grep -o '[0-9]\+\.[0-9.]\+')"
|
||||
fi
|
||||
|
||||
echo $VERSION
|
||||
echo $INSTALLED_VERSION
|
||||
exit 0
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]] ; then
|
||||
echo "Helix editor version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing helix editor version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/helix-editor/helix/releases/download/${VERSION}/helix-${VERSION}-x86_64-linux.tar.xz"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -d "${INSTALL_DIR}" ]] ; then
|
||||
echo "Removing old helix editor installation..."
|
||||
rm -rf "${INSTALL_DIR}"
|
||||
fi
|
||||
|
||||
echo "Unpacking file ${TARGET}..."
|
||||
mkdir -p "${APPS_DIR}"
|
||||
tar --directory="${APPS_DIR}" -xf "${TARGET}"
|
||||
|
||||
echo "Moving unpacked directory to ${INSTALL_DIR}"
|
||||
mv "${APPS_DIR}/helix-${VERSION}-x86_64-linux" "${INSTALL_DIR}"
|
||||
|
||||
echo "Creating link to helix editor executable..."
|
||||
mkdir -p "${HOME}/.local/bin"
|
||||
ln -s --force "${INSTALL_DIR}/hx" "${HOME}/.local/bin/"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
|
||||
echo "Fetching new grammars..."
|
||||
hx --grammar fetch
|
||||
|
||||
echo "Building new grammers..."
|
||||
hx --grammar build
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="0.8.0"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v jless)" ]]; then
|
||||
INSTALLED_VERSION="$(jless --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "jless version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing jless version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/PaulJuliusMartinez/jless/releases/download/v${VERSION}/jless-v${VERSION}-x86_64-unknown-linux-gnu.zip"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/jless" ]]; then
|
||||
echo "Removing old jless command..."
|
||||
rm -f "${INSTALL_DIR}/jless"
|
||||
fi
|
||||
|
||||
echo "Unpacking jless command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
unzip "${TARGET}" jless -d "${INSTALL_DIR}"
|
||||
chmod +x "${INSTALL_DIR}/jless"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="2.2.0"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v kalk)" ]]; then
|
||||
INSTALLED_VERSION="$(kalk --help | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "Kalk version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing kalk version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/PaddiM8/kalker/releases/download/v${VERSION}/kalker-linux"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/kalk" ]]; then
|
||||
echo "Removing old kalk command..."
|
||||
rm -f "${INSTALL_DIR}/kalk"
|
||||
fi
|
||||
|
||||
echo "Installing kalk command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
cp "${TARGET}" "${INSTALL_DIR}/kalk"
|
||||
chmod +x "${INSTALL_DIR}/kalk"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,49 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
APPS_DIR="${HOME}/apps"
|
||||
|
||||
VERSION="0.29.2"
|
||||
INSTALL_DIR="${APPS_DIR}/kitty"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v kitty)" ]] ; then
|
||||
INSTALLED_VERSION="$(kitty --version | grep -o '[0-9.]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]] ; then
|
||||
echo "Kitty version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing kitty version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/kovidgoyal/kitty/releases/download/v${VERSION}/kitty-${VERSION}-x86_64.txz"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -d "${INSTALL_DIR}" ]] ; then
|
||||
echo "Removing old kitty installation..."
|
||||
rm -rf "${INSTALL_DIR}"
|
||||
fi
|
||||
|
||||
echo "Unpacking file ${TARGET}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
tar --directory="${INSTALL_DIR}" -xf "${TARGET}"
|
||||
|
||||
echo "Creating link to kitty executable..."
|
||||
mkdir -p "${HOME}/.local/bin"
|
||||
ln -s --force "${INSTALL_DIR}/bin/kitty" "${HOME}/.local/bin/"
|
||||
|
||||
echo "Copy kitty.desktop file..."
|
||||
mkdir -p "${HOME}/.local/share/applications"
|
||||
cp "${INSTALL_DIR}/share/applications/kitty.desktop" "${HOME}/.local/share/applications/"
|
||||
sed -i "s|Icon=kitty|Icon=${INSTALL_DIR}/share/icons/hicolor/256x256/apps/kitty.png|g" "${HOME}/.local/share/applications/kitty.desktop"
|
||||
sed -i "s|Exec=kitty|Exec=${INSTALL_DIR}/bin/kitty|g" "${HOME}/.local/share/applications/kitty.desktop"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="0.7.6"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v sd)" ]]; then
|
||||
INSTALLED_VERSION="$(sd --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "sd version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing sd version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/chmln/sd/releases/download/v${VERSION}/sd-v${VERSION}-x86_64-unknown-linux-gnu"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/sd" ]]; then
|
||||
echo "Removing old sd command..."
|
||||
rm -f "${INSTALL_DIR}/sd"
|
||||
fi
|
||||
|
||||
echo "Installing sd command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
cp "${TARGET}" "${INSTALL_DIR}/sd"
|
||||
chmod +x "${INSTALL_DIR}/sd"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="1.19.0"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v starship)" ]]; then
|
||||
INSTALLED_VERSION="$(starship -V | grep starship | grep -o '[0-9.]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "Starship version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing starship version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/starship/starship/releases/download/v${VERSION}/starship-x86_64-unknown-linux-gnu.tar.gz"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/starship" ]]; then
|
||||
echo "Removing old starship command..."
|
||||
rm -f "${INSTALL_DIR}/starship"
|
||||
fi
|
||||
|
||||
echo "Unpacking starship command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
tar --directory="${INSTALL_DIR}" -xf "${TARGET}" starship
|
||||
chmod +x "${INSTALL_DIR}/starship"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
source "${BOOTSTRAP_LIB}/helpers"
|
||||
|
||||
VERSION="1.4.0"
|
||||
INSTALL_DIR="${HOME}/.local/bin"
|
||||
INSTALLED_VERSION=""
|
||||
|
||||
if [[ -x "$(command -v viu)" ]]; then
|
||||
INSTALLED_VERSION="$(viu --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')"
|
||||
fi
|
||||
|
||||
if [[ "$VERSION" == "$INSTALLED_VERSION" ]]; then
|
||||
echo "viu version ${VERSION} already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Installing viu version ${VERSION}..."
|
||||
|
||||
URL="https://github.com/atanunq/viu/releases/download/v${VERSION}/viu"
|
||||
|
||||
echo "Downloading from ${URL}..."
|
||||
TARGET="$(download "$URL")"
|
||||
|
||||
if [[ -f "${INSTALL_DIR}/viu" ]]; then
|
||||
echo "Removing old viu command..."
|
||||
rm -f "${INSTALL_DIR}/viu"
|
||||
fi
|
||||
|
||||
echo "Installing viu command to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
cp "${TARGET}" "${INSTALL_DIR}/viu"
|
||||
chmod +x "${INSTALL_DIR}/viu"
|
||||
|
||||
echo "Removing ${TARGET}..."
|
||||
rm -f "${TARGET}"
|
||||
Reference in New Issue
Block a user