Compare commits

...

18 Commits

Author SHA1 Message Date
b1a7932b72 chore(scripts): tweaks to dfm and msgr 2023-09-28 22:39:25 +03:00
ced09160ab chore(nvim): updates, config changes, tweaking 2023-09-28 20:37:16 +03:00
594ee0d03c chore(scripts): more work on installation scripts 2023-09-28 18:59:21 +03:00
68ec53e29b chore(repo): ignore local/share/fonts 2023-09-28 18:49:52 +03:00
0c8b075689 fix(config): lakka zshrc fixes 2023-09-28 18:33:29 +03:00
0242bbbd73 chore(deps): nvim dependencies 2023-09-28 18:17:44 +03:00
31423c30b9 fix(scripts): have now uses which -s 2023-09-28 18:17:29 +03:00
fbdd2c7448 fix(shell): fixed zsh/bash config loading 2023-09-28 17:53:09 +03:00
0aff4784b1 feat(scripts): msgr helper script 2023-09-28 17:13:44 +03:00
10b18e8bcc chore(dotbot): remove dotbot-crontab 2023-09-28 10:44:27 +03:00
dc0a349139 chore(config): add bob installed nvim to path 2023-09-28 09:38:55 +03:00
3ac1fac444 feat(nvim): Switched from brew nvim to bob-nvim 2023-09-27 15:25:33 +03:00
5bf4ea462b chore(config): Configuration tweaks 2023-09-27 15:22:42 +03:00
1d056988f4 feat(lint): added my linting configs 2023-09-27 14:25:53 +03:00
2415dff0e2 feat(scripts): dfu - dotfiles update function 2023-09-27 11:08:44 +03:00
d891d5a3c5 chore(deps): nvim deps update 2023-09-27 11:07:34 +03:00
f48813ff85 chore(config): Tweaks to fonts, app title bar, etc 2023-09-27 11:07:15 +03:00
a87b33b8c2 chore(shell): make everything bit faster 2023-09-27 10:38:10 +03:00
71 changed files with 4089 additions and 990 deletions

3
.commitlintrc.json Normal file
View File

@@ -0,0 +1,3 @@
{
"extends": ["@ivuorinen/commitlint-config"]
}

View File

