1
0

Compare commits

..

9 Commits

Author SHA1 Message Date
Karsten Hachmeister
d1496a8e17 atuin: ignore some common commands 2025-10-06 15:08:26 +02:00
Karsten Hachmeister
5709a13d56 update fish config 2025-10-06 14:37:59 +02:00
Karsten Hachmeister
13e736befd update atuin config 2025-10-06 14:37:59 +02:00
Karsten Hachmeister
e11410bce7 update ripgreprc 2025-10-06 14:37:59 +02:00
Karsten Hachmeister
de2479559f update .bashrc 2025-10-06 14:37:59 +02:00
5632fa794b fix fastfetch config 2025-09-23 22:28:01 +02:00
Karsten Hachmeister
04daef2c70 add fastfetch config 2025-07-25 16:01:39 +02:00
7154f22c51 update eww config 2025-02-07 17:59:10 +01:00
Karsten Hachmeister
746a5bf56b remove bootstrap commands 2025-02-07 10:30:59 +01:00
21 changed files with 401 additions and 547 deletions

View File

@@ -177,7 +177,7 @@ fi
# avp completions # avp completions
if [[ -x "$(command -v avp)" ]]; then if [[ -x "$(command -v avp)" ]]; then
. <(avp completion) . <(avp completion bash)
fi fi
# rustup completions # rustup completions
@@ -190,7 +190,7 @@ if [[ -x "$(command -v fnm)" ]]; then
fi fi
# Fuzzy search # Fuzzy search
source /usr/share/doc/fzf/examples/key-bindings.bash # source /usr/share/doc/fzf/examples/key-bindings.bash
# thefuck # thefuck
if [[ -x "$(command -v thefuck)" ]]; then if [[ -x "$(command -v thefuck)" ]]; then

View File

