mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-28 00:45:28 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 740ad17207 | |||
| c9d0284c91 | |||
| ac8b7beb9b | |||
| 2fa6c69e4a |
Submodule config/astronvim/lua/user updated: 6409f428be...95cad51402
1
config/cheat/cheatsheets/community
Submodule
1
config/cheat/cheatsheets/community
Submodule
Submodule config/cheat/cheatsheets/community added at 36bdb99dcf
84
config/cheat/conf.yml
Normal file
84
config/cheat/conf.yml
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
# The editor to use with 'cheat -e <sheet>'. Defaults to $EDITOR or $VISUAL.
|
||||
editor: EDITOR_PATH
|
||||
|
||||
# Should 'cheat' always colorize output?
|
||||
colorize: true
|
||||
|
||||
# Which 'chroma' colorscheme should be applied to the output?
|
||||
# Options are available here:
|
||||
# https://github.com/alecthomas/chroma/tree/master/styles
|
||||
style: monokai
|
||||
|
||||
# Which 'chroma' "formatter" should be applied?
|
||||
# One of: "terminal", "terminal256", "terminal16m"
|
||||
formatter: terminal16m
|
||||
|
||||
# Through which pager should output be piped?
|
||||
# 'less -FRX' is recommended on Unix systems
|
||||
# 'more' is recommended on Windows
|
||||
pager: PAGER_PATH
|
||||
|
||||
# Cheatpaths are paths at which cheatsheets are available on your local
|
||||
# filesystem.
|
||||
#
|
||||
# It is useful to sort cheatsheets into different cheatpaths for organizational
|
||||
# purposes. For example, you might want one cheatpath for community
|
||||
# cheatsheets, one for personal cheatsheets, one for cheatsheets pertaining to
|
||||
# your day job, one for code snippets, etc.
|
||||
#
|
||||
# Cheatpaths are scoped, such that more "local" cheatpaths take priority over
|
||||
# more "global" cheatpaths. (The most global cheatpath is listed first in this
|
||||
# file; the most local is listed last.) For example, if there is a 'tar'
|
||||
# cheatsheet on both global and local paths, you'll be presented with the local
|
||||
# one by default. ('cheat -p' can be used to view cheatsheets from alternative
|
||||
# cheatpaths.)
|
||||
#
|
||||
# Cheatpaths can also be tagged as "read only". This instructs cheat not to
|
||||
# automatically create cheatsheets on a read-only cheatpath. Instead, when you
|
||||
# would like to edit a read-only cheatsheet using 'cheat -e', cheat will
|
||||
# perform a copy-on-write of that cheatsheet from a read-only cheatpath to a
|
||||
# writeable cheatpath.
|
||||
#
|
||||
# This is very useful when you would like to maintain, for example, a
|
||||
# "pristine" repository of community cheatsheets on one cheatpath, and an
|
||||
# editable personal reponsity of cheatsheets on another cheatpath.
|
||||
#
|
||||
# Cheatpaths can be also configured to automatically apply tags to cheatsheets
|
||||
# on certain paths, which can be useful for querying purposes.
|
||||
# Example: 'cheat -t work jenkins'.
|
||||
#
|
||||
# Community cheatsheets must be installed separately, though you may have
|
||||
# downloaded them automatically when installing 'cheat'. If not, you may
|
||||
# download them here:
|
||||
#
|
||||
# https://github.com/cheat/cheatsheets
|
||||
cheatpaths:
|
||||
# Cheatpath properties mean the following:
|
||||
# 'name': the name of the cheatpath
|
||||
# (view with 'cheat -d', filter with 'cheat -p')
|
||||
# 'path': the filesystem path of the cheatsheet directory
|
||||
# (view with 'cheat -d')
|
||||
# 'tags': tags that should be automatically applied to sheets on this path
|
||||
# 'readonly': shall user-created ('cheat -e') cheatsheets be saved here?
|
||||
- name: community
|
||||
path: ~/.config/cheat/cheatsheets/community
|
||||
tags: [ community ]
|
||||
readonly: true
|
||||
|
||||
# If you have personalized cheatsheets, list them last. They will take
|
||||
# precedence over the more global cheatsheets.
|
||||
- name: personal
|
||||
path: ~/.config/cheat/cheatsheets/personal
|
||||
tags: [ personal ]
|
||||
readonly: false
|
||||
|
||||
# While it requires no configuration here, it's also worth noting that
|
||||
# cheat will automatically append directories named '.cheat' within the
|
||||
# current working directory to the 'cheatpath'. This can be very useful if
|
||||
# you'd like to closely associate cheatsheets with, for example, a directory
|
||||
# containing source code.
|
||||
#
|
||||
# Such "directory-scoped" cheatsheets will be treated as the most "local"
|
||||
# cheatsheets, and will override less "local" cheatsheets. Similarly,
|
||||
# directory-scoped cheatsheets will always be editable ('readonly: false').
|
||||
Submodule config/nvim updated: 8d142661f7...cf624ae587
32
config/yamllint/config
Normal file
32
config/yamllint/config
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
extends: default
|
||||
|
||||
ignore-from-file: [.gitignore, .yamlignore]
|
||||
|
||||
rules:
|
||||
braces:
|
||||
level: warning
|
||||
max-spaces-inside: 1
|
||||
brackets:
|
||||
level: warning
|
||||
max-spaces-inside: 1
|
||||
colons:
|
||||
level: warning
|
||||
commas:
|
||||
level: warning
|
||||
comments: disable
|
||||
comments-indentation: disable
|
||||
document-start: disable
|
||||
empty-lines:
|
||||
level: warning
|
||||
hyphens:
|
||||
level: warning
|
||||
indentation:
|
||||
level: warning
|
||||
indent-sequences: consistent
|
||||
line-length:
|
||||
level: warning
|
||||
allow-non-breakable-inline-mappings: true
|
||||
max: 120
|
||||
truthy: disable
|
||||
|
||||
Submodule dotbot-include updated: 6943c52125...88e6471cd6
@@ -93,9 +93,9 @@ function section_install
|
||||
;;
|
||||
nvm)
|
||||
curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/$VERSION_NVM/install.sh" | bash \
|
||||
&& nvm install --lts --latest-npm --default \
|
||||
&& git checkout "$HOME/.zshrc" \
|
||||
&& msg_yay "nvm installed!"
|
||||
&& nvm install --lts --latest-npm --default
|
||||
git checkout "$DOTFILES/base/zshrc"
|
||||
msg_yay "nvm installed!"
|
||||
;;
|
||||
npm)
|
||||
bash "$DOTFILES/scripts/install-npm-packages.sh" \
|
||||
|
||||
53
local/bin/x-hr
Executable file
53
local/bin/x-hr
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
# Simple script to output a solid line in the terminal
|
||||
# Useful for marking the end of a task in your bash log
|
||||
# Inspired by @LuRsT's script of the same name
|
||||
# Can be called directly, or source'd in *rc file
|
||||
#
|
||||
# Licensed under MIT, (C) Alicia Sykes 2022
|
||||
# See: https://github.com/Lissy93/dotfiles
|
||||
#
|
||||
# Modified by Ismo Vuorinen <https://github.com/ivuorinen> 2023
|
||||
|
||||
# Determine width of terminal
|
||||
hr_col_count="$(tput cols)"
|
||||
if [ -z "${hr_col_count+set}" ] || [ "$hr_col_count" -lt 1 ]; then
|
||||
hr_col_count="${COLUMNS:-80}"
|
||||
fi
|
||||
|
||||
# Colors
|
||||
CLR_RED="\033[1;31m"
|
||||
hr_color="${hr_color:=$CLR_RED}"
|
||||
hr_reset="\033[0m"
|
||||
|
||||
# Prints the HR line
|
||||
hr_draw_char() {
|
||||
local CHAR="$1"
|
||||
local LINE=''
|
||||
LINE=$(printf "%*s" "$((hr_col_count - 2))")
|
||||
LINE="${LINE// /${CHAR}}"
|
||||
echo -e "◀${hr_color}${LINE:0:${hr_col_count}}${hr_reset}▶"
|
||||
}
|
||||
|
||||
# Passes param and calls hr()
|
||||
hr() {
|
||||
for WORD in "${@:--}"; do
|
||||
hr_draw_char "$WORD"
|
||||
done
|
||||
}
|
||||
|
||||
# Determine if file is being run directly or sourced
|
||||
(
|
||||
[[ -n $ZSH_EVAL_CONTEXT && $ZSH_EVAL_CONTEXT =~ :file$ ]] \
|
||||
|| [[ -n $KSH_VERSION && $(cd "$(dirname -- "$0")" \
|
||||
&& printf '%s' "${PWD%/}/")$(basename -- "$0") != "${.sh.file}" ]] \
|
||||
|| [[ -n $BASH_VERSION ]] && (return 0 2>/dev/null)
|
||||
) && sourced=1 || sourced=0
|
||||
|
||||
# Either instantiate immediately, or set alias for later
|
||||
if [ "$sourced" -eq 0 ]; then
|
||||
[ "$0" == "${BASH_SOURCE[0]}" ] && hr "$@"
|
||||
else
|
||||
export alias hr='hr'
|
||||
fi
|
||||
|
||||
93
local/bin/x-welcome-banner
Executable file
93
local/bin/x-welcome-banner
Executable file
@@ -0,0 +1,93 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
######################################################################
|
||||
# 🌞 Welcome Banner #
|
||||
######################################################################
|
||||
# Prints personal greeting, system info and data about today #
|
||||
# Intended for use as a MOTD, for when using multiple systems #
|
||||
# For docs and more info, see: https://github.com/lissy93/dotfiles #
|
||||
# #
|
||||
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
||||
######################################################################
|
||||
|
||||
# Formatting variables
|
||||
COLOR_P='\033[1;36m'
|
||||
COLOR_S='\033[0;36m'
|
||||
RESET='\033[0m'
|
||||
|
||||
# Print time-based personalized message, using figlet & lolcat if availible
|
||||
function welcome_greeting () {
|
||||
h=$(date +%H)
|
||||
if [ "$h" -lt 04 ] || [[ $h -gt 22 ]];
|
||||
then greeting="Good Night"
|
||||
elif [ "$h" -lt 12 ];
|
||||
then greeting="Good morning"
|
||||
elif [ "$h" -lt 18 ];
|
||||
then greeting="Good afternoon"
|
||||
elif [ "$h" -lt 22 ];
|
||||
then greeting="Good evening"
|
||||
else
|
||||
greeting="Hello"
|
||||
fi
|
||||
WELCOME_MSG="$greeting $USER!"
|
||||
if hash lolcat 2>/dev/null && hash figlet 2>/dev/null; then
|
||||
echo "${WELCOME_MSG}" | figlet | lolcat
|
||||
else
|
||||
echo -e "$COLOR_P${WELCOME_MSG}${RESET}\n"
|
||||
fi
|
||||
}
|
||||
|
||||
# Print system information with neofetch, if it's installed
|
||||
function welcome_sysinfo () {
|
||||
if hash neofetch 2>/dev/null; then
|
||||
neofetch --shell_version off \
|
||||
--disable kernel distro shell resolution de wm wm_theme theme icons terminal \
|
||||
--backend off \
|
||||
--colors 4 8 4 4 8 6 \
|
||||
--color_blocks off \
|
||||
--memory_display info
|
||||
fi
|
||||
}
|
||||
|
||||
# Print todays info: Date, IP, weather, etc
|
||||
function welcome_today () {
|
||||
timeout=1
|
||||
echo -e "\033[1;34mToday\n------"
|
||||
|
||||
# Print date time
|
||||
echo -e "$COLOR_S$(date '+🗓️ Date: %A, %B %d, %Y at %H:%M')"
|
||||
|
||||
# Print local weather
|
||||
curl -s -m $timeout "https://wttr.in?format=%cWeather:+%C+%t,+%p+%w"
|
||||
echo -e "${RESET}"
|
||||
|
||||
# Print IP address
|
||||
if hash ip 2>/dev/null; then
|
||||
ip_address=$(ip route get 8.8.8.8 | awk -F"src " 'NR==1{split($2,a," ");print a[1]}')
|
||||
ip_interface=$(ip route get 8.8.8.8 | awk -F"dev " 'NR==1{split($2,a," ");print a[1]}')
|
||||
echo -e "${COLOR_S}🌐 IP: $(curl -s -m $timeout 'https://ipinfo.io/ip') (${ip_address} on ${ip_interface})"
|
||||
echo -e "${RESET}\n"
|
||||
fi
|
||||
}
|
||||
|
||||
# Putting it all together
|
||||
function welcome() {
|
||||
welcome_greeting
|
||||
welcome_sysinfo
|
||||
welcome_today
|
||||
}
|
||||
|
||||
# Determine if file is being run directly or sourced
|
||||
([[ -n $ZSH_EVAL_CONTEXT && $ZSH_EVAL_CONTEXT =~ :file$ ]] \
|
||||
|| [[ -n $KSH_VERSION && $(cd "$(dirname -- "$0")" \
|
||||
&& printf '%s' "${PWD%/}/")$(basename -- "$0") != "${.sh.file}" ]] \
|
||||
|| [[ -n $BASH_VERSION ]] && (return 0 2>/dev/null)
|
||||
) && sourced=1 || sourced=0
|
||||
|
||||
# If script being called directly run immediately
|
||||
if [ "$sourced" -eq 0 ]; then
|
||||
welcome "$@"
|
||||
fi
|
||||
|
||||
# EOF
|
||||
|
||||
@@ -12,6 +12,7 @@ have go && {
|
||||
github.com/google/yamlfmt/cmd/yamlfmt@latest
|
||||
github.com/ericchiang/pup@latest
|
||||
github.com/suntong/html2md@latest
|
||||
github.com/cheat/cheat/cmd/cheat@latest
|
||||
)
|
||||
|
||||
for pkg in "${packages[@]}"; do
|
||||
|
||||
@@ -15,7 +15,6 @@ have npm && {
|
||||
"prettier"
|
||||
"@bchatard/alfred-jetbrains"
|
||||
"@johnnymorganz/stylua-bin"
|
||||
"js-debug"
|
||||
"stylelint-lsp"
|
||||
"blade-formatter"
|
||||
"@loopback/cli"
|
||||
@@ -29,8 +28,17 @@ have npm && {
|
||||
# Skip comments
|
||||
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
|
||||
|
||||
msg_run "Installing npm package:" "$pkg"
|
||||
npm install -g --no-fund --no-progress --no-timing "$pkg"
|
||||
if [[ $(npm ls -g -p "$pkg") != "" ]]; then
|
||||
msg_run_done "$pkg" "already installed"
|
||||
else
|
||||
msg_run "Installing npm package:" "$pkg"
|
||||
npm install -g --no-fund --no-progress --no-timing "$pkg"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
done
|
||||
|
||||
msg_run "Upgrading all global packages"
|
||||
npm -g --no-progress --no-timing --no-fund outdated
|
||||
npm -g --no-timing --no-fund upgrade
|
||||
} || msg_err "npm could not be found."
|
||||
|
||||
Reference in New Issue
Block a user