Compare commits

...

11 Commits

Author SHA1 Message Date
fb48a86b27 Chore: Move renovate config under .github 2023-04-24 23:10:39 +03:00
f84d70ea61 Chore: Update nvim user config 2023-04-24 22:27:01 +03:00
14f02a2b93 Config: Disable snyk ad 2023-04-24 22:17:49 +03:00
9f60efee33 Chore: Update nvim 2023-04-24 22:16:59 +03:00
a834a9138a CI: Shellcheck ignore 1091 2023-04-24 16:58:57 +03:00
3a9ca6edab Chore: Update Brewfile 2023-04-24 16:24:20 +03:00
d8292ca033 fmt + brewfile update 2023-04-22 14:57:27 +03:00
e929b85669 brew: fzf 2023-04-22 14:56:34 +03:00
775d2abf13 tools: cheat configs & dirs 2023-04-22 11:17:36 +03:00
740ad17207 Tool: cheat, yamllint configs 2023-04-21 01:45:43 +03:00
c9d0284c91 dfm: Install command improvements 2023-04-18 07:44:01 +03:00
20 changed files with 227 additions and 23 deletions

View File

@@ -7,3 +7,7 @@ indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[.git{ignore,modules}]
indent_style = tab
indent_size = 1

7
.gitmodules vendored
View File

@@ -1,3 +1,4 @@
# vim: set expandtab:
[submodule "dotbot"]
path = dotbot
url = https://github.com/anishathalye/dotbot.git
@@ -26,3 +27,9 @@
update = rebase
branch = main
ignore = dirty
[submodule "cheat-community"]
path = config/cheat/cheatsheets/community
url = https://github.com/cheat/cheatsheets.git
ignore = dirty

2
.yamlignore Normal file
View File

@@ -0,0 +1,2 @@
# .yamlignore

View File

@@ -69,10 +69,14 @@ brew "eg-examples"
brew "faas-cli"
# Simple, fast and user-friendly alternative to find
brew "fd"
# Banner-like program prints strings as ASCII art
brew "figlet"
# Libraries to talk to Microsoft SQL Server and Sybase databases
brew "freetds"
# Monitor a directory for changes and run a shell command
brew "fswatch"
# Command-line fuzzy finder written in Go
brew "fzf"
# Disk usage analyzer with console interface written in Go
brew "gdu", link: false
# GitHub command-line tool
@@ -103,8 +107,6 @@ brew "netpbm"
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
brew "librsvg"
# Graph visualization software from AT&T and Bell Labs
@@ -129,6 +131,8 @@ brew "lazydocker"
brew "libpq"
# Linguistic software and Finnish dictionary
brew "libvoikko"
# Rainbows and unicorns in your console!
brew "lolcat"
# Package manager for the Lua programming language
brew "luarocks"
# Swiss Army Knife for macOS
@@ -139,8 +143,6 @@ brew "mas"
brew "midnight-commander"
# Ambitious Vim-fork focused on extensibility and agility
brew "neovim"
# No Nonsense Neovim Client in Rust
brew "neovide"
# Port scanning utility for large networks
brew "nmap"
# Manage multiple Node.js versions
@@ -155,6 +157,8 @@ brew "pandoc"
brew "perl"
# General-purpose scripting language
brew "php@8.1"
# Simple Python style checker in one Python file
brew "pycodestyle"
# Python version management
brew "pyenv"
# Migrate pip packages from one Python version to another
@@ -213,6 +217,8 @@ brew "watch"
brew "wget"
# Personal information dashboard for your terminal
brew "wtfutil"
# Check your $HOME for unwanted files and directories
brew "xdg-ninja"
# JavaScript package manager
brew "yarn"
# A vulnerability scanner for container images and filesystems
@@ -273,10 +279,14 @@ cask "insomnia"
cask "jetbrains-toolbox"
# Kubernetes IDE
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"
# Scheduling application focusing on organization
cask "omnifocus"
# Collaboration platform for API development
cask "postman"
# Display image info and preview unsupported formats in QuickLook
@@ -291,6 +301,8 @@ cask "quicklook-json"
cask "quicklookase"
# Automatically hides or quits apps after periods of inactivity
cask "quitter"
# Control your tools with a few keystrokes
cask "raycast"
# Move and resize windows using keyboard shortcuts or snap areas
cask "rectangle"
# MySQL/MariaDB database management
@@ -313,9 +325,10 @@ cask "vlc"
cask "voikkospellservice"
# Rust-based terminal
cask "warp"
# Mastodon, Pleroma, and Misskey client
cask "whalebird"
# View output from scripts in the menu bar
cask "xbar"
mas "1Password for Safari", id: 1569813296
mas "Flow", id: 1423210932
mas "pullBar", id: 1601913905
mas "Tailscale", id: 1475387142

1
add-submodules.sh Normal file → Executable file
View File

