Compare commits

...

22 Commits

Author SHA1 Message Date
3498c6b739 fix(tools): update git dirty without parameters 2023-07-13 17:07:18 +03:00
83eb7d861e feat(tools): sha256-matcher, cheat script tweaks 2023-07-12 22:44:08 +03:00
22090129ec feat(tools): dfm brew install tweaks 2023-07-12 21:19:18 +03:00
ivuorinen
5b0ca2a63b chore(git): Update submodules (automated)
config/nvim v3.32.0
2023-07-12 03:12:30 +00:00
ivuorinen
c5fa136a1f chore(git): Update submodules (automated)
dotbot v1.19.2
2023-07-10 03:16:15 +00:00
ivuorinen
9a63aaff74 chore(git): Update submodules (automated)
config/nvim v3.31.2
2023-07-08 03:15:59 +00:00
5e68077ac2 chore(nvim): Tweaks to the packages and configs 2023-07-08 02:56:44 +03:00
72b9acd710 chore(tools): Drop phpcs and use composer based 2023-07-08 01:12:33 +03:00
ivuorinen
469044bb2a chore(git): Update submodules (automated)
config/nvim v3.31.1
2023-07-07 03:14:04 +00:00
ivuorinen
96a362474c chore(git): Update submodules (automated)
config/nvim v3.30.7
2023-07-06 03:16:32 +00:00
ivuorinen
1b9dfac671 chore(git): Update submodules (automated)
config/nvim v3.30.4
2023-07-05 03:14:59 +00:00
ivuorinen
7dbaf8204b chore(git): Update submodules (automated)
config/nvim v3.30.2
2023-07-04 03:15:19 +00:00
ivuorinen
415d7d9026 chore(git): Update submodules (automated)
config/nvim v3.30.0
2023-07-02 03:15:34 +00:00
ivuorinen
6734d3c1ab chore(git): Update submodules (automated)
config/nvim v3.29.5
2023-06-30 03:09:11 +00:00
ivuorinen
b20d08aa69 chore(git): Update submodules (automated)
config/nvim v3.29.3
2023-06-29 03:11:44 +00:00
ivuorinen
e4da7534f8 chore(git): Update submodules (automated)
config/nvim v3.28.3
2023-06-27 03:15:32 +00:00
b39f7ec598 chore(brew): Update Brewfile 2023-06-26 12:13:39 +03:00
ivuorinen
0f8c1ef457 chore(git): Update submodules (automated)
config/nvim v3.27.1
2023-06-24 03:14:34 +00:00
ivuorinen
4b31ad9a7b chore(git): Update submodules (automated)
config/nvim v3.26.0
2023-06-23 03:16:40 +00:00
4d60d15831 feat(config): Added git recent alias 2023-06-22 14:50:06 +03:00
ivuorinen
90125c7278 chore(git): Update submodules (automated)
config/nvim v3.25.0
2023-06-22 03:04:44 +00:00
0035575f8b chore(brew): Update Brewfile 2023-06-21 23:04:43 +03:00
19 changed files with 207 additions and 53 deletions

View File