@@ -16,6 +16,12 @@
## date format used, either "us" or "uk" ## date format used, either "us" or "uk"
# dialect = "us" # 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 ## enable or disable automatic sync
auto_sync = true auto_sync = true
@@ -34,12 +40,17 @@ sync_address = "https://atuin.hachmeister.org"
## possible values: prefix, fulltext, fuzzy, skim ## possible values: prefix, fulltext, fuzzy, skim
# search_mode = "fuzzy" # search_mode = "fuzzy"
## which filter mode to use ## which filter mode to use by default
## possible values: global, host, session, directory ## possible values: "global", "host", "session", "directory", "workspace"
## consider using search.filters to customize the enablement and order of filter modes
# filter_mode = "global" # filter_mode = "global"
## With workspace filtering enabled, Atuin will filter for commands executed ## 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 # workspaces = false
## which filter mode to use when atuin is invoked from a shell up-key binding ## 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 ## set it to 0 to always go full screen
# inline_height = 0 # 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 the UI - put the search bar at the top , Default to `false`
# invert = false # invert = false
## enable or disable showing a preview of the selected command ## enable or disable showing a preview of the selected command
## useful when the command is longer than the terminal width and is cut off ## 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 ## what to do when the escape key is pressed when searching
## possible values: return-original, return-query ## possible values: return-original, return-query
@@ -84,6 +100,9 @@ style = "compact"
## alt-0 .. alt-9 ## alt-0 .. alt-9
# ctrl_n_shortcuts = false # 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. ## 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 ## 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. ## with ^ or end with $, they'll match anywhere in the command.
@@ -91,7 +110,7 @@ style = "compact"
## https://docs.rs/regex/latest/regex/#syntax ## https://docs.rs/regex/latest/regex/#syntax
# history_filter = [ # history_filter = [
# "^secret-cmd", # "^secret-cmd",
# "^innocuous-cmd .*--secret=.+" # "^innocuous-cmd .*--secret=.+",
# ] # ]
## prevent commands run with cwd matching any of these regexes from being written ## 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 ## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax ## https://docs.rs/regex/latest/regex/#syntax
# cwd_filter = [ # cwd_filter = [
# "^/very/secret/area" # "^/very/secret/area",
# ] # ]
## Configure the maximum height of the preview to show. ## Configure the maximum height of the preview to show.
@@ -113,6 +132,16 @@ style = "compact"
## amount of commands in your history. ## amount of commands in your history.
# show_help = true # 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 ## 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 ## 1. AWS key id
## 2. Github pat (old and new) ## 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. # This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
enter_accept = false 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] [stats]
# Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl ## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
#common_subcommands = [ # common_subcommands = [
# "apt",
# "cargo", # "cargo",
# "go", # "composer",
# "dnf",
# "docker",
# "git", # "git",
# "npm", # "go",
# "yarn", # "ip",
# "pnpm", # "jj",
# "kubectl", # "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 # Set commands that should be totally stripped and ignored from stats
#common_prefix = ["sudo"] #common_prefix = ["sudo"]
common_subcommands = [
"git", ## Set commands that will be completely ignored from stats
"npm", # 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" ]

View File

@@ -13,6 +13,8 @@ $blue: #42ddd9;
$dimblue: mix($blue, $black); $dimblue: mix($blue, $black);
$green: #7bdbb5; $green: #7bdbb5;
$dimgreen: mix($green, $black); $dimgreen: mix($green, $black);
$violet: #f375ff;
$dimviolet: mix($violet, $black);
$magenta: #d968c2; $magenta: #d968c2;
$cyan: #5dc5ee; $cyan: #5dc5ee;
@@ -39,22 +41,29 @@ $radius: 3px;
box-shadow: none; box-shadow: none;
label { label {
color: $fg-color;
text-shadow: none; text-shadow: none;
} }
&:focus { &:focus {
label {
color: $fg-color; color: $fg-color;
}
background-color: $hover; background-color: $hover;
} }
&:hover { &:hover {
label {
color: $fg-color; color: $fg-color;
}
background-color: $hover; background-color: $hover;
} }
&:active, &:active,
&.active { &.active {
label {
color: $fg-color; color: $fg-color;
}
background-color: $primary; background-color: $primary;
} }
} }
@@ -72,7 +81,10 @@ $radius: 3px;
color: #666; color: #666;
button { button {
@include button; @include button;
color: mix($fg-color, $black); label {
/* color: mix($fg-color, $black); */
/* color: $fg-color; */
}
&.visible { &.visible {
color: $fg-color; color: $fg-color;
@@ -122,6 +134,13 @@ $radius: 3px;
} }
} }
} }
&.battery {
label { color: $violet; }
trough {
background-color: $dimviolet;
progress { background-color: $violet; }
}
}
&.disk { &.disk {
label { color: $red; } label { color: $red; }
trough { trough {

View File

@@ -38,42 +38,51 @@
(defvar dummy "") (defvar dummy "")
(defwindow primary (defwindow primary
:monitor "DP-0" :monitor "eDP-1"
:windowtype "dock" :windowtype "dock"
:wm-ignore false :wm-ignore false
:geometry (geometry :width "100%" :anchor "top center") :geometry (geometry :width "100%" :anchor "top center")
:reserve (struts :side "top" :distance "10%") :reserve (struts :side "top" :distance "10%")
(primary_bar) (primary_bar :monitor "eDP-1")
) )
(defwindow secondary (defwindow secondary
:monitor "HDMI-0" :monitor "DP-2-1"
:windowtype "dock" :windowtype "dock"
:wm-ignore false :wm-ignore false
:geometry (geometry :width "100%" :anchor "top center") :geometry (geometry :width "100%" :anchor "top center")
:reserve (struts :side "top" :distance "10%") :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 (centerbox
:class "bar bar-primary" :class "bar bar-primary"
:orientation "horizontal" :orientation "horizontal"
:hexpand false :hexpand false
(left :monitor "DP-0") (left :monitor monitor)
(center) (center)
(right :monitor "DP-0") (right :monitor monitor)
) )
) )
(defwidget secondary_bar [] (defwidget secondary_bar [monitor]
(centerbox (centerbox
:class "bar bar-secondary" :class "bar bar-secondary"
:orientation "horizontal" :orientation "horizontal"
:hexpand false :hexpand false
(left :monitor "HDMI-0") (left :monitor monitor)
(center) (center)
(right :monitor "HDMI-0") (right :monitor monitor)
) )
) )
@@ -161,6 +170,11 @@
:halign "end" :halign "end"
:spacing 20 :spacing 20
:space-evenly false :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 (metric
:class "disk" :class "disk"
:label "󰋊" :label "󰋊"

View File

@@ -4,7 +4,7 @@
pkill eww pkill eww
# Open eww bars # Open eww bars
eww open-many primary secondary eww open-many primary secondary third
# Open eww-state # Open eww-state
sleep 1 sleep 1

View 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"
]
}

View File

@@ -2,6 +2,8 @@ if status is-interactive
fish_add_path ~/.cargo/bin fish_add_path ~/.cargo/bin
fish_add_path ~/.local/bin fish_add_path ~/.local/bin
bind ctrl-h backward-kill-word
# atuin # atuin
if command -q atuin if command -q atuin
atuin init fish --disable-up-arrow | source atuin init fish --disable-up-arrow | source

View File

@@ -1,2 +1,4 @@
# Enable smart case # Enable smart case
--smart-case --smart-case
--max-columns=256
--max-columns-preview

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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