@@ -2,3 +2,4 @@
git submodule add --name dotbot-brew -f https://github.com/wren/dotbot-brew.git dotbot-brew
git submodule add --name dotbot-include -f https://gitlab.com/gnfzdz/dotbot-include.git dotbot-include
git submodule add --name cheat-community -f https://github.com/cheat/cheatsheets.git config/cheat/cheatsheets/community

84
config/cheat/conf.yml Normal file
View File

@@ -0,0 +1,84 @@
---
# The editor to use with 'cheat -e <sheet>'. Defaults to $EDITOR or $VISUAL.
editor: $EDITOR
# 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: terminal256
# Through which pager should output be piped?
# 'less -FRX' is recommended on Unix systems
# 'more' is recommended on Windows
pager: less -FRX
# 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').

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash
# shellcheck shell=bash
# shellcheck enable=external-sources
# shellcheck disable=1091
# vim: filetype=zsh
source "$DOTFILES/scripts/shared.sh"
@@ -31,6 +32,8 @@ have composer && {
have docker && {
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
x-dc "$DOCKER_CONFIG"
# Docker: Disable snyk ad
export DOCKER_SCAN_SUGGEST=false
}
# ffmpeg

View File

@@ -49,4 +49,14 @@ if [ "$SHELL" = "$(which zsh)" ]; then
export HISTFILE="$XDG_STATE_HOME/zsh/history"
zstyle ':completion:*' cache-path "$XDG_CACHE_HOME/zsh/zcompcache"
zstyle ':completion:*' list-colors "$LS_COLORS"
# fzf
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh ] \
&& source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh
fi
# If we are using bash
if [ "$SHELL" = "$(which bash)" ]; then
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.bash ] \
&& source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.bash
fi

View File

@@ -6,7 +6,7 @@
source "$DOTFILES/scripts/shared.sh"
# Weather in Tampere, or other city
function weather
weather()
{
# https://github.com/chubin/wttr.in#usage
local city="${1:-Tampere}"
@@ -14,25 +14,25 @@ function weather
}
# Docker
function ssh-docker
ssh-docker()
{
docker exec -it "$@" bash
}
# Create a new directory and enter it
function mkd
mkd()
{
mkdir -p "$@" && cd "$@" || exit
}
# All the dig info
function digga
digga()
{
dig +nocmd "$1" any +multiline +noall +answer
}
# Rector project to php version 8.0 by default.
function rector
rector()
{
local php="${1:-80}"
docker run -v "$(pwd)":/project rector/rector:latest process \
@@ -42,7 +42,7 @@ function rector
}
# Commit everything
function commit
commit()
{
commitMessage="$*"
@@ -54,7 +54,7 @@ function commit
eval "git commit -a -m '${commitMessage}'"
}
function scheduler
scheduler()
{
while :; do
php artisan schedule:run
@@ -63,13 +63,26 @@ function scheduler
done
}
function silent
silent()
{
"$@" >&/dev/null
}
ask()
{
while true; do
read -p "$1 ([y]/n) " -r
REPLY=${REPLY:-"y"}
if [[ $REPLY =~ ^[Yy]$ ]]; then
return 1
elif [[ $REPLY =~ ^[Nn]$ ]]; then
return 0
fi
done
}
# Defines default antigen bundles
function x-default-antigen-bundles
x-default-antigen-bundles()
{
# these should be always available
antigen bundle colored-man-pages
@@ -83,7 +96,6 @@ function x-default-antigen-bundles
antigen bundle zsh-users/zsh-syntax-highlighting
# these should be available if there's need
have git && antigen bundle git
have brew && antigen bundle brew
have docker && antigen bundle docker
have docker-compose && antigen bundle sroze/docker-compose-zsh-plugin

13
config/fzf/fzf.bash Normal file
View File

@@ -0,0 +1,13 @@
# Setup fzf
# ---------
if [[ ! "$PATH" == */opt/homebrew/opt/fzf/bin* ]]; then
PATH="${PATH:+${PATH}:}/opt/homebrew/opt/fzf/bin"
fi
# Auto-completion
# ---------------
[[ $- == *i* ]] && source "/opt/homebrew/opt/fzf/shell/completion.bash" 2> /dev/null
# Key bindings
# ------------
source "/opt/homebrew/opt/fzf/shell/key-bindings.bash"

13
config/fzf/fzf.zsh Normal file
View File

@@ -0,0 +1,13 @@
# Setup fzf
# ---------
if [[ ! "$PATH" == */opt/homebrew/opt/fzf/bin* ]]; then
PATH="${PATH:+${PATH}:}/opt/homebrew/opt/fzf/bin"
fi
# Auto-completion
# ---------------
[[ $- == *i* ]] && source "/opt/homebrew/opt/fzf/shell/completion.zsh" 2> /dev/null
# Key bindings
# ------------
source "/opt/homebrew/opt/fzf/shell/key-bindings.zsh"

32
config/yamllint/config Normal file
View 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

View File

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

View File

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

View File

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