@@ -6,9 +6,7 @@ tap "gesquive/tap"
tap "github/gh"
tap "homebrew/autoupdate"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-fonts"
tap "homebrew/core"
tap "homebrew/services"
tap "jesseduffield/lazygit"
tap "mongodb/brew"
@@ -16,7 +14,7 @@ tap "shivammathur/extensions"
tap "shivammathur/php"
tap "teamookla/speedtest"
tap "xwmx/taps"
# Run your GitHub Actions locally 🚀
# Run your GitHub Actions locally
brew "act"
# Interpreted, interactive, object-oriented programming language
brew "python@3.11"
@@ -31,7 +29,7 @@ brew "arkade"
# Automatic configure script builder
brew "autoconf"
# GNU File, Shell, and Text utilities
brew "coreutils"
brew "coreutils", link: false
# Extendable version manager with support for Ruby, Node.js, Erlang & more
brew "asdf"
# Spell checker with better logic than ispell
@@ -52,6 +50,8 @@ brew "pkg-config"
brew "choose-rust"
# Cross-platform make
brew "cmake"
# Dependency manager for Cocoa projects
brew "cocoapods"
# Get, unpack, build, and install modules from CPAN
brew "cpanminus"
# Open source suite of directory software
@@ -72,6 +72,12 @@ brew "dotenv-linter"
brew "editorconfig-checker"
# Useful examples at the command-line
brew "eg-examples"
# C/C++ and Java libraries for Unicode and globalization
brew "icu4c"
# OpenType text shaping engine
brew "harfbuzz"
# Development kit for the Java programming language
brew "openjdk"
# Run arbitrary commands when files change
brew "entr"
# Simple, fast and user-friendly alternative to find
@@ -87,7 +93,7 @@ brew "fzf"
# Graphics library to dynamically manipulate images
brew "gd"
# Disk usage analyzer with console interface written in Go
brew "gdu", link: false
brew "gdu"
# GitHub command-line tool
brew "gh"
# Distributed revision control system
@@ -112,10 +118,6 @@ brew "gnupg"
brew "go"
# Image manipulation
brew "netpbm"
# C/C++ and Java libraries for Unicode and globalization
brew "icu4c"
# OpenType text shaping engine
brew "harfbuzz"
# Framework for layout and rendering of i18n text
brew "pango"
# Library to render SVG files using Cairo
@@ -190,6 +192,8 @@ brew "rcm"
brew "ripgrep"
# Powerful, clean, object-oriented scripting language
brew "ruby"
# Safe, concurrent, practical language
brew "rust"
# Static analysis and lint tool, for (ba)sh scripts
brew "shellcheck"
# Autoformat shell script source code
@@ -199,9 +203,7 @@ brew "starship"
# Version control system designed to be a better CVS
brew "subversion"
# Send macOS User Notifications from the command-line
brew "terminal-notifier", link: false
# Tool to build, change, and version infrastructure
brew "terraform", link: false
brew "terminal-notifier"
# Thin wrapper for Terraform e.g. for locking state
brew "terragrunt"
# Tool which checks for the support of TLS/SSL ciphers and flaws
@@ -276,6 +278,8 @@ cask "dbngin"
cask "docker"
# Reimagine your terminal
cask "fig"
# UI toolkit for building applications for mobile, web and desktop
cask "flutter"
# Unofficial overcast.fm podcast app
cask "fog"
# Typeface made for developers
@@ -304,6 +308,8 @@ cask "jetbrains-toolbox"
cask "lens"
# Keep all tasks from your todo apps on your menu bar
cask "monofocus"
# Neovim Client
cask "neovide"
# Reverse proxy, secure introspectable tunnels to localhost
cask "ngrok"
# Knowledge base that works on top of a local folder of plain text Markdown files
@@ -352,15 +358,15 @@ cask "vlc"
cask "voikkospellservice"
# Rust-based terminal
cask "warp"
# Mastodon, Pleroma, and Misskey client
cask "whalebird"
mas "1Password for Safari", id: 1569813296
mas "Actions", id: 1586435171
mas "Audiobook Builder", id: 1437681957
mas "Flow", id: 1423210932
mas "Ivory", id: 6444602274
mas "Keynote", id: 409183694
mas "Numbers", id: 409203825
mas "Pages", id: 409201541
mas "Tailscale", id: 1475387142
mas "Xcode", id: 497799835
vscode "akamud.vscode-theme-onelight"
vscode "amiralizadeh9480.laravel-extra-intellisense"
vscode "andrewleedham.vscode-css-modules"

View File

@@ -0,0 +1,18 @@
-- Global objects
globals = {
"astronvim",
"astronvim_installation",
"vim",
"bit",
}
-- Rerun tests only if their modification time changed
cache = true
-- Don't report unused self arguments of methods
self = false
ignore = {
"631", -- max_line_length
"212/_.*", -- unused argument, for vars with "_" prefix
}

View File

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

View File

@@ -22,6 +22,7 @@ return {
["<leader>b"] = { name = "Buffers" },
-- quick save
-- ["<C-s>"] = { ":w!<cr>", desc = "Save File" }, -- change description but the same command
["<leader>P"] = { ":Telescope projects<cr>", desc = "Update Projects listing" },
},
t = {
-- setting a mapping to false will disable it

View File

@@ -25,6 +25,8 @@ return {
icons_enabled = true,
-- disable notifications when toggling UI elements
ui_notifications_enabled = true,
-- enable experimental resession.nvim session management (will be default in AstroNvim v4)
resession_enabled = false,
},
}
-- If you need more control, you can use the function()...end notation

View File