@@ -19,11 +19,11 @@ indent_size = 1
indent_size = 1 indent_size = 1
indent_style = tab indent_style = tab
[{local/bin/*,**/*.sh,**/zshrc}] [{local/bin/*,**/*.sh,**/zshrc,config/*}]
shell_variant = bash # --language-variant shell_variant = bash # --language-variant
binary_next_line = true binary_next_line = true
switch_case_indent = true # --case-indent switch_case_indent = true # --case-indent
space_redirects = true space_redirects = true
keep_padding = true keep_padding = false
function_next_line = true # --func-next-line function_next_line = true # --func-next-line

3
.eslintrc.json Normal file
View File

@@ -0,0 +1,3 @@
{
"extends": ["@ivuorinen"]
}

2
.gitattributes vendored
View File

@@ -13,7 +13,7 @@
## Handle line endings automatically for files detected as ## Handle line endings automatically for files detected as
## text and leave all files detected as binary untouched. ## text and leave all files detected as binary untouched.
## This will handle all files NOT defined below. ## This will handle all files NOT defined below.
* text=auto * text=auto oel=lf
# Source code # Source code
*.bash text eol=lf *.bash text eol=lf

View File

@@ -1,7 +1,7 @@
version: 2 version: 2
updates: updates:
# Maintain dependencies for GitHub Actions # Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions" - package-ecosystem: 'github-actions'
directory: "/" directory: '/'
schedule: schedule:
interval: "weekly" interval: 'weekly'

View File

@@ -1,6 +1,4 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [ "extends": ["local>ivuorinen/.github:renovate-config"]
"local>ivuorinen/.github:renovate-config"
]
} }

View File

@@ -7,20 +7,21 @@ module.exports = {
{ types: ['build', 'ci'], label: '🏗️ Build System' }, { types: ['build', 'ci'], label: '🏗️ Build System' },
{ types: ['refactor'], label: '🪚 Refactors' }, { types: ['refactor'], label: '🪚 Refactors' },
{ types: ['doc', 'docs'], label: '📚 Documentation Changes' }, { types: ['doc', 'docs'], label: '📚 Documentation Changes' },
{ types: ['config'], label: '🪛 Configuration Changes' },
{ types: ['test', 'tests'], label: '🔍 Tests' }, { types: ['test', 'tests'], label: '🔍 Tests' },
{ types: ['style', 'codestyle'], label: '💅 Code Style Changes' }, { types: ['style', 'codestyle', 'lint'], label: '💅 Code Style Changes' },
{ types: ['chore', 'Chore'], label: '🧹 Chores' }, { types: ['chore', 'Chore', 'deps', 'Deps'], label: '🧹 Chores' },
{ types: ['other', 'Other'], label: 'Other Changes' }, { types: ['other', 'Other'], label: 'Other Changes' },
], ],
excludeTypes: [], excludeTypes: [],
renderTypeSection: function (label, commits) { renderTypeSection: function (label, commits) {
let text = `\n## ${ label }\n\n` let text = `\n## ${label}\n\n`
commits.forEach((commit) => { commits.forEach(commit => {
const scope = commit.scope ? `**${ commit.scope }:** ` : '' const scope = commit.scope ? `**${commit.scope}:** ` : ''
text += `- ${ scope }${ commit.subject }\n` text += `- ${scope}${commit.subject}\n`
}) })
return text return text
@@ -28,8 +29,8 @@ module.exports = {
renderChangelog: function (release, changes) { renderChangelog: function (release, changes) {
const now = new Date() const now = new Date()
const d = now.toISOString().substring(0, 10); const d = now.toISOString().substring(0, 10)
const header = `# ${ release } - ${ d }\n`; const header = `# ${release} - ${d}\n`
return header + changes + '\n\n' return header + changes + '\n\n'
}, },
} }

View File

@@ -12,7 +12,7 @@ jobs:
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
config_file: .github/tag-changelog-config.js config_file: .github/tag-changelog-config.js
- name: "Echo results" - name: 'Echo results'
id: output-changelog id: output-changelog
run: | run: |
echo "${{ steps.changelog.outputs.changes }}" echo "${{ steps.changelog.outputs.changes }}"

View File

@@ -2,7 +2,7 @@ name: Release Daily State # Workflow name displayed on GitHub
on: on:
workflow_dispatch: # Trigger manually workflow_dispatch: # Trigger manually
schedule: schedule:
- cron: "30 20 * * *" # UTC is 2-3 hours behind Europe/Helsinki, my timezone - cron: '30 20 * * *' # UTC is 2-3 hours behind Europe/Helsinki, my timezone
permissions: permissions:
contents: write contents: write
jobs: jobs:

View File

@@ -1,6 +1,6 @@
name: Update submodules name: Update submodules
on: on:
schedule: [{cron: 0 3 * * *}] schedule: [{ cron: 0 3 * * * }]
workflow_dispatch: workflow_dispatch:
permissions: permissions:
contents: write contents: write

3
.gitignore vendored
View File

@@ -13,5 +13,6 @@ ssh/local.d/*
!ssh/local.d/.gitkeep !ssh/local.d/.gitkeep
!.gitkeep !.gitkeep
.env .env
local/share/fonts/NerdFonts local/share/fonts/*
node_modules

3
.gitmodules vendored
View File

@@ -47,9 +47,6 @@
[submodule "tmux/tmux-window-name"] [submodule "tmux/tmux-window-name"]
path = config/tmux/plugins/tmux-window-name path = config/tmux/plugins/tmux-window-name
url = https://github.com/ofirgall/tmux-window-name.git url = https://github.com/ofirgall/tmux-window-name.git
[submodule "dotbot-crontab"]
path = tools/dotbot-crontab
url = https://github.com/codekansas/dotbot-crontab.git
[submodule "dotbot-snap"] [submodule "dotbot-snap"]
path = tools/dotbot-snap path = tools/dotbot-snap
url = https://github.com/DrDynamic/dotbot-snap.git url = https://github.com/DrDynamic/dotbot-snap.git

View File

@@ -3,4 +3,4 @@ config/cheat/cheatsheets/community/**
tools/dotbot/** tools/dotbot/**
tools/dotbot-brew/** tools/dotbot-brew/**
tools/dotbot-include/** tools/dotbot-include/**
node_modules

View File

@@ -1,5 +1,5 @@
{ {
"extends": "markdownlint/style/prettier", "extends": "@ivuorinen/markdownlint-config",
"code-block-style": { "code-block-style": {
"style": "fenced" "style": "fenced"
}, },

6
.markdownlintignore Normal file
View File

@@ -0,0 +1,6 @@
# only care about files that are under our control
config/cheat/cheatsheets/community/*
config/tmux/plugins/*
tools/*
node_modules/*

8
.prettierignore Normal file
View File

@@ -0,0 +1,8 @@
.mypy_cache/*
tools/dotbot*
local/bin/antigen.zsh
config/cheat/cheatsheets/community
config/tmux/plugins/*
lazy-lock.json
Brewfile.lock.json

14
.prettierrc.js Normal file
View File

@@ -0,0 +1,14 @@
module.exports = {
...require('@ivuorinen/prettier-config'),
trailingComma: 'all',
// Add custom options below:
overrides: [
{
files: '*.md',
options: {
printWidth: 120,
proseWrap: 'preserve',
},
},
],
}

View File

@@ -1,21 +0,0 @@
formatter:
type: basic
indent: 2
retain_line_breaks: false
disallow_anchors: false
max_line_length: 0
scan_folded_as_literal: false
indentless_arrays: false
doublestar: true
extensions:
- yaml
- yml
include:
- ./*.{yml,yaml}
- ./**/*.{yml,yaml}
exclude:
- ./tools/**

View File

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

View File

@@ -3,32 +3,13 @@
# Defaults # Defaults
export DOTFILES="$HOME/.dotfiles" export DOTFILES="$HOME/.dotfiles"
export DOTFILES_SHARED_LOADED=""
export DOTFILES_CURRENT_SHELL="bash"
# shellcheck source=scripts/shared.sh
source "$DOTFILES/scripts/shared.sh"
path_prepend "$DOTFILES/local/bin"
# Run x-load-configs in your terminal to reload the files.
function x-load-configs()
{
# Load the shell dotfiles, and then some:
for file in $DOTFILES/config/{exports,alias,functions}; do
HOST="$(hostname -s)"
# global (exports|alias|functions) file for all hosts
# shellcheck source=../config/exports
[ -r "$file" ] && source "$file"
# global secret file, git ignored
# shellcheck source=../config/exports-secret
[ -r "$file-secret" ] && source "$file-secret"
# host specific (exports|alias|functions) file
# shellcheck source=../config/exports
[ -r "$file-$HOST" ] && source "$file-$HOST"
# host specific (exports|alias|functions) file, git ignored
# shellcheck source=../config/exports
[ -r "$file-$HOST-secret" ] && source "$file-$HOST-secret"
done
}
x-load-configs x-load-configs
# Import ssh keys in keychain # Import ssh keys in keychain
ssh-add -A 2> /dev/null ssh-add -A 2>/dev/null
# shellcheck source=../config/fzf/fzf.bash
[ -f "${DOTFILES}/config/fzf/fzf.bash" ] \
&& source "${DOTFILES}/config/fzf/fzf.bash"

View File

@@ -3,65 +3,78 @@
# Defaults # Defaults
export DOTFILES="$HOME/.dotfiles" export DOTFILES="$HOME/.dotfiles"
export DOTFILES_CURRENT_SHELL="zsh"
# shellcheck source=scripts/shared.sh # shellcheck source=scripts/shared.sh
source "$DOTFILES/scripts/shared.sh" source "$DOTFILES/scripts/shared.sh"
path_prepend "$DOTFILES/local/bin"
export COMPLETION_WAITING_DOTS=true export COMPLETION_WAITING_DOTS=true
# Run x-load-configs in your terminal to reload the files.
function x-load-configs()
{
# Load the shell dotfiles, and then some:
for file in $DOTFILES/config/{exports,alias,functions}; do
HOST="$(hostname -s)"
# global (exports|alias|functions) file for all hosts
# shellcheck source=../config/exports
[ -r "$file" ] && source "$file"
# global secret file, git ignored
# shellcheck source=../config/exports-secret
[ -r "$file-secret" ] && source "$file-secret"
# host specific (exports|alias|functions) file
# shellcheck source=../config/exports
[ -r "$file-$HOST" ] && source "$file-$HOST"
# host specific (exports|alias|functions) file, git ignored
# shellcheck source=../config/exports
[ -r "$file-$HOST-secret" ] && source "$file-$HOST-secret"
done
}
x-load-configs x-load-configs
export HISTFILE="$XDG_STATE_HOME"/zsh/history
autoload -U colors zsh/terminfo
colors
export ZSH_CUSTOM_COMPLETION_PATH="$XDG_CONFIG_HOME/zsh/completion" export ZSH_CUSTOM_COMPLETION_PATH="$XDG_CONFIG_HOME/zsh/completion"
x-dc "$ZSH_CUSTOM_COMPLETION_PATH" x-dc "$ZSH_CUSTOM_COMPLETION_PATH"
# Add completion scripts to zsh path # Add completion scripts to zsh path
FPATH="$ZSH_CUSTOM_COMPLETION_PATH:$FPATH" FPATH="$ZSH_CUSTOM_COMPLETION_PATH:$FPATH"
autoload -Uz compinit
if type brew &> /dev/null; then if type brew &> /dev/null; then
FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}" FPATH="$HOMEBREW_PREFIX/share/zsh/site-functions:${FPATH}"
fi fi
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
# Try to load antigen, if present # Try to load antigen, if present
ANTIGEN_ZSH_PATH="$XDG_BIN_HOME/antigen.zsh" ANTIGEN_ZSH_PATH="$XDG_BIN_HOME/antigen.zsh"
# shellcheck source=../../.local/bin/antigen.zsh # shellcheck source=../../.local/bin/antigen.zsh
[[ -f "$ANTIGEN_ZSH_PATH" ]] && source "$ANTIGEN_ZSH_PATH" [[ -f "$ANTIGEN_ZSH_PATH" ]] && source "$ANTIGEN_ZSH_PATH"
# antigen is present # antigen is present
have antigen && { antigen use oh-my-zsh
antigen use oh-my-zsh
# config/functions export ZSH_TMUX_AUTOSTART=false
x-default-antigen-bundles export ZSH_TMUX_CONFIG="$DOTFILES/config/tmux/tmux.conf"
export ZSH_TMUX_UNICODE=true
export ZSH_TMUX_AUTOQUIT=false
export ZSH_TMUX_DEFAULT_SESSION_NAME=main
antigen apply export NVM_DIR="$XDG_CONFIG_HOME/nvm"
} export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
# z, the zsh version
export ZSHZ_DATA="$XDG_STATE_HOME/z"
antigen bundle z
# these should be always available
antigen bundle tmux
antigen bundle colored-man-pages
antigen bundle command-not-found
antigen bundle ssh-agent
antigen bundle jreese/zsh-titles
antigen bundle unixorn/autoupdate-antigen.zshplugin
antigen bundle zsh-users/zsh-completions
# prettier history search
antigen bundle zsh-history-substring-search
bindkey "${terminfo[kcuu1]}" history-substring-search-up
bindkey "${terminfo[kcud1]}" history-substring-search-down
bindkey -M vicmd 'k' history-substring-search-up
bindkey -M vicmd 'j' history-substring-search-down
# these should be available if there's need
have brew && antigen bundle brew
have php && antigen bundle php
have python && antigen bundle MichaelAquilina/zsh-autoswitch-virtualenv
# nvm is a strange beast
zstyle ':omz:plugins:nvm' autoload yes
antigen bundle nvm
# antigen bundle "$DOTFILES/config/zsh/plugins/nvm-auto-use"
# nice to have stuff
antigen bundle gcloud
# this needs to be the last item
antigen bundle zsh-users/zsh-syntax-highlighting
antigen apply
# shellcheck source=../config/fzf/fzf.zsh # shellcheck source=../config/fzf/fzf.zsh
[ -f "${DOTFILES}/config/fzf/fzf.zsh" ] \ [ -f "${DOTFILES}/config/fzf/fzf.zsh" ] \

View File

@@ -17,6 +17,7 @@ env:
# Window dimensions in character columns and lines # Window dimensions in character columns and lines
# (changes require restart) # (changes require restart)
window: window:
dynamic_title: true
dimensions: dimensions:
columns: 130 columns: 130
lines: 40 lines: 40
@@ -39,19 +40,19 @@ draw_bold_text_with_bright_colors: true
font: font:
# The normal (roman) font face to use. # The normal (roman) font face to use.
normal: normal:
family: JetBrainsMono Nerd Font family: JetBrainsMonoNL Nerd Font Mono
# Style can be specified to pick a specific face. # Style can be specified to pick a specific face.
style: ExtraLight style: ExtraLight
# The bold font face # The bold font face
bold: bold:
family: JetBrainsMono Nerd Font family: JetBrainsMonoNL Nerd Font Mono
# Style can be specified to pick a specific face. # Style can be specified to pick a specific face.
style: Bold style: Bold
# The italic font face # The italic font face
italic: italic:
family: JetBrainsMono Nerd Font family: JetBrainsMonoNL Nerd Font Mono
# Style can be specified to pick a specific face. # Style can be specified to pick a specific face.
style: Italic style: Italic
@@ -77,82 +78,82 @@ debug.render_timer: false
# https://github.com/catppuccin/alacritty # https://github.com/catppuccin/alacritty
colors: colors:
primary: primary:
background: "#1E1E2E" # base background: '#1E1E2E' # base
foreground: "#CDD6F4" # text foreground: '#CDD6F4' # text
# Bright and dim foreground colors # Bright and dim foreground colors
dim_foreground: "#CDD6F4" # text dim_foreground: '#CDD6F4' # text
bright_foreground: "#CDD6F4" # text bright_foreground: '#CDD6F4' # text
# Cursor colors # Cursor colors
cursor: cursor:
text: "#1E1E2E" # base text: '#1E1E2E' # base
cursor: "#F5E0DC" # rosewater cursor: '#F5E0DC' # rosewater
vi_mode_cursor: vi_mode_cursor:
text: "#1E1E2E" # base text: '#1E1E2E' # base
cursor: "#B4BEFE" # lavender cursor: '#B4BEFE' # lavender
# Search colors # Search colors
search: search:
matches: matches:
foreground: "#1E1E2E" # base foreground: '#1E1E2E' # base
background: "#A6ADC8" # subtext0 background: '#A6ADC8' # subtext0
focused_match: focused_match:
foreground: "#1E1E2E" # base foreground: '#1E1E2E' # base
background: "#A6E3A1" # green background: '#A6E3A1' # green
footer_bar: footer_bar:
foreground: "#1E1E2E" # base foreground: '#1E1E2E' # base
background: "#A6ADC8" # subtext0 background: '#A6ADC8' # subtext0
# Keyboard regex hints # Keyboard regex hints
hints: hints:
start: start:
foreground: "#1E1E2E" # base foreground: '#1E1E2E' # base
background: "#F9E2AF" # yellow background: '#F9E2AF' # yellow
end: end:
foreground: "#1E1E2E" # base foreground: '#1E1E2E' # base
background: "#A6ADC8" # subtext0 background: '#A6ADC8' # subtext0
# Selection colors # Selection colors
selection: selection:
text: "#1E1E2E" # base text: '#1E1E2E' # base
background: "#F5E0DC" # rosewater background: '#F5E0DC' # rosewater
# Normal colors # Normal colors
normal: normal:
black: "#45475A" # surface1 black: '#45475A' # surface1
red: "#F38BA8" # red red: '#F38BA8' # red
green: "#A6E3A1" # green green: '#A6E3A1' # green
yellow: "#F9E2AF" # yellow yellow: '#F9E2AF' # yellow
blue: "#89B4FA" # blue blue: '#89B4FA' # blue
magenta: "#F5C2E7" # pink magenta: '#F5C2E7' # pink
cyan: "#94E2D5" # teal cyan: '#94E2D5' # teal
white: "#BAC2DE" # subtext1 white: '#BAC2DE' # subtext1
# Bright colors # Bright colors
bright: bright:
black: "#585B70" # surface2 black: '#585B70' # surface2
red: "#F38BA8" # red red: '#F38BA8' # red
green: "#A6E3A1" # green green: '#A6E3A1' # green
yellow: "#F9E2AF" # yellow yellow: '#F9E2AF' # yellow
blue: "#89B4FA" # blue blue: '#89B4FA' # blue
magenta: "#F5C2E7" # pink magenta: '#F5C2E7' # pink
cyan: "#94E2D5" # teal cyan: '#94E2D5' # teal
white: "#A6ADC8" # subtext0 white: '#A6ADC8' # subtext0
# Dim colors # Dim colors
dim: dim:
black: "#45475A" # surface1 black: '#45475A' # surface1
red: "#F38BA8" # red red: '#F38BA8' # red
green: "#A6E3A1" # green green: '#A6E3A1' # green
yellow: "#F9E2AF" # yellow yellow: '#F9E2AF' # yellow
blue: "#89B4FA" # blue blue: '#89B4FA' # blue
magenta: "#F5C2E7" # pink magenta: '#F5C2E7' # pink
cyan: "#94E2D5" # teal cyan: '#94E2D5' # teal
white: "#BAC2DE" # subtext1 white: '#BAC2DE' # subtext1
indexed_colors: indexed_colors:
- { index: 16, color: "#FAB387" } - { index: 16, color: '#FAB387' }
- { index: 17, color: "#F5E0DC" } - { index: 17, color: '#F5E0DC' }
# Visual Bell # Visual Bell
# #
@@ -261,7 +262,7 @@ key_bindings:
- { key: F10, chars: "\e[21~" } - { key: F10, chars: "\e[21~" }
- { key: F11, chars: "\e[23~" } - { key: F11, chars: "\e[23~" }
- { key: F12, chars: "\e[24~" } - { key: F12, chars: "\e[24~" }
- { key: Back, chars: "" } - { key: Back, chars: '' }
- { key: Back, mods: Alt, chars: "\e" } - { key: Back, mods: Alt, chars: "\e" }
- { key: Insert, chars: "\e[2~" } - { key: Insert, chars: "\e[2~" }
- { key: Delete, chars: "\e[3~" } - { key: Delete, chars: "\e[3~" }

View File

@@ -8,7 +8,7 @@ function x-set-php-aliases
{ {
have brew && { have brew && {
local php_versions=() local php_versions=()
while IFS="" read -r line; do php_versions+=("$line"); done < <(brew list | grep '^php') while IFS="" read -r line; do php_versions+=("$line"); done < <(brew_installed | grep '^php')
php_error_reporting='-d error_reporting=22527' php_error_reporting='-d error_reporting=22527'
@@ -58,6 +58,9 @@ fi
# Be nice # Be nice
alias please="sudo " alias please="sudo "
# Color the grep output
alias grep='grep --color'
! have eza && alias ls='ls --color=auto' ! have eza && alias ls='ls --color=auto'
have eza && { have eza && {
alias ls='eza -h -s=type --git --icons --group-directories-first' alias ls='eza -h -s=type --git --icons --group-directories-first'
@@ -68,9 +71,12 @@ alias ..="cd .."
alias ...="cd ../.." alias ...="cd ../.."
alias ....="cd ../../.." alias ....="cd ../../.."
# Colors for ls # cd to git root directory
alias ll="ls -l" alias cdgr='cd "$(git root)"'
alias l="ls"
# Shortcuts for listing
alias ll="ls -la"
alias l="ls -a"
# Prevent common typos # Prevent common typos
alias cd..="cd .." alias cd..="cd .."
@@ -79,12 +85,6 @@ alias sl="ls"
# List only directories # List only directories
alias lsd="ls -lF | grep '^d'" alias lsd="ls -lF | grep '^d'"
# Recursively delete `.pyc` files
alias rmpyc="find . -type f -name '*.pyc' -ls -delete"
# Recursively delete `.DS_Store` files
alias rmds="find . -type f -name '*.DS_Store' -ls -delete"
# IP addresses # IP addresses
alias ip="dig +short myip.opendns.com @resolver1.opendns.com" alias ip="dig +short myip.opendns.com @resolver1.opendns.com"
alias localip="ipconfig getifaddr en1" alias localip="ipconfig getifaddr en1"
@@ -118,6 +118,10 @@ alias ta='tmux attach || tmux'
alias watchx='watch -dpbc' alias watchx='watch -dpbc'
# delete .DS_Store files # delete .DS_Store files
alias zapds='find . -name ".DS_Store" -print -delete' alias zapds='find . -name ".DS_Store" -print -delete'
# Recursively delete `.pyc` files
alias zappyc="find . -type f -name '*.pyc' -ls -delete"
# Run all zaps
alias zapall="zapds && zappyc"
# tail with follow flag on # tail with follow flag on
alias t='tail -f' alias t='tail -f'
# directory usage, return only the total # directory usage, return only the total

View File

@@ -6,7 +6,7 @@ colorize: true
# Which 'chroma' colorscheme should be applied to the output? # Which 'chroma' colorscheme should be applied to the output?
# Options are available here: # Options are available here:
# https://github.com/alecthomas/chroma/tree/master/styles # https://github.com/alecthomas/chroma/tree/master/styles
style: "catppuccin" style: 'catppuccin'
# Which 'chroma' "formatter" should be applied? # Which 'chroma' "formatter" should be applied?
# One of: "terminal", "terminal256", "terminal16m" # One of: "terminal", "terminal256", "terminal16m"
formatter: terminal256 formatter: terminal256
@@ -74,7 +74,6 @@ cheatpaths:
path: ~/.dotfiles/config/cheat/cheatsheets/tldr path: ~/.dotfiles/config/cheat/cheatsheets/tldr
tags: [tldr] tags: [tldr]
readonly: true readonly: true
# While it requires no configuration here, it's also worth noting that # While it requires no configuration here, it's also worth noting that
# cheat will automatically append directories named '.cheat' within the # cheat will automatically append directories named '.cheat' within the
# current working directory to the 'cheatpath'. This can be very useful if # current working directory to the 'cheatpath'. This can be very useful if

View File

@@ -4,7 +4,7 @@
export DOTFILES="$HOME/.dotfiles" export DOTFILES="$HOME/.dotfiles"
source "$DOTFILES/scripts/shared.sh" source "$DOTFILES/scripts/shared.sh"
path_append "$DOTFILES/local/bin" path_prepend "$DOTFILES/local/bin"
# Explicitly set XDG folders # Explicitly set XDG folders
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html # https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
@@ -21,12 +21,7 @@ path_append "/opt/homebrew/bin"
have brew && eval "$(brew shellenv)" have brew && eval "$(brew shellenv)"
path_append "/usr/local/bin" path_append "/usr/local/bin"
path_append "$XDG_BIN_HOME" path_prepend "$XDG_BIN_HOME"
# brew, https://brew.sh
have brew && {
have_brew python && path_append "$(brew --prefix python)/bin"
}
source "$DOTFILES/config/exports-shell" source "$DOTFILES/config/exports-shell"
source "$DOTFILES/config/exports-apps" source "$DOTFILES/config/exports-apps"

View File

@@ -2,7 +2,8 @@
# shellcheck shell=bash # shellcheck shell=bash
# shellcheck enable=external-sources # shellcheck enable=external-sources
# shellcheck disable=1091,2139 # shellcheck disable=1091,2139
# vim: filetype=zsh # vim: filetype=bash
export DOTFILES="$HOME/.dotfiles" export DOTFILES="$HOME/.dotfiles"
source "$DOTFILES/scripts/shared.sh" source "$DOTFILES/scripts/shared.sh"
@@ -17,41 +18,34 @@ export ANTIGEN_PLUGIN_RECEIPT_F=".local/share/antigen/antigen_plugin_lastupdate"
export ANSIBLE_HOME="$XDG_CONFIG_HOME/ansible" export ANSIBLE_HOME="$XDG_CONFIG_HOME/ansible"
export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible.cfg" export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible.cfg"
export ANSIBLE_GALAXY_CACHE_DIR="$XDG_CACHE_HOME/ansible/galaxy_cache" export ANSIBLE_GALAXY_CACHE_DIR="$XDG_CACHE_HOME/ansible/galaxy_cache"
have ansible && { x-dc "$ANSIBLE_HOME"
x-dc "$ANSIBLE_HOME" x-dc "$ANSIBLE_GALAXY_CACHE_DIR"
x-dc "$ANSIBLE_GALAXY_CACHE_DIR"
}
export ANDROID_HOME="$XDG_DATA_HOME/android" export ANDROID_HOME="$XDG_DATA_HOME/android"
# bob manages nvim versions
have bob && {
path_prepend "$XDG_DATA_HOME/bob/nvim-bin"
have nvim && export EDITOR="nvim"
}
export HOMEBREW_NO_ENV_HINTS=true export HOMEBREW_NO_ENV_HINTS=true
# composer, https://getcomposer.org/ # composer, https://getcomposer.org/
export COMPOSER_HOME="$XDG_STATE_HOME/composer" export COMPOSER_HOME="$XDG_STATE_HOME/composer"
export COMPOSER_BIN="$COMPOSER_HOME/vendor/bin" export COMPOSER_BIN="$COMPOSER_HOME/vendor/bin"
have composer && { path_append "$COMPOSER_BIN"
export PATH="$COMPOSER_BIN:$PATH"
}
# docker, https://docs.docker.com/engine/reference/commandline/cli/ # docker, https://docs.docker.com/engine/reference/commandline/cli/
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker" export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
have docker && { x-dc "$DOCKER_CONFIG"
x-dc "$DOCKER_CONFIG" # Docker: Disable snyk ad
# Docker: Disable snyk ad export DOCKER_SCAN_SUGGEST=false
export DOCKER_SCAN_SUGGEST=false
}
# ffmpeg # ffmpeg
export FFMPEG_DATADIR="$XDG_CONFIG_HOME/ffmpeg" export FFMPEG_DATADIR="$XDG_CONFIG_HOME/ffmpeg"
have ffmpeg && x-dc "$FFMPEG_DATADIR" have ffmpeg && x-dc "$FFMPEG_DATADIR"
# gcloud
have gcloud && {
GCLOUD_LOC=$(gcloud info --format="value(installation.sdk_root)" --quiet)
[[ -f "$GCLOUD_LOC/path.zsh.inc" ]] && builtin source "$GCLOUD_LOC/path.zsh.inc"
[[ -f "$GCLOUD_LOC/completion.zsh.inc" ]] && builtin source "$GCLOUD_LOC/completion.zsh.inc"
}
# GnuPG # GnuPG
export GNUPGHOME="$XDG_DATA_HOME/gnupg" export GNUPGHOME="$XDG_DATA_HOME/gnupg"
@@ -71,17 +65,7 @@ have irssi && {
export NBRC_PATH="$XDG_CONFIG_HOME/nbrc" export NBRC_PATH="$XDG_CONFIG_HOME/nbrc"
export NB_DIR="$XDG_STATE_HOME/nb" export NB_DIR="$XDG_STATE_HOME/nb"
# nvm, the node version manager # NPM: Add npm packages to path
export NVM_LAZY_LOAD=true
export NVM_COMPLETION=true
export NVM_AUTO_USE=true
export NVM_DIR="$XDG_CONFIG_HOME/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
# Add npm packages to path
have node && { have node && {
NVM_NODE_BIN_DIR="$(dirname "$(which node)")" NVM_NODE_BIN_DIR="$(dirname "$(which node)")"
path_append "$NVM_NODE_BIN_DIR" path_append "$NVM_NODE_BIN_DIR"
@@ -90,8 +74,10 @@ have node && {
# op (1Password cli) is present # op (1Password cli) is present
export OP_CACHE="$XDG_STATE_HOME/1password" export OP_CACHE="$XDG_STATE_HOME/1password"
have op && { have op && {
eval "$(op completion zsh)" [ "$DOTFILES_CURRENT_SHELL" = "zsh" ] && {
compdef _op op eval "$(op completion zsh)"
compdef _op op
}
} }
# Python # Python
@@ -100,8 +86,7 @@ have op && {
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs" export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
export PYENV_ROOT="$XDG_STATE_HOME/pyenv" export PYENV_ROOT="$XDG_STATE_HOME/pyenv"
have pyenv && { have pyenv && {
path_append "$(pyenv root)/shims" path_append "$PYENV_ROOT/shims"
path_append "$PYENV_ROOT/bin"
eval "$(pyenv init -)" eval "$(pyenv init -)"
} }
@@ -115,8 +100,11 @@ export BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle
export BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle export BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle
export RBENV_ROOT="$XDG_STATE_HOME/rbenv" export RBENV_ROOT="$XDG_STATE_HOME/rbenv"
x-dc "$RBENV_ROOT" x-dc "$RBENV_ROOT"
have gem && path_append "$(gem environment gemdir)/bin" have gem && path_append "${GEM_HOME}/bin"
have rbenv && eval "$(rbenv init - zsh)" have rbenv && {
[ "$DOTFILES_CURRENT_SHELL" = "zsh" ] && eval "$(rbenv init - zsh)"
[ "$DOTFILES_CURRENT_SHELL" = "bash" ] && eval "$(rbenv init - bash)"
}
# Rust / cargo # Rust / cargo
export RUSTUP_HOME="$XDG_DATA_HOME/rustup" export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
@@ -139,10 +127,6 @@ export TMUX_CONF="$XDG_CONFIG_HOME/tmux/tmux.conf"
export WAKATIME_HOME="$XDG_STATE_HOME/wakatime" export WAKATIME_HOME="$XDG_STATE_HOME/wakatime"
x-dc "$WAKATIME_HOME" x-dc "$WAKATIME_HOME"
# z, https://github.com/rupa/z
export _Z_DATA="$XDG_STATE_HOME/z"
[[ -f "$XDG_BIN_HOME/z/z.sh" ]] && source "$XDG_BIN_HOME/z/z.sh"
# Misc # Misc
export BAT_THEME="ansi" export BAT_THEME="ansi"
export CHEAT_USE_FZF=true export CHEAT_USE_FZF=true

View File

@@ -5,3 +5,16 @@ have luarocks && $(luarocks path --bin)
path_append "$HOME/.local/go/bin" path_append "$HOME/.local/go/bin"
alias logrotate='/usr/sbin/logrotate -s $HOME/logs/state'
alias nano='nano -wS -$'
alias gpg=gpg2
ACME_PATH="$HOME/.acme.sh"
# shellcheck source=$HOME/.acme.sh/acme.sh.env
[[ -s "$ACME_PATH/acme.sh.env" ]] && . "$ACME_PATH/acme.sh.env"
export RVM_PATH="$HOME/.rvm"
export PATH="$RVM_PATH/bin:$PATH"
# shellcheck source=$HOME/.rvm/scripts/rvm
[[ -s "$RVM_PATH/scripts/rvm" ]] && source "$RVM_PATH/scripts/rvm" # Load RVM into a shell session *as a function*

View File

@@ -2,6 +2,7 @@
# shellcheck shell=bash # shellcheck shell=bash
# shellcheck disable=1091,2046 # shellcheck disable=1091,2046
# vim: filetype=zsh # vim: filetype=zsh
export DOTFILES="$HOME/.dotfiles" export DOTFILES="$HOME/.dotfiles"
source "$DOTFILES/scripts/shared.sh" source "$DOTFILES/scripts/shared.sh"
@@ -23,9 +24,16 @@ export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"
# And include the parameter for ZSH # And include the parameter for ZSH
export HISTORY_IGNORE="(ls|cd|cd -|pwd|exit|date|* --help)" export HISTORY_IGNORE="(ls|cd|cd -|pwd|exit|date|* --help)"
# Less history location
export LESSHISTFILE="$XDG_STATE_HOME"/less/history
# Highlight section titles in manual pages # Highlight section titles in manual pages
export LESS_TERMCAP_md="$ORANGE" export LESS_TERMCAP_md="$ORANGE"
# zsh autoloaded terminfo
export TERMINFO="$XDG_DATA_HOME"/terminfo
export TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo
# Dont clear the screen after quitting a manual page # Dont clear the screen after quitting a manual page
export MANPAGER="less -X" export MANPAGER="less -X"
@@ -36,16 +44,15 @@ export GREP_OPTIONS="--color=auto"
# update the values of LINES and COLUMNS. # update the values of LINES and COLUMNS.
hash shopt 2> /dev/null && shopt -s checkwinsize hash shopt 2> /dev/null && shopt -s checkwinsize
# Load iterm2 shell integration
# https://iterm2.com/documentation-shell-integration.html
[[ -f "$XDG_BIN_HOME/iterm2_shell_integration.zsh" ]] \
&& source "$XDG_BIN_HOME/iterm2_shell_integration.zsh"
# Set dircolors based on the file, if it exists # Set dircolors based on the file, if it exists
have dircolors && eval $(dircolors "$XDG_CONFIG_HOME/dircolors") have dircolors && eval $(dircolors "$XDG_CONFIG_HOME/dircolors")
# If we are using zsh, color our dir lists and such # If we are using zsh, color our dir lists and such
if [ "$SHELL" = "$(which zsh)" ]; then if [ "$DOTFILES_CURRENT_SHELL" = "zsh" ]; then
autoload -U colors zsh/terminfo compinit
colors
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
x-dc "$XDG_CACHE_HOME/zsh" x-dc "$XDG_CACHE_HOME/zsh"
x-dc "$XDG_STATE_HOME/zsh" x-dc "$XDG_STATE_HOME/zsh"
export HISTFILE="$XDG_STATE_HOME/zsh/history" export HISTFILE="$XDG_STATE_HOME/zsh/history"
@@ -55,10 +62,16 @@ if [ "$SHELL" = "$(which zsh)" ]; then
# fzf # fzf
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh ] \ [ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh ] \
&& source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh && source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh
# Load iterm2 shell integration
# https://iterm2.com/documentation-shell-integration.html
[[ -f "$XDG_BIN_HOME/iterm2_shell_integration.zsh" ]] \
&& source "$XDG_BIN_HOME/iterm2_shell_integration.zsh"
fi fi
# If we are using bash # If we are using bash
if [ "$SHELL" = "$(which bash)" ]; then if [ "$DOTFILES_CURRENT_SHELL" = "bash" ]; then
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.bash ] \ # shellcheck source=../config/fzf/fzf.bash
&& source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.bash [ -f "${DOTFILES}/config/fzf/fzf.bash" ] &&
source "${DOTFILES}/config/fzf/fzf.bash"
fi fi

View File

@@ -6,6 +6,20 @@
export DOTFILES="$HOME/.dotfiles" export DOTFILES="$HOME/.dotfiles"
source "$DOTFILES/scripts/shared.sh" source "$DOTFILES/scripts/shared.sh"
# Alacritty preexec hook to update dynamic title
preexec()
{
print -Pn "\e]0;$1%~\a"
}
# Update dotfiles
dfu()
{
(
cd "$DOTFILES" && git pull --ff-only && ./install -q
)
}
# Weather in Tampere, or other city # Weather in Tampere, or other city
weather() weather()
{ {
@@ -57,31 +71,3 @@ scheduler()
sleep 60 sleep 60
done done
} }
# Defines default antigen bundles
x-default-antigen-bundles()
{
export ZSH_TMUX_AUTOSTART=false
export ZSH_TMUX_CONFIG="$DOTFILES/config/tmux/tmux.conf"
export ZSH_TMUX_UNICODE=true
export ZSH_TMUX_AUTOQUIT=false
export ZSH_TMUX_DEFAULT_SESSION_NAME=main
# these should be always available
antigen bundle tmux
antigen bundle colored-man-pages
antigen bundle command-not-found
antigen bundle ssh-agent
antigen bundle jreese/zsh-titles
antigen bundle unixorn/autoupdate-antigen.zshplugin
antigen bundle zsh-users/zsh-completions
antigen bundle zsh-users/zsh-syntax-highlighting
# these should be available if there's need
have brew && antigen bundle brew
# have nvm && antigen bundle nvm
have nvm && antigen bundle "$DOTFILES/config/zsh/plugins/nvm-auto-use"
have php && antigen bundle php
have python && antigen bundle MichaelAquilina/zsh-autoswitch-virtualenv
have rvm && antigen bundle unixorn/rvm-plugin
}

View File

@@ -1,19 +1,19 @@
check_for_updates: true check_for_updates: true
excluded_labels: excluded_labels:
- maintenance - maintenance
- dependencies - dependencies
file_name: CHANGELOG.md file_name: CHANGELOG.md
logger: spinner logger: spinner
no_color: false no_color: false
sections: sections:
added: added:
- feature - feature
- enhancement - enhancement
changed: changed:
- backwards-incompatible - backwards-incompatible
fixed: fixed:
- bug - bug
- bugfix - bugfix
- documentation - documentation
show_unreleased: true show_unreleased: true
skip_entries_without_label: false skip_entries_without_label: false

View File

@@ -1,17 +1,17 @@
prSections: prSections:
- title: My Pull Requests - title: My Pull Requests
filters: is:open author:@me filters: is:open author:@me
- title: Needs My Review - title: Needs My Review
filters: is:open review-requested:@me filters: is:open review-requested:@me
- title: Involved - title: Involved
filters: is:open involves:@me -author:@me filters: is:open involves:@me -author:@me
issuesSections: issuesSections:
- title: My Issues - title: My Issues
filters: is:open author:@me filters: is:open author:@me
- title: Assigned - title: Assigned
filters: is:open assignee:@me filters: is:open assignee:@me
- title: Involved - title: Involved
filters: is:open involves:@me -author:@me filters: is:open involves:@me -author:@me
defaults: defaults:
preview: preview:
open: true open: true
@@ -51,4 +51,4 @@ keybindings:
prs: [] prs: []
repoPaths: {} repoPaths: {}
pager: pager:
diff: "" diff: ''

View File

@@ -1,3 +1,3 @@
github.com: github.com:
user: ivuorinen user: ivuorinen
git_protocol: https git_protocol: https

View File

@@ -5,6 +5,9 @@
name = Ismo Vuorinen name = Ismo Vuorinen
email = ismo@ivuorinen.net email = ismo@ivuorinen.net
[github]
user = ivuorinen
[include] [include]
path = ~/.config/git/overrides/config path = ~/.config/git/overrides/config

View File

@@ -200,8 +200,6 @@ brew "m-cli"
brew "mas" brew "mas"
# NCurses Disk Usage # NCurses Disk Usage
brew "ncdu" brew "ncdu"
# Ambitious Vim-fork focused on extensibility and agility
brew "neovim"
# HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server # HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
brew "nginx" brew "nginx"
# Port scanning utility for large networks # Port scanning utility for large networks

View File

@@ -1,417 +1,410 @@
{ {
"Badge Text" : "", "Badge Text": "",
"Working Directory" : "\/Users\/ivuorinen\/Code", "Working Directory": "/Users/ivuorinen/Code",
"Prompt Before Closing 2" : false, "Prompt Before Closing 2": false,
"Selected Text Color" : { "Selected Text Color": {
"Red Component" : 0.80392156862745101, "Red Component": 0.80392156862745101,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.95686274509803926, "Blue Component": 0.95686274509803926,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.83921568627450982 "Green Component": 0.83921568627450982
}, },
"Rows" : 25, "Rows": 25,
"Ansi 11 Color" : { "Ansi 11 Color": {
"Red Component" : 0.97647058823529409, "Red Component": 0.97647058823529409,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.68627450980392157, "Blue Component": 0.68627450980392157,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.88627450980392153 "Green Component": 0.88627450980392153
}, },
"Use Italic Font" : true, "Use Italic Font": true,
"Foreground Color" : { "Foreground Color": {
"Red Component" : 0.80392156862745101, "Red Component": 0.80392156862745101,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.95686274509803926, "Blue Component": 0.95686274509803926,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.83921568627450982 "Green Component": 0.83921568627450982
}, },
"Right Option Key Sends" : 0, "Right Option Key Sends": 0,
"Character Encoding" : 4, "Character Encoding": 4,
"Selection Color" : { "Selection Color": {
"Red Component" : 0.34509803921568627, "Red Component": 0.34509803921568627,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.4392156862745098, "Blue Component": 0.4392156862745098,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.35686274509803922 "Green Component": 0.35686274509803922
}, },
"Blend" : 0.24709154211956524, "Blend": 0.24709154211956524,
"Mouse Reporting" : true, "Mouse Reporting": true,
"Cursor Boost" : 0, "Cursor Boost": 0,
"Ansi 4 Color" : { "Ansi 4 Color": {
"Red Component" : 0.53725490196078429, "Red Component": 0.53725490196078429,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.98039215686274506, "Blue Component": 0.98039215686274506,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.70588235294117652 "Green Component": 0.70588235294117652
}, },
"Non-ASCII Anti Aliased" : true, "Non-ASCII Anti Aliased": true,
"Sync Title" : false, "Sync Title": false,
"Badge Font" : "JetBrainsMonoNerdFontCompleteM-Bold", "Badge Font": "JetBrainsMonoNerdFontCompleteM-Bold",
"Disable Window Resizing" : true, "Disable Window Resizing": true,
"Description" : "Default", "Description": "Default",
"Close Sessions On End" : true, "Close Sessions On End": true,
"Jobs to Ignore" : [ "Jobs to Ignore": ["rlogin", "ssh", "slogin", "telnet"],
"rlogin", "Scrollback Lines": 0,
"ssh", "Draw Powerline Glyphs": true,
"slogin", "Flashing Bell": true,
"telnet" "Cursor Guide Color": {
], "Red Component": 0.80392156862745101,
"Scrollback Lines" : 0, "Color Space": "sRGB",
"Draw Powerline Glyphs" : true, "Blue Component": 0.95686274509803926,
"Flashing Bell" : true, "Alpha Component": 0.070000000000000007,
"Cursor Guide Color" : { "Green Component": 0.83921568627450982
"Red Component" : 0.80392156862745101,
"Color Space" : "sRGB",
"Blue Component" : 0.95686274509803926,
"Alpha Component" : 0.070000000000000007,
"Green Component" : 0.83921568627450982
}, },
"BM Growl" : true, "BM Growl": true,
"Ansi 3 Color" : { "Ansi 3 Color": {
"Red Component" : 0.97647058823529409, "Red Component": 0.97647058823529409,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.68627450980392157, "Blue Component": 0.68627450980392157,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.88627450980392153 "Green Component": 0.88627450980392153
}, },
"Icon" : 1, "Icon": 1,
"Use Non-ASCII Font" : false, "Use Non-ASCII Font": false,
"Link Color" : { "Link Color": {
"Red Component" : 0.53725490196078429, "Red Component": 0.53725490196078429,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.92156862745098034, "Blue Component": 0.92156862745098034,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.86274509803921573 "Green Component": 0.86274509803921573
}, },
"Shortcut" : "", "Shortcut": "",
"Background Image Location" : "", "Background Image Location": "",
"Bold Color" : { "Bold Color": {
"Red Component" : 0.80392156862745101, "Red Component": 0.80392156862745101,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.95686274509803926, "Blue Component": 0.95686274509803926,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.83921568627450982 "Green Component": 0.83921568627450982
}, },
"Use Cursor Guide" : false, "Use Cursor Guide": false,
"Unlimited Scrollback" : true, "Unlimited Scrollback": true,
"Custom Command" : "No", "Custom Command": "No",
"Title Components" : 512, "Title Components": 512,
"Keyboard Map" : { "Keyboard Map": {
"0xf700-0x260000" : { "0xf700-0x260000": {
"Action" : 10, "Action": 10,
"Text" : "[1;6A" "Text": "[1;6A"
}, },
"0x37-0x40000" : { "0x37-0x40000": {
"Action" : 11, "Action": 11,
"Text" : "0x1f" "Text": "0x1f"
}, },
"0x32-0x40000" : { "0x32-0x40000": {
"Action" : 11, "Action": 11,
"Text" : "0x00" "Text": "0x00"
}, },
"0xf709-0x20000" : { "0xf709-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[17;2~" "Text": "[17;2~"
}, },
"0xf70c-0x20000" : { "0xf70c-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[20;2~" "Text": "[20;2~"
}, },
"0xf729-0x20000" : { "0xf729-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2H" "Text": "[1;2H"
}, },
"0xf72b-0x40000" : { "0xf72b-0x40000": {
"Action" : 10, "Action": 10,
"Text" : "[1;5F" "Text": "[1;5F"
}, },
"0xf705-0x20000" : { "0xf705-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2Q" "Text": "[1;2Q"
}, },
"0xf703-0x260000" : { "0xf703-0x260000": {
"Action" : 10, "Action": 10,
"Text" : "[1;6C" "Text": "[1;6C"
}, },
"0xf700-0x220000" : { "0xf700-0x220000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2A" "Text": "[1;2A"
}, },
"0xf701-0x280000" : { "0xf701-0x280000": {
"Action" : 11, "Action": 11,
"Text" : "0x1b 0x1b 0x5b 0x42" "Text": "0x1b 0x1b 0x5b 0x42"
}, },
"0x38-0x40000" : { "0x38-0x40000": {
"Action" : 11, "Action": 11,
"Text" : "0x7f" "Text": "0x7f"
}, },
"0x33-0x40000" : { "0x33-0x40000": {
"Action" : 11, "Action": 11,
"Text" : "0x1b" "Text": "0x1b"
}, },
"0xf703-0x220000" : { "0xf703-0x220000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2C" "Text": "[1;2C"
}, },
"0xf701-0x240000" : { "0xf701-0x240000": {
"Action" : 10, "Action": 10,
"Text" : "[1;5B" "Text": "[1;5B"
}, },
"0xf70d-0x20000" : { "0xf70d-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[21;2~" "Text": "[21;2~"
}, },
"0xf702-0x260000" : { "0xf702-0x260000": {
"Action" : 10, "Action": 10,
"Text" : "[1;6D" "Text": "[1;6D"
}, },
"0xf729-0x40000" : { "0xf729-0x40000": {
"Action" : 10, "Action": 10,
"Text" : "[1;5H" "Text": "[1;5H"
}, },
"0xf706-0x20000" : { "0xf706-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2R" "Text": "[1;2R"
}, },
"0x34-0x40000" : { "0x34-0x40000": {
"Action" : 11, "Action": 11,
"Text" : "0x1c" "Text": "0x1c"
}, },
"0xf700-0x280000" : { "0xf700-0x280000": {
"Action" : 11, "Action": 11,
"Text" : "0x1b 0x1b 0x5b 0x41" "Text": "0x1b 0x1b 0x5b 0x41"
}, },
"0x2d-0x40000" : { "0x2d-0x40000": {
"Action" : 11, "Action": 11,
"Text" : "0x1f" "Text": "0x1f"
}, },
"0xf70e-0x20000" : { "0xf70e-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[23;2~" "Text": "[23;2~"
}, },
"0xf702-0x220000" : { "0xf702-0x220000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2D" "Text": "[1;2D"
}, },
"0xf703-0x280000" : { "0xf703-0x280000": {
"Action" : 11, "Action": 11,
"Text" : "0x1b 0x1b 0x5b 0x43" "Text": "0x1b 0x1b 0x5b 0x43"
}, },
"0xf700-0x240000" : { "0xf700-0x240000": {
"Action" : 10, "Action": 10,
"Text" : "[1;5A" "Text": "[1;5A"
}, },
"0xf707-0x20000" : { "0xf707-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2S" "Text": "[1;2S"
}, },
"0xf70a-0x20000" : { "0xf70a-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[18;2~" "Text": "[18;2~"
}, },
"0x35-0x40000" : { "0x35-0x40000": {
"Action" : 11, "Action": 11,
"Text" : "0x1d" "Text": "0x1d"
}, },
"0xf70f-0x20000" : { "0xf70f-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[24;2~" "Text": "[24;2~"
}, },
"0xf703-0x240000" : { "0xf703-0x240000": {
"Action" : 10, "Action": 10,
"Text" : "[1;5C" "Text": "[1;5C"
}, },
"0xf701-0x260000" : { "0xf701-0x260000": {
"Action" : 10, "Action": 10,
"Text" : "[1;6B" "Text": "[1;6B"
}, },
"0xf702-0x280000" : { "0xf702-0x280000": {
"Action" : 11, "Action": 11,
"Text" : "0x1b 0x1b 0x5b 0x44" "Text": "0x1b 0x1b 0x5b 0x44"
}, },
"0xf72b-0x20000" : { "0xf72b-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2F" "Text": "[1;2F"
}, },
"0x36-0x40000" : { "0x36-0x40000": {
"Action" : 11, "Action": 11,
"Text" : "0x1e" "Text": "0x1e"
}, },
"0xf708-0x20000" : { "0xf708-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[15;2~" "Text": "[15;2~"
}, },
"0xf701-0x220000" : { "0xf701-0x220000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2B" "Text": "[1;2B"
}, },
"0xf70b-0x20000" : { "0xf70b-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[19;2~" "Text": "[19;2~"
}, },
"0xf702-0x240000" : { "0xf702-0x240000": {
"Action" : 10, "Action": 10,
"Text" : "[1;5D" "Text": "[1;5D"
}, },
"0xf704-0x20000" : { "0xf704-0x20000": {
"Action" : 10, "Action": 10,
"Text" : "[1;2P" "Text": "[1;2P"
} }
}, },
"Ansi 14 Color" : { "Ansi 14 Color": {
"Red Component" : 0.58039215686274515, "Red Component": 0.58039215686274515,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.83529411764705885, "Blue Component": 0.83529411764705885,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.88627450980392153 "Green Component": 0.88627450980392153
}, },
"Ansi 2 Color" : { "Ansi 2 Color": {
"Red Component" : 0.65098039215686276, "Red Component": 0.65098039215686276,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.63137254901960782, "Blue Component": 0.63137254901960782,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.8901960784313725 "Green Component": 0.8901960784313725
}, },
"Send Code When Idle" : false, "Send Code When Idle": false,
"ASCII Anti Aliased" : true, "ASCII Anti Aliased": true,
"Tags" : [ "Tags": [],
"Ansi 9 Color": {
], "Red Component": 0.95294117647058818,
"Ansi 9 Color" : { "Color Space": "sRGB",
"Red Component" : 0.95294117647058818, "Blue Component": 0.6588235294117647,
"Color Space" : "sRGB", "Alpha Component": 1,
"Blue Component" : 0.6588235294117647, "Green Component": 0.54509803921568623
"Alpha Component" : 1,
"Green Component" : 0.54509803921568623
}, },
"Badge Right Margin" : 10, "Badge Right Margin": 10,
"Use Bold Font" : true, "Use Bold Font": true,
"Silence Bell" : false, "Silence Bell": false,
"Ansi 12 Color" : { "Ansi 12 Color": {
"Red Component" : 0.53725490196078429, "Red Component": 0.53725490196078429,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.98039215686274506, "Blue Component": 0.98039215686274506,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.70588235294117652 "Green Component": 0.70588235294117652
}, },
"Window Type" : 0, "Window Type": 0,
"Use Bright Bold" : true, "Use Bright Bold": true,
"Cursor Text Color" : { "Cursor Text Color": {
"Red Component" : 0.80392156862745101, "Red Component": 0.80392156862745101,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.95686274509803926, "Blue Component": 0.95686274509803926,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.83921568627450982 "Green Component": 0.83921568627450982
}, },
"Default Bookmark" : "No", "Default Bookmark": "No",
"Cursor Color" : { "Cursor Color": {
"Red Component" : 0.96078431372549022, "Red Component": 0.96078431372549022,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.86274509803921573, "Blue Component": 0.86274509803921573,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.8784313725490196 "Green Component": 0.8784313725490196
}, },
"Ansi 1 Color" : { "Ansi 1 Color": {
"Red Component" : 0.95294117647058818, "Red Component": 0.95294117647058818,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.6588235294117647, "Blue Component": 0.6588235294117647,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.54509803921568623 "Green Component": 0.54509803921568623
}, },
"Name" : "Default", "Name": "Default",
"Blinking Cursor" : false, "Blinking Cursor": false,
"Guid" : "82636119-EA17-4A26-9AA7-408172F4A9C8", "Guid": "82636119-EA17-4A26-9AA7-408172F4A9C8",
"Badge Max Width" : 0.45000000000000001, "Badge Max Width": 0.45000000000000001,
"Idle Code" : 0, "Idle Code": 0,
"Ansi 10 Color" : { "Ansi 10 Color": {
"Red Component" : 0.65098039215686276, "Red Component": 0.65098039215686276,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.63137254901960782, "Blue Component": 0.63137254901960782,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.8901960784313725 "Green Component": 0.8901960784313725
}, },
"Ansi 8 Color" : { "Ansi 8 Color": {
"Red Component" : 0.34509803921568627, "Red Component": 0.34509803921568627,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.4392156862745098, "Blue Component": 0.4392156862745098,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.35686274509803922 "Green Component": 0.35686274509803922
}, },
"Badge Color" : { "Badge Color": {
"Red Component" : 1, "Red Component": 1,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0, "Blue Component": 0,
"Alpha Component" : 0.5, "Alpha Component": 0.5,
"Green Component" : 0.14910030364990234 "Green Component": 0.14910030364990234
}, },
"Smart Cursor Color" : true, "Smart Cursor Color": true,
"Ambiguous Double Width" : false, "Ambiguous Double Width": false,
"Blur Radius" : 9.5927277260638313, "Blur Radius": 9.5927277260638313,
"Badge Max Height" : 0.10000000000000001, "Badge Max Height": 0.10000000000000001,
"Ansi 0 Color" : { "Ansi 0 Color": {
"Red Component" : 0.27058823529411763, "Red Component": 0.27058823529411763,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.35294117647058826, "Blue Component": 0.35294117647058826,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.27843137254901962 "Green Component": 0.27843137254901962
}, },
"Blur" : true, "Blur": true,
"Normal Font" : "JetBrainsMonoNerdFontCompleteM-Light 15", "Normal Font": "JetBrainsMonoNerdFontCompleteM-Light 15",
"Vertical Spacing" : 1, "Vertical Spacing": 1,
"Ansi 7 Color" : { "Ansi 7 Color": {
"Red Component" : 0.72941176470588232, "Red Component": 0.72941176470588232,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.87058823529411766, "Blue Component": 0.87058823529411766,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.76078431372549016 "Green Component": 0.76078431372549016
}, },
"Command" : "", "Command": "",
"Terminal Type" : "xterm-256color", "Terminal Type": "xterm-256color",
"Horizontal Spacing" : 1, "Horizontal Spacing": 1,
"Option Key Sends" : 0, "Option Key Sends": 0,
"Only The Default BG Color Uses Transparency" : true, "Only The Default BG Color Uses Transparency": true,
"Minimum Contrast" : 0.14973958333333334, "Minimum Contrast": 0.14973958333333334,
"Ansi 15 Color" : { "Ansi 15 Color": {
"Red Component" : 0.65098039215686276, "Red Component": 0.65098039215686276,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.78431372549019607, "Blue Component": 0.78431372549019607,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.67843137254901964 "Green Component": 0.67843137254901964
}, },
"Ansi 6 Color" : { "Ansi 6 Color": {
"Red Component" : 0.58039215686274515, "Red Component": 0.58039215686274515,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.83529411764705885, "Blue Component": 0.83529411764705885,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.88627450980392153 "Green Component": 0.88627450980392153
}, },
"Badge Top Margin" : 10, "Badge Top Margin": 10,
"Transparency" : 0.10293218085106381, "Transparency": 0.10293218085106381,
"Background Color" : { "Background Color": {
"Red Component" : 0.11764705882352941, "Red Component": 0.11764705882352941,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.1803921568627451, "Blue Component": 0.1803921568627451,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.11764705882352941 "Green Component": 0.11764705882352941
}, },
"Screen" : -2, "Screen": -2,
"Non Ascii Font" : "Monaco 12", "Non Ascii Font": "Monaco 12",
"Ansi 13 Color" : { "Ansi 13 Color": {
"Red Component" : 0.96078431372549022, "Red Component": 0.96078431372549022,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.90588235294117647, "Blue Component": 0.90588235294117647,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.76078431372549016 "Green Component": 0.76078431372549016
}, },
"Columns" : 120, "Columns": 120,
"Visual Bell" : true, "Visual Bell": true,
"ASCII Ligatures" : false, "ASCII Ligatures": false,
"Ansi 5 Color" : { "Ansi 5 Color": {
"Red Component" : 0.96078431372549022, "Red Component": 0.96078431372549022,
"Color Space" : "sRGB", "Color Space": "sRGB",
"Blue Component" : 0.90588235294117647, "Blue Component": 0.90588235294117647,
"Alpha Component" : 1, "Alpha Component": 1,
"Green Component" : 0.76078431372549016 "Green Component": 0.76078431372549016
}, },
"Custom Directory" : "Yes" "Custom Directory": "Yes"
} }

5
config/nvim/.luarc.json Normal file
View File

@@ -0,0 +1,5 @@
{
"diagnostics.globals": [
"vim"
]
}

View File

@@ -1,25 +1,25 @@
{ {
"LazyVim": { "branch": "main", "commit": "a72a84972d85e5bbc6b9d60a0983b37efef21b8a" }, "LazyVim": { "branch": "main", "commit": "274649e92321d615888f889476c9329f8d831e8e" },
"LuaSnip": { "branch": "master", "commit": "1fd22fa96c11573248f9fdd09f25e724c7bb3dd4" }, "LuaSnip": { "branch": "master", "commit": "480b032f6708573334f4437d3f83307d143f1a72" },
"SchemaStore.nvim": { "branch": "main", "commit": "d2a3d1da007549c921f7b0e22521d1c20d09c8a7" }, "SchemaStore.nvim": { "branch": "main", "commit": "c422bf8a6955028713692506e9119862370c529f" },
"alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" },
"animation.nvim": { "branch": "main", "commit": "fb77091ab72ec9971aee0562e7081182527aaa6a" }, "animation.nvim": { "branch": "main", "commit": "fb77091ab72ec9971aee0562e7081182527aaa6a" },
"bufdelete.nvim": { "branch": "master", "commit": "07d1f8ba79dec59d42b975a4df1c732b2e4e37b4" }, "bufdelete.nvim": { "branch": "master", "commit": "07d1f8ba79dec59d42b975a4df1c732b2e4e37b4" },
"bufferline.nvim": { "branch": "main", "commit": "6ecd37e0fa8b156099daedd2191130e083fb1490" }, "bufferline.nvim": { "branch": "main", "commit": "6ecd37e0fa8b156099daedd2191130e083fb1490" },
"catppuccin": { "branch": "main", "commit": "3d9a5ed556e289bce6c1fb0af89ec838360641b2" }, "catppuccin": { "branch": "main", "commit": "3d9a5ed556e289bce6c1fb0af89ec838360641b2" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" },
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
"comment-box.nvim": { "branch": "main", "commit": "dd1a48f8d06102e9b87ae1e0069bc365c006979b" }, "comment-box.nvim": { "branch": "main", "commit": "dd1a48f8d06102e9b87ae1e0069bc365c006979b" },
"dressing.nvim": { "branch": "master", "commit": "c1e1d5fa44fe08811b6ef4aadac2b50e602f9504" }, "dressing.nvim": { "branch": "master", "commit": "c1e1d5fa44fe08811b6ef4aadac2b50e602f9504" },
"edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" },
"flash.nvim": { "branch": "main", "commit": "cc8c7e03987134997d74ee87e55a5717279f2d05" }, "flash.nvim": { "branch": "main", "commit": "0256d8ecab33a9aa69fdaaf885db22e1103e2a3a" },
"friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" },
"gitsigns.nvim": { "branch": "main", "commit": "bdeba1cec3faddd89146690c10b9a87949c0ee66" }, "gitsigns.nvim": { "branch": "main", "commit": "bdeba1cec3faddd89146690c10b9a87949c0ee66" },
"harpoon": { "branch": "master", "commit": "21f4c47c6803d64ddb934a5b314dcb1b8e7365dc" }, "indent-blankline.nvim": { "branch": "master", "commit": "f5335ef7493bd6adf5f2ae21d67240709a514408" },
"indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, "lazy.nvim": { "branch": "main", "commit": "7ca3bdb566c3ba4492f2d22b37c2c9e26f09470f" },
"lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" },
"lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "2451adb9bdb0fd32140bf3aa8dbc17ff60050db3" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "2451adb9bdb0fd32140bf3aa8dbc17ff60050db3" },
"mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" },
@@ -32,36 +32,37 @@
"mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" },
"mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" },
"neoconf.nvim": { "branch": "main", "commit": "360805250fe45391d30b96b6640d03e2c35597ee" }, "neoconf.nvim": { "branch": "main", "commit": "2b2af4c35b4f5e85e81a567412ba31e1643a2c02" },
"neodev.nvim": { "branch": "main", "commit": "ddf29935af5a510307850919d6772ea6a4e2c008" }, "neodev.nvim": { "branch": "main", "commit": "f4abc72add7d2d986371c9d619f7b6f8297aa5ee" },
"neogen": { "branch": "main", "commit": "cb1f384df804c1bf729332c4f728253fe17962d4" }, "neogen": { "branch": "main", "commit": "cb1f384df804c1bf729332c4f728253fe17962d4" },
"noice.nvim": { "branch": "main", "commit": "74c2902146b080035beb19944baf6f014a954720" }, "noice.nvim": { "branch": "main", "commit": "396f9146529130904e07c45e90ecdbfa607534f3" },
"nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" },
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" },
"nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" },
"nvim-lspconfig": { "branch": "master", "commit": "ede4114e1fd41acb121c70a27e1b026ac68c42d6" }, "nvim-lspconfig": { "branch": "master", "commit": "68b23c06132cb1ef8d5690111c112388fbcf1c30" },
"nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" },
"nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" },
"nvim-regexplainer": { "branch": "main", "commit": "4250c8f3c1307876384e70eeedde5149249e154f" }, "nvim-regexplainer": { "branch": "main", "commit": "4250c8f3c1307876384e70eeedde5149249e154f" },
"nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" },
"nvim-treesitter": { "branch": "master", "commit": "0960322686bfa38afd4f1e0b9660473cf77e24b6" }, "nvim-treesitter": { "branch": "master", "commit": "cc2f94ed1dfa008c23e16bbd17f56b967ceb6740" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" },
"nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" },
"nvim-web-devicons": { "branch": "master", "commit": "480a756df82a0c231622c9bf2173bb6634713716" }, "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" },
"persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" },
"plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" },
"promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" },
"stickybuf.nvim": { "branch": "master", "commit": "e3db41f2c1bb2df3ee6ff964ee74fe991f6f9566" }, "stickybuf.nvim": { "branch": "master", "commit": "e3db41f2c1bb2df3ee6ff964ee74fe991f6f9566" },
"symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" },
"tabnine": { "branch": "master", "commit": "2c06b4865415701dc638549032824664e114ee23" },
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "bc25c56083939f274edcfe395c6ff7de23b67c50" }, "tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "bc25c56083939f274edcfe395c6ff7de23b67c50" },
"telescope.nvim": { "branch": "master", "commit": "ed9574dd6dde143d009b2528ea6d79bd34bbe6c8" }, "telescope.nvim": { "branch": "master", "commit": "84d53dfdbefbdf84e861a288abc71ef8ccafd04e" },
"todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" },
"tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, "tokyonight.nvim": { "branch": "main", "commit": "e89caa3ad6d8da9d0dd981ec74a82c55adc61ffd" },
"transparent.nvim": { "branch": "main", "commit": "3af6232c8d39d51062702e875ff6407c1eeb0391" },
"trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" },
"typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" }, "typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" },
"venv-selector.nvim": { "branch": "main", "commit": "14d6e866070f759e9014a8053954f835294f56f9" }, "venv-selector.nvim": { "branch": "main", "commit": "14d6e866070f759e9014a8053954f835294f56f9" },
"vim-illuminate": { "branch": "master", "commit": "6acf7d4a18255a3ddc43770866c8e148fe85af7b" }, "vim-illuminate": { "branch": "master", "commit": "1b5d70332a51a1de05f281069851865a2bb1e6d7" },
"vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" },
"vim-wakatime": { "branch": "master", "commit": "0d2efa2daff34b27b0d227d4c3b136811c93db93" }, "vim-wakatime": { "branch": "master", "commit": "0d2efa2daff34b27b0d227d4c3b136811c93db93" },
"which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" },

View File

@@ -12,9 +12,6 @@ require("lazy").setup({
{ {
"LazyVim/LazyVim", "LazyVim/LazyVim",
import = "lazyvim.plugins", import = "lazyvim.plugins",
opts = {
colorscheme = "catppuccin",
},
}, },
-- import any extras modules here -- import any extras modules here
{ import = "lazyvim.plugins.extras.formatting.prettier" }, { import = "lazyvim.plugins.extras.formatting.prettier" },
@@ -41,7 +38,7 @@ require("lazy").setup({
version = false, -- always use the latest git commit version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver -- version = "*", -- try installing the latest stable version for plugins that support semver
}, },
install = { colorscheme = { "catppuccin" } }, install = { colorscheme = { "tokyonight" } },
checker = { enabled = true }, -- automatically check for plugin updates checker = { enabled = true }, -- automatically check for plugin updates
performance = { performance = {
rtp = { rtp = {

View File

@@ -7,7 +7,6 @@ local opt = vim.opt
opt.number = true opt.number = true
opt.relativenumber = true opt.relativenumber = true
opt.modeline = true opt.modeline = true
opt.spelllang = { "en", "fi" }
-- The line beneath this is called `modeline`. See `:help modeline` -- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et -- vim: ts=2 sts=2 sw=2 et

View File

@@ -65,17 +65,26 @@ return {
auto = true, auto = true,
}, },
}, },
-- Clarify and beautify your comments using boxes and lines. -- Clarify and beautify your comments using boxes and lines.
-- https://github.com/LudoPinelli/comment-box.nvim -- https://github.com/LudoPinelli/comment-box.nvim
{ "LudoPinelli/comment-box.nvim", opts = {} }, { "LudoPinelli/comment-box.nvim", opts = {} },
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"stylua",
"shellcheck",
"shfmt",
"flake8",
},
},
},
-- Tabnine Client for Neovim -- Tabnine Client for Neovim
-- https://github.com/codota/tabnine-nvim -- https://github.com/codota/tabnine-nvim
{ {
"codota/tabnine-nvim", "codota/tabnine-nvim",
name = "tabnine", name = "tabnine",
enabled = false, -- enabled = false,
build = vim.loop.os_uname().sysname == "Windows_NT" and "pwsh.exe -file .\\dl_binaries.ps1" or "./dl_binaries.sh", build = vim.loop.os_uname().sysname == "Windows_NT" and "pwsh.exe -file .\\dl_binaries.ps1" or "./dl_binaries.sh",
cmd = { "TabnineStatus", "TabnineDisable", "TabnineEnable", "TabnineToggle" }, cmd = { "TabnineStatus", "TabnineDisable", "TabnineEnable", "TabnineToggle" },
event = "User", event = "User",
@@ -84,7 +93,6 @@ return {
dismiss_keymap = "<C-Esc>", dismiss_keymap = "<C-Esc>",
}, },
}, },
-- Vim plugin for automatic time tracking and metrics generated from your programming activity. -- Vim plugin for automatic time tracking and metrics generated from your programming activity.
-- https://github.com/wakatime/vim-wakatime -- https://github.com/wakatime/vim-wakatime
{ "wakatime/vim-wakatime", lazy = false, enabled = true }, { "wakatime/vim-wakatime", lazy = false, enabled = true },

View File

@@ -0,0 +1,53 @@
return {
-- Use <tab> for completion and snippets (supertab)
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
{
"L3MON4D3/LuaSnip",
keys = function()
return {}
end,
},
-- then: setup supertab in cmp
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-emoji",
},
---@param opts cmp.ConfigSchema
opts = function(_, opts)
local has_words_before = function()
unpack = unpack or table.unpack
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
local luasnip = require("luasnip")
local cmp = require("cmp")
opts.mapping = vim.tbl_extend("force", opts.mapping, {
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
-- this way you will only jump inside the snippet region
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
elseif has_words_before() then
cmp.complete()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" }),
})
end,
},
}

View File

@@ -1,41 +1,13 @@
-- luacheck: globals vim -- luacheck: globals vim
return { return {
-- The theme of choise, catppuccin
-- https://github.com/catppuccin/nvim
{ {
"catppuccin/nvim", "folke/tokyonight.nvim",
name = "catppuccin",
priority = 1000,
enabled = true,
config = function()
vim.cmd.colorscheme("catppuccin")
end,
opts = { opts = {
flavour = "mocha", transparent = true,
}, styles = {
}, sidebars = "transparent",
-- Remove all background colors to make nvim transparent floats = "transparent",
-- https://github.com/xiyaowong/transparent.nvim },
{
"xiyaowong/transparent.nvim",
lazy = false,
enabled = true,
config = function()
vim.g.transparent_groups = vim.list_extend(
vim.g.transparent_groups or {},
vim.tbl_map(function(v)
return v.hl_group
end, vim.tbl_values(require("bufferline.config").highlights))
)
end,
},
-- A fancy, configurable, notification manager for NeoVim
-- https://github.com/rcarriga/nvim-notify
{
"rcarriga/nvim-notify",
opts = {
-- Set background color to black so transparent doesn't mess stuff up
background_colour = "#000000",
}, },
}, },
-- Not UFO in the sky, but an ultra fold in Neovim. -- Not UFO in the sky, but an ultra fold in Neovim.
@@ -71,7 +43,7 @@ return {
jumpBot = "]", jumpBot = "]",
}, },
}, },
provider_selector = function(bufnr, filetype, buftype) provider_selector = function(_, _, _) -- bufnr, filetype, buftype
return { "treesitter", "indent" } return { "treesitter", "indent" }
end, end,
fold_virt_text_handler = function(virtText, lnum, endLnum, width, truncate) fold_virt_text_handler = function(virtText, lnum, endLnum, width, truncate)
@@ -103,15 +75,18 @@ return {
end, end,
}, },
}, },
{
"simrat39/symbols-outline.nvim",
cmd = "SymbolsOutline",
keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } },
config = true,
},
-- Indent guides for Neovim -- Indent guides for Neovim
-- https://github.com/lukas-reineke/indent-blankline.nvim -- https://github.com/lukas-reineke/indent-blankline.nvim
{ "lukas-reineke/indent-blankline.nvim" }, { "lukas-reineke/indent-blankline.nvim" },
-- Git integration for buffers -- Git integration for buffers
-- https://github.com/lewis6991/gitsigns.nvim -- https://github.com/lewis6991/gitsigns.nvim
{ "lewis6991/gitsigns.nvim" }, { "lewis6991/gitsigns.nvim" },
-- Getting you where you want with the fewest keystrokes.
-- https://github.com/ThePrimeagen/harpoon
{ "ThePrimeagen/harpoon" },
-- Close buffer without messing up with the window. -- Close buffer without messing up with the window.
-- https://github.com/famiu/bufdelete.nvim -- https://github.com/famiu/bufdelete.nvim
{ "famiu/bufdelete.nvim" }, { "famiu/bufdelete.nvim" },

View File

@@ -40,6 +40,8 @@ disabled = true
[directory] [directory]
read_only = " 󰌾" read_only = " 󰌾"
style = "blue" style = "blue"
before_repo_root_style = "white"
truncation_symbol = "…/"
[docker_context] [docker_context]
symbol = " " symbol = " "

View File

@@ -67,6 +67,9 @@ bind p paste-buffer
# │ Settings │ # │ Settings │
# ╰──────────────────────────────────────────────────────────╯ # ╰──────────────────────────────────────────────────────────╯
# Expose window title
set-option -g set-titles on
# Mouse support # Mouse support
set -g mouse on set -g mouse on

View File

@@ -20,62 +20,62 @@ wtf:
# that support ten line of text and one of four. # that support ten line of text and one of four.
rows: [10, 10, 10, 20, 10, 4] rows: [10, 10, 10, 20, 10, 4]
refreshInterval: 1 refreshInterval: 1
openFileUtil: "open" openFileUtil: 'open'
mods: mods:
# You can have multiple widgets of the same type. # You can have multiple widgets of the same type.
# The "key" is the name of the widget and the type is the actual # The "key" is the name of the widget and the type is the actual
# widget you want to implement. # widget you want to implement.
europe_time: europe_time:
title: "Europe" title: 'Europe'
type: clocks type: clocks
colors: colors:
rows: rows:
even: "lightblue" even: 'lightblue'
odd: "white" odd: 'white'
enabled: true enabled: true
locations: locations:
GMT: "Etc/GMT" GMT: 'Etc/GMT'
Amsterdam: "Europe/Amsterdam" Amsterdam: 'Europe/Amsterdam'
Berlin: "Europe/Berlin" Berlin: 'Europe/Berlin'
Barcelona: "Europe/Madrid" Barcelona: 'Europe/Madrid'
Copenhagen: "Europe/Copenhagen" Copenhagen: 'Europe/Copenhagen'
London: "Europe/London" London: 'Europe/London'
Rome: "Europe/Rome" Rome: 'Europe/Rome'
Stockholm: "Europe/Stockholm" Stockholm: 'Europe/Stockholm'
position: position:
top: 0 top: 0
left: 0 left: 0
height: 1 height: 1
width: 1 width: 1
refreshInterval: 15 refreshInterval: 15
sort: "alphabetical" sort: 'alphabetical'
americas_time: americas_time:
title: "Americas" title: 'Americas'
type: clocks type: clocks
colors: colors:
rows: rows:
even: "lightblue" even: 'lightblue'
odd: "white" odd: 'white'
enabled: true enabled: true
locations: locations:
UTC: "Etc/UTC" UTC: 'Etc/UTC'
Vancouver: "America/Vancouver" Vancouver: 'America/Vancouver'
New_York: "America/New_York" New_York: 'America/New_York'
Sao_Paulo: "America/Sao_Paulo" Sao_Paulo: 'America/Sao_Paulo'
Denver: "America/Denver" Denver: 'America/Denver'
Iqaluit: "America/Iqaluit" Iqaluit: 'America/Iqaluit'
Bahamas: "America/Nassau" Bahamas: 'America/Nassau'
Chicago: "America/Chicago" Chicago: 'America/Chicago'
position: position:
top: 0 top: 0
left: 1 left: 1
height: 1 height: 1
width: 1 width: 1
refreshInterval: 15 refreshInterval: 15
sort: "alphabetical" sort: 'alphabetical'
battery: battery:
type: power type: power
title: "⚡️" title: '⚡️'
enabled: true enabled: true
position: position:
top: 1 top: 1
@@ -85,14 +85,14 @@ wtf:
refreshInterval: 15 refreshInterval: 15
todolist: todolist:
type: todo type: todo
checkedIcon: "X" checkedIcon: 'X'
colors: colors:
checked: gray checked: gray
highlight: highlight:
fore: "black" fore: 'black'
back: "orange" back: 'orange'
enabled: true enabled: true
filename: "todo.yml" filename: 'todo.yml'
position: position:
top: 1 top: 1
left: 0 left: 0
@@ -101,10 +101,10 @@ wtf:
refreshInterval: 3600 refreshInterval: 3600
ip: ip:
type: ipinfo type: ipinfo
title: "My IP" title: 'My IP'
colors: colors:
name: "lightblue" name: 'lightblue'
value: "white" value: 'white'
enabled: true enabled: true
position: position:
top: 0 top: 0
@@ -114,7 +114,7 @@ wtf:
refreshInterval: 150 refreshInterval: 150
security_info: security_info:
type: security type: security
title: "Staying safe" title: 'Staying safe'
enabled: true enabled: true
position: position:
top: 1 top: 1
@@ -126,9 +126,9 @@ wtf:
type: textfile type: textfile
enabled: true enabled: true
filePaths: filePaths:
- "~/.config/wtf/config.yml" - '~/.config/wtf/config.yml'
format: true format: true
formatStyle: "monokai" formatStyle: 'monokai'
position: position:
top: 3 top: 3
left: 0 left: 0
@@ -137,7 +137,7 @@ wtf:
refreshInterval: 15 refreshInterval: 15
news: news:
type: hackernews type: hackernews
title: "HackerNews" title: 'HackerNews'
enabled: true enabled: true
numberOfStories: 10 numberOfStories: 10
position: position:
@@ -159,7 +159,7 @@ wtf:
uptime: uptime:
type: cmdrunner type: cmdrunner
args: [] args: []
cmd: "uptime" cmd: 'uptime'
enabled: true enabled: true
position: position:
top: 5 top: 5
@@ -169,8 +169,8 @@ wtf:
refreshInterval: 30 refreshInterval: 30
disks: disks:
type: cmdrunner type: cmdrunner
cmd: "df" cmd: 'df'
args: ["-h"] args: ['-h']
enabled: true enabled: true
position: position:
top: 4 top: 4

View File

@@ -1,6 +1,6 @@
# nvim keybindings # nvim keybindings
```md ```
n ! * <Cmd>lua require("which-key").show("!", {mode = "n", auto = true})<CR> n ! * <Cmd>lua require("which-key").show("!", {mode = "n", auto = true})<CR>
n ' * <Cmd>lua require("which-key").show("'", {mode = "n", auto = true})<CR> n ' * <Cmd>lua require("which-key").show("'", {mode = "n", auto = true})<CR>
n " * <Cmd>lua require("which-key").show("\"", {mode = "n", auto = true})<CR> n " * <Cmd>lua require("which-key").show("\"", {mode = "n", auto = true})<CR>

View File

@@ -1,9 +1,7 @@
# tmux keybindings # tmux keybindings
Leader: `<ctrl><space>` Leader: `<ctrl><space>`
``` ```
bind-key -T copy-mode C-Space send-keys -X begin-selection bind-key -T copy-mode C-Space send-keys -X begin-selection
bind-key -T copy-mode C-a send-keys -X start-of-line bind-key -T copy-mode C-a send-keys -X start-of-line
@@ -298,4 +296,3 @@ bind-key -T root M-Right select-pane -R
bind-key -T root C-Tab previous-window bind-key -T root C-Tab previous-window
bind-key -T root C-S-Tab next-window bind-key -T root C-S-Tab next-window
``` ```

View File

@@ -1,4 +1,4 @@
- include: "tools/dotbot-defaults.yaml" - include: 'tools/dotbot-defaults.yaml'
- shell: - shell:
- echo "Configuring air" - echo "Configuring air"
- brewfile: - brewfile:
@@ -8,7 +8,7 @@
force: true force: true
glob: true glob: true
path: hosts/air/base/** path: hosts/air/base/**
prefix: "." prefix: '.'
~/.config/: ~/.config/:
glob: true glob: true
force: true force: true

View File

@@ -1,59 +0,0 @@
# Lakka zsh configuration.
#
# shellcheck shell=bash
export PATH="$HOME/bin:/usr/local/bin:/usr/bin:/usr/sbin:$PATH"
# Defaults
export DOTFILES="$HOME/.dotfiles"
# Run x-load-configs in your terminal to reload the files.
function x-load-configs()
{
HOST="$(hostname -s)"
# Load the shell dotfiles, and then some:
for file in $DOTFILES/config/{exports,alias,functions}; do
# global (exports|alias|functions) file for all hosts
# shellcheck source=../../../config/exports
[ -r "$file" ] && source "$file"
# shellcheck source=../../../config/exports
[ -r "$file-secret" ] && source "$file-secret"
# shellcheck source=../../../config/exports
[ -r "$file-$HOST" ] && source "$file-$HOST"
# shellcheck source=../../../config/exports
[ -r "$file-$HOST-secret" ] && source "$file-$HOST-secret"
done
}
x-load-configs
export PATH="$XDG_BIN_HOME:$PATH"
export LC_ALL=fi_FI.utf8
export RVM_PATH="$HOME/.rvm"
export PATH="$RVM_PATH/bin:$PATH"
# shellcheck source=$HOME/.rvm/scripts/rvm
[[ -s "$RVM_PATH/scripts/rvm" ]] && source "$RVM_PATH/scripts/rvm" # Load RVM into a shell session *as a function*
# Try to load antigen, if present
ANTIGEN_ZSH_PATH="$XDG_BIN_HOME/antigen.zsh"
# shellcheck source=$HOME/.local/bin/antigen.zsh
[[ -f "$ANTIGEN_ZSH_PATH" ]] && source "$ANTIGEN_ZSH_PATH"
# If antigen was loaded
if command -v antigen &>/dev/null; then
antigen use oh-my-zsh
# config/functions
x-default-antigen-bundles
antigen theme oskarkrawczyk/honukai-iterm-zsh honukai
antigen apply
fi
alias logrotate='/usr/sbin/logrotate -s $HOME/logs/state'
alias nano='nano -wS -$'
alias gpg=gpg2
ACME_PATH="$HOME/.acme.sh"
# shellcheck source=$HOME/.acme.sh/acme.sh.env
[[ -s "$ACME_PATH/acme.sh.env" ]] && . "$ACME_PATH/acme.sh.env"

View File

@@ -1,4 +1,4 @@
- include: "tools/dotbot-defaults.yaml" - include: 'tools/dotbot-defaults.yaml'
- shell: - shell:
- echo "Configuring lakka" - echo "Configuring lakka"
- link: - link:
@@ -6,7 +6,7 @@
force: true force: true
glob: true glob: true
path: hosts/lakka/base/** path: hosts/lakka/base/**
prefix: "." prefix: '.'
~/.config/: ~/.config/:
glob: true glob: true
force: true force: true

View File

@@ -1,4 +1,4 @@
- include: "tools/dotbot-defaults.yaml" - include: 'tools/dotbot-defaults.yaml'
- shell: - shell:
- echo "Configuring tunkki" - echo "Configuring tunkki"
- link: - link:
@@ -6,8 +6,11 @@
force: true force: true
glob: true glob: true
path: hosts/tunkki/base/** path: hosts/tunkki/base/**
prefix: "." prefix: '.'
~/.config/: ~/.config/:
glob: true glob: true
force: true force: true
path: hosts/tunkki/config/** path: hosts/tunkki/config/**
- snap:
- nvim:
classic: true

View File

@@ -1,4 +1,4 @@
- include: "tools/dotbot-defaults.yaml" - include: 'tools/dotbot-defaults.yaml'
- shell: - shell:
- echo "Configuring v" - echo "Configuring v"
- link: - link:
@@ -6,7 +6,7 @@
force: true force: true
glob: true glob: true
path: hosts/v/base/** path: hosts/v/base/**
prefix: "." prefix: '.'
~/.config/: ~/.config/:
glob: true glob: true
force: true force: true

View File

@@ -1,4 +1,4 @@
- include: "tools/dotbot-defaults.yaml" - include: 'tools/dotbot-defaults.yaml'
- clean: - clean:
~/: ~/:
~/.config: ~/.config:
@@ -26,7 +26,7 @@
force: true force: true
glob: true glob: true
path: base/* path: base/*
prefix: "." prefix: '.'
~/.config/: ~/.config/:
glob: true glob: true
relink: true relink: true
@@ -56,15 +56,3 @@
file: tools/requirements-pipx.txt file: tools/requirements-pipx.txt
stdout: false stdout: false
stderr: true stderr: true
- crontab:
- time: 0 5 * * *
command: brew update && brew upgrade
platform: darwin # Optional
- time: 0 5 * * *
command: apt update && apt upgrade
platform: linux # Optional
- time: 0 5 * * *
command: task sync
- snap:
- nvim:
classic: true

View File

@@ -13,7 +13,7 @@ Some problematic code has been fixed per `shellcheck` suggestions.
## Sourced ## Sourced
| Script | Source | | Script | Source |
|-------------------------|-------------------| | ----------------------- | ----------------- |
| `x-dupes` | skx/sysadmin-util | | `x-dupes` | skx/sysadmin-util |
| `x-foreach` | mvdan/dotfiles | | `x-foreach` | mvdan/dotfiles |
| `x-multi-ping` | skx/sysadmin-util | | `x-multi-ping` | skx/sysadmin-util |

View File

@@ -10,7 +10,6 @@
: "${VERBOSE:=0}" : "${VERBOSE:=0}"
: "${DOTFILES:=$HOME/.dotfiles}" : "${DOTFILES:=$HOME/.dotfiles}"
: "${SHARED_SCRIPT:=$DOTFILES/scripts/shared.sh}" : "${SHARED_SCRIPT:=$DOTFILES/scripts/shared.sh}"
: "${INSTALL_SCRIPT:=$DOTFILES/scripts/install-dotfiles.sh}"
: "${BREWFILE:=$DOTFILES/config/homebrew/Brewfile}" : "${BREWFILE:=$DOTFILES/config/homebrew/Brewfile}"
: "${HOSTFILES:=$DOTFILES/hosts}" : "${HOSTFILES:=$DOTFILES/hosts}"
@@ -18,9 +17,13 @@ SCRIPT=$(basename "$0")
VERSION_NVM="v0.39.5" VERSION_NVM="v0.39.5"
export DOTFILES_SHARED_LOADED=""
# shellcheck source=./../../scripts/shared.sh # shellcheck source=./../../scripts/shared.sh
source "$SHARED_SCRIPT" source "$SHARED_SCRIPT"
# Loads configs for better installation experience
x-load-configs
function section_install function section_install
{ {
USAGE_PREFIX="$SCRIPT install <command>" USAGE_PREFIX="$SCRIPT install <command>"
@@ -48,6 +51,8 @@ function section_install
case "$1" in case "$1" in
all) all)
msgr msg "Starting to install all and reloading configurations..."
x-load-configs
$0 install macos $0 install macos
$0 install fonts $0 install fonts
$0 install antigen $0 install antigen
@@ -66,6 +71,9 @@ function section_install
$0 install npm $0 install npm
$0 install ntfy $0 install ntfy
$0 install z $0 install z
msgr msg "Reloading configurations again..."
x-load-configs
msgr yay "All done!"
;; ;;
antigen) antigen)
curl -sSfL git.io/antigen -o "$DOTFILES/local/bin/antigen.zsh" \ curl -sSfL git.io/antigen -o "$DOTFILES/local/bin/antigen.zsh" \
@@ -140,10 +148,7 @@ function section_install
bash "$DOTFILES/scripts/install-ntfy.sh" \ bash "$DOTFILES/scripts/install-ntfy.sh" \
&& msg_yay "ntfy installed!" && msg_yay "ntfy installed!"
;; ;;
pip) pip) bash "$DOTFILES/scripts/install-pip-packages.sh" ;;
bash "$DOTFILES/scripts/install-pip-packages.sh" \
&& msg_yay "pip/python packages installed!"
;;
z) z)
bash "$DOTFILES/scripts/install-z.sh" \ bash "$DOTFILES/scripts/install-z.sh" \
&& msg_yay "z has been installed!" && msg_yay "z has been installed!"

222
local/bin/msgr Executable file
View File

@@ -0,0 +1,222 @@
#!/usr/bin/env bash
# msgr / Messanger helper
# Copyright (c) 2023 Ismo Vuorinen. All Rights Reserved.
# MIT License, https://opensource.org/license/mit/
# Modified from https://stackoverflow.com/a/28776166
(
[[ -n $ZSH_VERSION && $ZSH_EVAL_CONTEXT =~ :file$ ]] \
|| [[ -n $BASH_VERSION ]] && (return 0 2> /dev/null)
) && sourced=1 || sourced=0
# ╭──────────────────────────────────────────────────────────╮
# │ Colors │
# ╰──────────────────────────────────────────────────────────╯
CLR_RED="\033[1;31m"
CLR_YELLOW="\033[1;33m"
CLR_GREEN="\033[1;32m"
CLR_BLUE="\033[1;34m"
CLR_RESET="\033[0m"
# ╭──────────────────────────────────────────────────────────╮
# │ Color functions │
# ╰──────────────────────────────────────────────────────────╯
function __color_red()
{
local MSG="$1"
echo -e "${CLR_RED}${MSG}${CLR_RESET}"
}
function __color_yellow()
{
local MSG="$1"
echo -e "${CLR_YELLOW}${MSG}${CLR_RESET}"
}
function __color_green()
{
local MSG="$1"
echo -e "${CLR_GREEN}${MSG}${CLR_RESET}"
}
function __color_blue()
{
local MSG="$1"
echo -e "${CLR_BLUE}${MSG}${CLR_RESET}"
}
# ╭──────────────────────────────────────────────────────────╮
# │ Helpers │
# ╰──────────────────────────────────────────────────────────╯
function __log_marker()
{
echo -e "${CLR_BLUE}➜${CLR_RESET}"
}
function __log_marker_ok()
{
echo -e "${CLR_GREEN}✔${CLR_RESET}"
}
function __log_marker_ok_blue()
{
echo -e "${CLR_BLUE}✔${CLR_RESET}"
}
function __log_marker_warn()
{
echo -e "${CLR_YELLOW}⁕${CLR_RESET}"
}
function __log_marker_question()
{
echo -e "${CLR_YELLOW}?${CLR_RESET}"
}
function __log_marker_err()
{
echo -e "${CLR_RED}⛌${CLR_RESET}"
}
function __log_indent()
{
echo " "
}
# ╭──────────────────────────────────────────────────────────╮
# │ Log functions │
# ╰──────────────────────────────────────────────────────────╯
function msg()
{
echo -e "$(__log_marker) $1"
}
function msg_yay()
{
echo -e "🎉 $1"
}
function msg_yay_done()
{
echo -e "🎉 $1 ...$(__log_marker_ok)"
}
function msg_done()
{
echo -e "$(__log_marker) $1 ...$(__log_marker_ok)"
}
function msg_done_suffix()
{
echo -e "$(__log_marker) ...$(__log_marker_ok)"
}
function msg_prompt()
{
echo -e "$(__log_marker_question) $1"
}
function msg_prompt_done()
{
echo -e "$(__log_marker_question) $1 ...$(__log_marker_ok)"
}
function msg_nested()
{
echo -e "$(__log_indent)$(__log_marker) $1"
}
function msg_nested_done()
{
echo -e "$(__log_indent)$(__log_marker) $1 ...$(__log_marker_ok)"
}
function msg_run()
{
echo -e "${CLR_GREEN}➜ $1${CLR_RESET} $2"
}
function msg_run_done()
{
echo -e "${CLR_GREEN}➜ $1${CLR_RESET} $2 ...$(__log_marker_ok)"
}
function msg_ok()
{
echo -e "$(__log_marker_ok) $1"
}
function msg_warn()
{
echo -e "$(__log_marker_warn) $1"
}
function msg_err()
{
echo -e "$(__log_marker_err) $1"
}
# Create a prompt which you have to answer y/n to continue
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
}
# If this is being sourced, no need to run the next steps.
[ "$sourced" = 1 ] && return
function __tests()
{
msg "[ msg ]"
msg_done "[ done ]"
msg_done_suffix "[ done_suffix ]" && echo " ^-- (done_suffix)"
msg_err "[ err ]"
msg_nested "[ nested ]"
msg_nested_done "[ nested_done ]"
msg_ok "[ ok ]"
msg_prompt "[ prompt ]"
msg_prompt_done "[ prompt_done ]"
msg_run "[ run ]" "[ second_param ]"
msg_run_done "[ run_done ]" "[ second_param ]"
msg_warn "[ warn ]"
msg_yay "[ yay ]"
msg_yay_done "[ yay_done ]"
}
function usage()
{
echo "usage: msgr [type] [message] [optional second message]"
echo ""
echo "-- types and examples: --"
__tests
echo ""
}
# The main loop. first keyword after $0 triggers type, or help and usage examples.
case "$1" in
msg) msg "$2" ;;
done) msg_done "$2" ;;
done_suffix) msg_done_suffix "$2" ;;
err) msg_err "$2" ;;
nested) msg_nested "$2" ;;
nested_done) msg_nested_done "$2" ;;
ok) msg_ok "$2" ;;
prompt) msg_prompt "$2" ;;
prompt_done) msg_prompt_done "$2" ;;
run) msg_run "$2" ;;
run_done) msg_run_done "$2" "$3" ;;
warn) msg_warn "$2" ;;
yay) msg_yay "$2" ;;
yay_done) msg_yay_done "$2" ;;
tests) __tests "[first]" "[second]" ;;
*) usage && exit 0 ;;
esac

View File

@@ -4,6 +4,7 @@
# Updates $HOME/.dotfiles/docs/tmux.md with my keybindings. # Updates $HOME/.dotfiles/docs/tmux.md with my keybindings.
# shellcheck source=./../../scripts/shared.sh # shellcheck source=./../../scripts/shared.sh
DOTFILES_SHARED_LOADED=""
source "$HOME/.dotfiles/scripts/shared.sh" source "$HOME/.dotfiles/scripts/shared.sh"
have tmux || { have tmux || {
@@ -15,7 +16,7 @@ TMUX_KEYBINDINGS_DOCS="$DOTFILES/docs/tmux-keybindings.md"
CB="\n\`\`\`\n" CB="\n\`\`\`\n"
KB=$(tmux list-keys) KB=$(tmux list-keys)
H="# tmux keybindings\n" H="# tmux keybindings\n"
L="\n\nLeader: \`<ctrl><space>\`\n\n" L="\nLeader: \`<ctrl><space>\`\n"
# Generalize expanded $HOME to "$HOME" # Generalize expanded $HOME to "$HOME"
KB="${KB//$HOME/\$HOME}" KB="${KB//$HOME/\$HOME}"

36
package.json Normal file
View File

@@ -0,0 +1,36 @@
{
"name": "ivuorinen-dotfiles",
"version": "1.0.0",
"description": "ivuorinen's dotfiles, this is for linting and formatters",
"main": "index.js",
"directories": {
"doc": "docs"
},
"scripts": {
"lint:markdown": "npx markdownlint -d .",
"fix:markdown": "npx markdownlint -df .",
"lint:prettier": "npx prettier . --check",
"fix:prettier": "npx prettier . --write",
"test": "echo \"Error: no test specified\" && exit 0"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ivuorinen/dotfiles.git"
},
"keywords": [
"dotfiles",
"ivuorinen"
],
"author": "Ismo Vuorinen",
"license": "ISC",
"bugs": {
"url": "https://github.com/ivuorinen/dotfiles/issues"
},
"homepage": "https://github.com/ivuorinen/dotfiles#readme",
"devDependencies": {
"@ivuorinen/commitlint-config": "^0.1.10",
"@ivuorinen/eslint-config": "^0.2.13",
"@ivuorinen/markdownlint-config": "^0.1.6",
"@ivuorinen/prettier-config": "^0.1.1"
}
}

View File

@@ -4,12 +4,18 @@
# shellcheck source=shared.sh # shellcheck source=shared.sh
source "$HOME/.dotfiles/scripts/shared.sh" source "$HOME/.dotfiles/scripts/shared.sh"
msg "Starting to install rust/cargo packages"
! have cargo && { ! have cargo && {
msg "cargo could not be found. installing cargo with rustup.rs" msg "cargo could not be found. installing cargo with rustup.rs"
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --no-modify-path curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --no-modify-path
} }
source "$CARGO_HOME/env"
packages=( packages=(
# An incremental parsing system for programming tools
"tree-sitter-cli"
# a subprocess caching utility # a subprocess caching utility
"bkt" "bkt"
# a structural diff that understands syntax # a structural diff that understands syntax
@@ -18,9 +24,14 @@ packages=(
"eza" "eza"
# A simple, fast and user-friendly alternative to 'find' # A simple, fast and user-friendly alternative to 'find'
"fd-find" "fd-find"
# A cargo subcommand for checking and applying
# updates to installed executables
"cargo-update" "cargo-update"
"pijul" # recursively searches directories for a
# regex pattern while respecting your gitignore
"ripgrep" "ripgrep"
# A version manager for neovim
"bob-nvim"
) )
for pkg in "${packages[@]}"; do for pkg in "${packages[@]}"; do
@@ -34,3 +45,14 @@ for pkg in "${packages[@]}"; do
echo "" echo ""
done done
msg_done "Installed cargo packages!"
msg_run "Now doing the next steps for cargo packages"
# use bob to install nvim
have bob && {
bob use stable && path_append "$XDG_DATA_HOME/bob/nvim-bin"
}
msg_done "All next steps done!"

View File

@@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# shellcheck disable=SC2231,SC2034,SC2181,SC2068 # shellcheck disable=SC2231,SC2034,SC2181,SC2068
# shellcheck source=shared.sh # shellcheck source=shared.sh
DOTFILES_SHARED_LOADED=""
source "$HOME/.dotfiles/scripts/shared.sh" source "$HOME/.dotfiles/scripts/shared.sh"
PBB_REQUIRED_TOOLS=(basename git mkdir cheat ls grep head awk cp echo rm) PBB_REQUIRED_TOOLS=(git cheat)
for t in ${PBB_REQUIRED_TOOLS[@]}; do for t in ${PBB_REQUIRED_TOOLS[@]}; do
! have "$t" && echo "(!) $t is missing, can't continue..." && exit 1 ! have "$t" && echo "(!) $t is missing, can't continue..." && exit 1
done done

View File

@@ -1,9 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# shellcheck disable=SC2231,SC2034,SC2181,SC2068 # shellcheck disable=SC2231,SC2034,SC2181,SC2068
# shellcheck source=shared.sh # shellcheck source=shared.sh
DOTFILES_SHARED_LOADED=""
source "$HOME/.dotfiles/scripts/shared.sh" source "$HOME/.dotfiles/scripts/shared.sh"
TLDR_REQUIRED_TOOLS=(basename git mkdir cheat ls grep head awk cp echo rm) TLDR_REQUIRED_TOOLS=(git cheat)
for t in ${TLDR_REQUIRED_TOOLS[@]}; do for t in ${TLDR_REQUIRED_TOOLS[@]}; do
! have "$t" && echo "(!) $t is missing, can't continue..." && exit 1 ! have "$t" && echo "(!) $t is missing, can't continue..." && exit 1
done done

View File

@@ -4,6 +4,8 @@
# shellcheck source="shared.sh" # shellcheck source="shared.sh"
source "$HOME/.dotfiles/scripts/shared.sh" source "$HOME/.dotfiles/scripts/shared.sh"
msg_run "Installing gh (GitHub Client) extensions"
! have gh \ ! have gh \
&& msg_err "gh (GitHub Client) could not be found, please install it first" \ && msg_err "gh (GitHub Client) could not be found, please install it first" \
&& exit 0 && exit 0
@@ -28,15 +30,13 @@ extensions=(
rsese/gh-actions-status rsese/gh-actions-status
) )
msg "Starting to install GitHub CLI extensions..."
for ext in "${extensions[@]}"; do for ext in "${extensions[@]}"; do
# Trim spaces # Trim spaces
ext=${ext// /} ext=${ext// /}
# Skip comments # Skip comments
if [[ ${ext:0:1} == "#" ]]; then continue; fi if [[ ${ext:0:1} == "#" ]]; then continue; fi
msg_run "Installing $ext" msg_nested "Installing $ext"
gh extensions install "$ext" gh extensions install "$ext"
echo "" echo ""
done done

View File

@@ -6,7 +6,7 @@
# shellcheck source=shared.sh # shellcheck source=shared.sh
source "$HOME/.dotfiles/scripts/shared.sh" source "$HOME/.dotfiles/scripts/shared.sh"
msg "Installing git-crypt" msg_run "Installing git-crypt"
! have git-crypt && { ! have git-crypt && {

View File

@@ -4,6 +4,8 @@
# shellcheck source=shared.sh # shellcheck source=shared.sh
source "$HOME/.dotfiles/scripts/shared.sh" source "$HOME/.dotfiles/scripts/shared.sh"
msg_run "Installing go packages"
! have go && msg "go hasn't been installed yet." && exit 0 ! have go && msg "go hasn't been installed yet." && exit 0
packages=( packages=(
@@ -33,16 +35,17 @@ for pkg in "${packages[@]}"; do
# Skip comments # Skip comments
if [[ ${pkg:0:1} == "#" ]]; then continue; fi if [[ ${pkg:0:1} == "#" ]]; then continue; fi
msg_run "Installing go package:" "$pkg" msg_nested "Installing go package: $pkg"
go install "$pkg" go install "$pkg"
echo "" echo ""
done done
msg "Installing completions for selected packages" msg_run "Installing completions for selected packages"
have git-profile && { have git-profile && {
git-profile completion zsh > "$ZSH_CUSTOM_COMPLETION_PATH/_git-profile" \ git-profile completion zsh > "$ZSH_CUSTOM_COMPLETION_PATH/_git-profile" \
&& msg_yay "Installed completions for git-profile" && msg_ok "Installed completions for git-profile"
} }
echo ""
msg_ok "Done" msg_ok "Done"

View File

@@ -4,6 +4,8 @@
# shellcheck source=shared.sh # shellcheck source=shared.sh
source "$HOME/.dotfiles/scripts/shared.sh" source "$HOME/.dotfiles/scripts/shared.sh"
msg "Starting to install npm packages"
! have npm && msg_err "npm could not be found." && exit 0 ! have npm && msg_err "npm could not be found." && exit 0
packages=( packages=(

View File

@@ -4,13 +4,16 @@
# shellcheck source=shared.sh # shellcheck source=shared.sh
source "$HOME/.dotfiles/scripts/shared.sh" source "$HOME/.dotfiles/scripts/shared.sh"
! have pip && { msg "Starting to install pip packages"
msg_err "Could not find pip, something really terrible is going on." && exit 1
! have python3 && {
msg_err "Could not find python3, something really terrible is going on." && exit 1
} }
packages=( packages=(
"pipx" "pipx"
"libtmux" "libtmux"
"ensurepath"
) )
for pkg in "${packages[@]}"; do for pkg in "${packages[@]}"; do
@@ -19,7 +22,10 @@ for pkg in "${packages[@]}"; do
# Skip comments # Skip comments
if [[ ${pkg:0:1} == "#" ]]; then continue; fi if [[ ${pkg:0:1} == "#" ]]; then continue; fi
msg_nested "Installing pip package: $pkg"
python3 -m pip install --user "$pkg" python3 -m pip install --user "$pkg"
echo "" echo ""
done done
msg_yay "Run pip package installations"

View File

@@ -8,6 +8,11 @@
[ "$(uname)" != "Darwin" ] && echo "Not a macOS system" && exit 0 [ "$(uname)" != "Darwin" ] && echo "Not a macOS system" && exit 0
# shellcheck source=shared.sh
source "$HOME/.dotfiles/scripts/shared.sh"
msg_run "Starting to set macOS defaults, these require sudo privileges:"
# Ask for the administrator password upfront # Ask for the administrator password upfront
sudo -v sudo -v
@@ -19,6 +24,8 @@ while true; do
kill -0 "$$" || exit kill -0 "$$" || exit
done 2> /dev/null & done 2> /dev/null &
msg_nested "Change user shell to zsh if it is available and not the current"
# Change user shell to zsh if not that already. # Change user shell to zsh if not that already.
if hash zsh 2> /dev/null; then if hash zsh 2> /dev/null; then
[[ "$SHELL" != $(which zsh) ]] && chsh -s "$(which zsh)" [[ "$SHELL" != $(which zsh) ]] && chsh -s "$(which zsh)"
@@ -28,6 +35,8 @@ fi
# General UI/UX # # General UI/UX #
############################################################################### ###############################################################################
msg_nested "Setting General UI/UX settings"
# Disable the sound effects on boot # Disable the sound effects on boot
sudo nvram SystemAudioVolume=" " sudo nvram SystemAudioVolume=" "
@@ -80,6 +89,8 @@ defaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false
# SSD-specific tweaks # # SSD-specific tweaks #
############################################################################### ###############################################################################
msg_nested "Setting SSD-specific tweaks"
# Disable hibernation (speeds up entering sleep mode) # Disable hibernation (speeds up entering sleep mode)
sudo pmset -a hibernatemode 0 sudo pmset -a hibernatemode 0
@@ -90,6 +101,8 @@ sudo pmset -a sms 0
# Trackpad, mouse, keyboard, Bluetooth accessories, and input # # Trackpad, mouse, keyboard, Bluetooth accessories, and input #
############################################################################### ###############################################################################
msg_nested "Settings for Trackpad, mouse, keyboard, Bluetooth accessories, and input"
# Increase sound quality for Bluetooth headphones/headsets # Increase sound quality for Bluetooth headphones/headsets
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Max (editable)" 80 defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Max (editable)" 80
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" 80 defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" 80
@@ -124,6 +137,8 @@ defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
# Screen # # Screen #
############################################################################### ###############################################################################
msg_nested "Settings for Screen"
# Require password immediately after sleep or screen saver begins # Require password immediately after sleep or screen saver begins
defaults write com.apple.screensaver askForPassword -int 1 defaults write com.apple.screensaver askForPassword -int 1
defaults write com.apple.screensaver askForPasswordDelay -int 0 defaults write com.apple.screensaver askForPasswordDelay -int 0
@@ -132,6 +147,8 @@ defaults write com.apple.screensaver askForPasswordDelay -int 0
# Finder # # Finder #
############################################################################### ###############################################################################
msg_nested "Settings for Finder"
# Set Desktop as the default location for new Finder windows # Set Desktop as the default location for new Finder windows
# For other paths, use `PfLo` and `file:///full/path/here/` # For other paths, use `PfLo` and `file:///full/path/here/`
defaults write com.apple.finder NewWindowTarget -string "PfDe" defaults write com.apple.finder NewWindowTarget -string "PfDe"
@@ -190,6 +207,8 @@ defaults write com.apple.finder FXInfoPanesExpanded -dict \
# Screenshots # # Screenshots #
############################################################################### ###############################################################################
msg_nested "Settings for Screenshots"
# Set default screenshot location # Set default screenshot location
mkdir -p "$HOME/Documents/Screenshots" mkdir -p "$HOME/Documents/Screenshots"
defaults write com.apple.screencapture "location" -string "$HOME/Documents/Screenshots" defaults write com.apple.screencapture "location" -string "$HOME/Documents/Screenshots"
@@ -204,6 +223,8 @@ defaults write com.apple.screencapture "name" -string "screenshot"
# Dock, Dashboard, and hot corners # # Dock, Dashboard, and hot corners #
############################################################################### ###############################################################################
msg_nested "Settings for Dock, Dashboard, and hot corners"
# Prevent applications from bouncing in Dock # Prevent applications from bouncing in Dock
defaults write com.apple.dock no-bouncing -bool true defaults write com.apple.dock no-bouncing -bool true
@@ -234,6 +255,8 @@ defaults write com.apple.dock showhidden -bool true
# Safari & WebKit # # Safari & WebKit #
############################################################################### ###############################################################################
msg_nested "Settings for Safari & WebKit"
# Enable Safaris debug menu # Enable Safaris debug menu
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
@@ -258,6 +281,8 @@ defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true
# Activity Monitor # # Activity Monitor #
############################################################################### ###############################################################################
msg_nested "Settings for ActivityMonitor"
# Show the main window when launching Activity Monitor # Show the main window when launching Activity Monitor
defaults write com.apple.ActivityMonitor OpenMainWindow -bool true defaults write com.apple.ActivityMonitor OpenMainWindow -bool true
@@ -275,6 +300,8 @@ defaults write com.apple.ActivityMonitor SortDirection -int 0
# Address Book, Dashboard, iCal, TextEdit, and Disk Utility # # Address Book, Dashboard, iCal, TextEdit, and Disk Utility #
############################################################################### ###############################################################################
msg_nested "Settings for Address Book, Dashboard, iCal, TextEdit, and Disk Utility"
# Use plain text mode for new TextEdit documents # Use plain text mode for new TextEdit documents
defaults write com.apple.TextEdit RichText -int 0 defaults write com.apple.TextEdit RichText -int 0
@@ -286,6 +313,8 @@ defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4
# Messages # # Messages #
############################################################################### ###############################################################################
msg_nested "Settings for Messages"
# Disable smart quotes as its annoying for messages that contain code # Disable smart quotes as its annoying for messages that contain code
defaults write com.apple.messageshelper.MessageController \ defaults write com.apple.messageshelper.MessageController \
SOInputLineSettings \ SOInputLineSettings \
@@ -298,6 +327,8 @@ defaults write com.apple.messageshelper.MessageController \
-dict-add "continuousSpellCheckingEnabled" \ -dict-add "continuousSpellCheckingEnabled" \
-bool false -bool false
msg_nested "Restarting applications to apply changes"
############################################################################### ###############################################################################
# Kill affected applications # # Kill affected applications #
############################################################################### ###############################################################################
@@ -307,4 +338,5 @@ for app in "Activity Monitor" "Address Book" "Calendar" "Contacts" "cfprefsd" \
"Terminal" "Transmission" "Twitter" "iCal"; do "Terminal" "Transmission" "Twitter" "iCal"; do
killall "${app}" > /dev/null 2>&1 killall "${app}" > /dev/null 2>&1
done done
echo "Done. Note that some of these changes require a logout/restart to take effect."
msg_yay "Done. Note that some of these changes require a logout/restart to take effect."

View File

@@ -6,140 +6,27 @@
# Helper env variables. Use like this: VERBOSE=1 ./script.sh # Helper env variables. Use like this: VERBOSE=1 ./script.sh
: "${VERBOSE:=0}" : "${VERBOSE:=0}"
# -- Colors -- # source "$DOTFILES/local/bin/msgr"
CLR_RED="\033[1;31m"
CLR_YELLOW="\033[1;33m"
CLR_GREEN="\033[1;32m"
CLR_BLUE="\033[1;34m"
CLR_RESET="\033[0m"
# -- Color functions -- # # Run x-load-configs in your terminal to reload the files.
function __color_red() function x-load-configs()
{ {
local MSG="$1" # Load the shell dotfiles, and then some:
echo -e "${CLR_RED}${MSG}${CLR_RESET}" for file in $DOTFILES/config/{exports,alias,functions}; do
} HOST="$(hostname -s)"
function __color_yellow() # global (exports|alias|functions) file for all hosts
{ # shellcheck source=../config/exports
local MSG="$1" [ -r "$file" ] && source "$file"
echo -e "${CLR_YELLOW}${MSG}${CLR_RESET}" # global secret file, git ignored
} # shellcheck source=../config/exports-secret
function __color_green() [ -r "$file-secret" ] && source "$file-secret"
{ # host specific (exports|alias|functions) file
local MSG="$1" # shellcheck source=../config/exports
echo -e "${CLR_GREEN}${MSG}${CLR_RESET}" [ -r "$file-$HOST" ] && source "$file-$HOST"
} # host specific (exports|alias|functions) file, git ignored
function __color_blue() # shellcheck source=../config/exports
{ [ -r "$file-$HOST-secret" ] && source "$file-$HOST-secret"
local MSG="$1" done
echo -e "${CLR_BLUE}${MSG}${CLR_RESET}"
}
# -- Helpers -- #
function __log_marker()
{
echo -e "${CLR_BLUE}${CLR_RESET}"
}
function __log_marker_ok()
{
echo -e "${CLR_GREEN}${CLR_RESET}"
}
function __log_marker_ok_blue()
{
echo -e "${CLR_BLUE}${CLR_RESET}"
}
function __log_marker_warn()
{
echo -e "${CLR_YELLOW}${CLR_RESET}"
}
function __log_marker_question()
{
echo -e "${CLR_YELLOW}?${CLR_RESET}"
}
function __log_marker_err()
{
echo -e "${CLR_RED}${CLR_RESET}"
}
function __log_indent()
{
echo " "
}
# -- Log -- #
function msg()
{
echo -e "$(__log_marker) $1"
}
function msg_yay()
{
echo -e "🎉 $1"
}
function msg_yay_done()
{
echo -e "🎉 $1 ...$(__log_marker_ok)"
}
function msg_done()
{
echo -e "$(__log_marker) $1 ...$(__log_marker_ok)"
}
function msg_done_suffix()
{
echo -e "$(__log_marker) ...$(__log_marker_ok)"
}
function msg_prompt()
{
echo -e "$(__log_marker_question) $1"
}
function msg_prompt_done()
{
echo -e "$(__log_marker_question) $1 ...$(__log_marker_ok)"
}
function msg_nested()
{
echo -e "$(__log_indent)$(__log_marker) $1"
}
function msg_nested_done()
{
echo -e "$(__log_indent)$(__log_marker) $1 ...$(__log_marker_ok)"
}
function msg_run()
{
echo -e "${CLR_GREEN}$1${CLR_RESET} $2"
}
function msg_run_done()
{
echo -e "${CLR_GREEN}$1${CLR_RESET} $2 ...$(__log_marker_ok)"
}
function msg_ok()
{
echo -e "$(__log_marker_ok) $1"
}
function msg_warn()
{
echo -e "$(__log_marker_warn) $1"
}
function msg_err()
{
echo -e "$(__log_marker_err) $1"
} }
# -- Menu builder -- # # -- Menu builder -- #
@@ -201,7 +88,7 @@ function menu_usage()
if command -v bkt >&/dev/null; then if command -v bkt >&/dev/null; then
bkt() bkt()
{ {
command bkt "$@" command bkt --cache-dir="$XDG_CACHE_HOME/bkt" "$@"
} }
else else
# If bkt isn't installed skip its arguments and just execute directly. # If bkt isn't installed skip its arguments and just execute directly.
@@ -213,11 +100,20 @@ else
} }
fi fi
# shorthand for checking if the system has the bin in path. # shorthand for checking if the system has the bin in path,
# this version does not use caching
# usage: have_command php && php -v
function have_command
{
command -v "$1" >&/dev/null
}
# shorthand for checking if the system has the bin in path,
# this version uses caching
# usage: have php && php -v # usage: have php && php -v
function have function have
{ {
bkt -- command -v "$1" >&/dev/null bkt -- which -s "$1" >&/dev/null
} }
function brew_installed function brew_installed
@@ -344,16 +240,8 @@ silent()
"$@" >&/dev/null "$@" >&/dev/null
} }
# Create a prompt which you have to answer y/n to continue # Check if a file contains non-ascii characters
ask() nonascii()
{ {
while true; do LC_ALL=C grep -n '[^[:print:][:space:]]' "${@}"
read -p "$1 ([y]/n) " -r
REPLY=${REPLY:-"y"}
if [[ $REPLY =~ ^[Yy]$ ]]; then
return 1
elif [[ $REPLY =~ ^[Nn]$ ]]; then
return 0
fi
done
} }

View File

@@ -1,2 +1 @@
openapi-python-client openapi-python-client
libtmux

2919
yarn.lock Normal file

File diff suppressed because it is too large Load Diff