@@ -30,7 +30,7 @@ return {
"folke/trouble.nvim",
opts = {
auto_open = true,
position = "right"
position = "bottom"
}
},
{ import = "astrocommunity.editing-support.refactoring-nvim" },
@@ -40,8 +40,15 @@ return {
{ import = "astrocommunity.indent.mini-indentscope" },
{ import = "astrocommunity.markdown-and-latex.glow-nvim" },
{ import = "astrocommunity.motion.harpoon" },
{ import = "astrocommunity.pack.ansible" },
{ import = "astrocommunity.pack.bash" },
{ import = "astrocommunity.pack.docker" },
{ import = "astrocommunity.pack.go" },
{ import = "astrocommunity.pack.html-css" },
{ import = "astrocommunity.pack.markdown" },
{ import = "astrocommunity.pack.php" },
{ import = "astrocommunity.project.neoconf-nvim" },
{ import = "astrocommunity.pack.typescript" },
{ import = "astrocommunity.pack.vue" },
{ import = "astrocommunity.project.nvim-spectre" },
{ import = "astrocommunity.project.project-nvim" },
{ import = "astrocommunity.test.neotest" },

View File

@@ -4,29 +4,41 @@ return {
{
"williamboman/mason-lspconfig.nvim",
-- overrides `require("mason-lspconfig").setup(...)`
opts = {
ensure_installed = {
"diagnosticls",
},
},
opts = function(_, opts)
-- add more things to the ensure_installed table protecting against community packs modifying it
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
-- "lua_ls",
})
end,
},
-- use mason-null-ls to configure Formatters/Linter
-- installation for null-ls sources
{
"jay-babu/mason-null-ls.nvim",
-- overrides `require("mason-null-ls").setup(...)`
opts = {
automatic_setup = true,
automatic_installation = true,
},
opts = function(_, opts)
-- add more things to the ensure_installed table protecting against community packs modifying it
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
-- "prettier",
-- "stylua",
})
opts.automatic_setup = true
opts.automatic_installation = true
end,
},
{
"jay-babu/mason-nvim-dap.nvim",
-- overrides `require("mason-nvim-dap").setup(...)`
opts = {
automatic_installation = true,
automatic_setup = true,
ensure_installed = { "python", "php", "js", "bash" },
},
opts = function(_, opts)
-- add more things to the ensure_installed table protecting against community packs modifying it
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
"python",
"php",
"js",
"bash"
})
opts.automatic_installation = true
opts.automatic_setup = true
end,
},
}

View File

@@ -30,14 +30,8 @@ return {
null_ls.builtins.diagnostics.tfsec,
null_ls.builtins.diagnostics.trail_space,
null_ls.builtins.diagnostics.tsc,
null_ls.builtins.diagnostics.vacuum,
null_ls.builtins.diagnostics.vint,
null_ls.builtins.diagnostics.vulture,
null_ls.builtins.diagnostics.yamllint,
null_ls.builtins.diagnostics.zsh,
null_ls.builtins.formatting.blade_formatter,
null_ls.builtins.formatting.clang_format,
null_ls.builtins.formatting.eslint,
null_ls.builtins.formatting.fixjson,
null_ls.builtins.formatting.isort,
null_ls.builtins.formatting.jq,
@@ -45,7 +39,6 @@ return {
null_ls.builtins.formatting.shfmt.with {
args = { "-i", "1", "-bn", "-ci", "-sr", "-kb", "-fn" },
},
null_ls.builtins.formatting.stylelint,
}
return config -- return final config table
end,

View File

@@ -1,7 +1,7 @@
return {
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
opts = function(_, opts)
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
"bash",
"c",
"cmake",
@@ -28,6 +28,6 @@ return {
"vim",
"vue",
"yaml",
},
},
})
end,
}

View File

@@ -12,7 +12,7 @@
rebase = true
[gpg]
format = ssh
format = ssh
[alias]
branchbydate = for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='%(refname:short)'
@@ -22,6 +22,7 @@
nah = !git reset --hard && git clean -df
reset-origin = !git fetch origin && git reset --hard origin/master && git clean -f -d
reset-upstream = !git fetch upstream && git reset --hard upstream/master && git clean -f -d
recent = "!r() { count=$1; git for-each-ref --sort=-committerdate refs/heads --format='%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)' --color=always --count=${count:=10} | column -ts'|';}; r"
rl = reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
tagdate = log --date-order --graph --tags --simplify-by-decoration --pretty=format:\"%ai %h %d\"
undo-commit = reset HEAD~ --soft
@@ -59,4 +60,5 @@
# dotfiles special config
[includeIf "hasconfig:remote.*.url:https://github.com/ivuorinen/dotfiles.git"]
path = ~/.dotfiles/config/git/special/dotfiles ;
path = ~/.dotfiles/config/git/special/dotfiles ;

View File

@@ -149,7 +149,7 @@ function section_brew
have brew && {
case "$1" in
install)
brew bundle install --file="$BREWFILE" && msg_yay "Done!"
brew bundle install --file="$BREWFILE" --force --quiet && msg_yay "Done!"
;;
update)
brew update && brew outdated && brew upgrade && brew cleanup

View File

@@ -46,7 +46,7 @@ gitdirty()
if [[ "${d:0:2}" == "--" ]] || [[ "$d" == "vendor" ]] || [[ "$d" == "node_modules" ]]; then
echo ""
else
cd "$d" > /dev/null
cd "$d"
# If we have `.git` folder, check it.
if [[ -d ".git" ]]; then
@@ -58,7 +58,7 @@ gitdirty()
printf " %s %s\n" "$ICON" "$(pwd)"
else
# If it wasn't git repository, check subdirectories.
gitdirtyrepos -- *
gitdirtyrepos ./*
fi
fi
cd .. > /dev/null

Binary file not shown.

50
local/bin/x-sha256sum-matcher Executable file
View File

@@ -0,0 +1,50 @@
#!/usr/bin/env bash
# x-sha256sum-matcher
#
# Check if two files are the same
#
# Ismo Vuorinen <https://github.com/ivuorinen> 2023
# MIT License
# ENV Variables
: "${VERBOSE:=0}" # VERBOSE=1 x-sha256sum-matcher file1 file2
file_1="$1"
file_2="$2"
# return sha256sum for file
# $1 - filename (string)
get_sha256sum() {
sha256sum "$1" | head -c 64
}
[ $# -eq 0 ] && {
echo "Usage: $0 file1.sh file2.sh" && exit 1
}
msg() {
[[ "$VERBOSE" -eq 1 ]] && echo "$1"
}
error() {
msg "(!) ERROR: $1" && exit 1
}
if [ ! -f "$file_1" ]; then
error "File 1 does not exist: $file_1"
fi
if [ ! -f "$file_2" ]; then
error "File 2 does not exist: $file_2"
fi
file_1_hash=$(get_sha256sum "$file_1")
file_2_hash=$(get_sha256sum "$file_2")
if [ "$file_1_hash" != "$file_2_hash" ]; then
error "Files do not match"
else
msg "(*) Success: Files do match"
exit 0;
fi

View File

@@ -35,8 +35,10 @@ for f in ${PBB_CHAPTERS[@]}; do
HEADER=$(grep -e '^[#] ' "$f" | head -1 | awk '{print tolower($2)}')
CHEAT_FILE="$CHEAT_DEST/${HEADER}"
if [ ! -f "$CHEAT_FILE" ]; then
cp "$f" "$CHEAT_FILE" && msg_run "$CHEAT_FILE"
replacable "$f" "$CHEAT_FILE"
override=$?
if [ "$override" -ne 1 ]; then
cp "$f" "$CHEAT_FILE" && msg_run "Updated: $CHEAT_FILE"
fi
LC_ALL=C perl -pi.bak -e 's/\<\!-- CHAPTER END --\>//' "$CHEAT_FILE"

View File

@@ -51,8 +51,10 @@ for d in "$TLDR_TEMP_DIR"/pages/*; do
TLDR_FILE="$SECTION_DIR/${FILENAME}"
# echo "-> dest: $TLDR_FILE"
if [ ! -f "$TLDR_FILE" ]; then
cp "$FILE" "$TLDR_FILE" && msg_run "$TLDR_FILE"
replacable "$FILE" "$TLDR_FILE"
override=$?
if [ "$override" -ne 1 ]; then
cp "$FILE" "$TLDR_FILE" && msg_run "Updated: $TLDR_FILE"
fi
if [ -f "$TLDR_FILE" ] && [ '---' != "$(head -1 < "$TLDR_FILE")" ]; then

View File

@@ -230,3 +230,42 @@ rnd()
{
echo $RANDOM | md5sum | head -c 20
}
# return sha256sum for file
# $1 - filename (string)
function get_sha256sum()
{
sha256sum "$1" | head -c 64
}
# Replacable file
#
# $1 - filename (string)
# $2 - filename (string)
#
# Returns 1 when replacable, 0 when not replacable.
function replacable()
{
FILE1="$1"
FILE2="$2"
[[ ! -r "$FILE1" ]] && { msg_err "File 1 ($FILE1) does not exist" && return 1; }
[[ ! -r "$FILE2" ]] && { msg_err "File 2 ($FILE2) does not exist" && return 1; }
FILE1_HASH=$(get_sha256sum "$FILE1")
FILE2_HASH=$(get_sha256sum "$FILE2")
[[ $FILE1_HASH = "" ]] && {
msg_err "Could not get hash for file 1 ($FILE1)" && return 1;
}
[[ $FILE2_HASH = "" ]] && {
msg_err "Could not get hash for file 2 ($FILE2)" && return 1;
}
[[ "$FILE1_HASH" == "$FILE2_HASH" ]] && {
msg_ok "Files match, not replacable" && return 0;
}
return 1;
}