mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-27 21:45:41 +00:00
Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 441ba01455 | |||
| 73a00fcdf0 | |||
| 205ea28e16 | |||
| ade8162660 | |||
| 1745a15acf | |||
| ad08a2956e | |||
| 8d2083be4c | |||
| 87281a436f | |||
| 4ec9444e29 | |||
|
|
95d358ae3d | ||
|
|
cea61a5719 | ||
|
|
28c29d94f2 | ||
|
|
1028d3847c | ||
| 3498c6b739 | |||
| 83eb7d861e | |||
| 22090129ec | |||
|
|
5b0ca2a63b | ||
|
|
c5fa136a1f | ||
|
|
9a63aaff74 | ||
| 5e68077ac2 | |||
| 72b9acd710 | |||
|
|
469044bb2a | ||
|
|
96a362474c | ||
|
|
1b9dfac671 | ||
|
|
7dbaf8204b | ||
|
|
415d7d9026 | ||
|
|
6734d3c1ab | ||
|
|
b20d08aa69 | ||
|
|
e4da7534f8 | ||
| b39f7ec598 | |||
|
|
0f8c1ef457 | ||
|
|
4b31ad9a7b | ||
| 4d60d15831 | |||
|
|
90125c7278 | ||
| 0035575f8b | |||
|
|
865c0aa33b | ||
|
|
5fe7bc3527 | ||
| 0d1b35ef09 | |||
|
|
bee0340493 | ||
| fbdc9c741a | |||
| 0ac0d05db6 | |||
| 1c432da880 | |||
|
|
7e0cc9ec43 | ||
|
|
8c4b6d2983 | ||
|
|
5b4cf1bb2f | ||
| c9edd4bf84 | |||
| 1023228ddc | |||
| 8f8851d08f | |||
| 2b06642e4b | |||
|
|
52cbebc0b3 | ||
| 2b64164f2b | |||
| 7c8fb993a2 | |||
|
|
e745583f07 | ||
| 5762d57eb1 | |||
|
|
4b1d860cb5 | ||
|
|
288580c150 |
BIN
.github/screenshots/tmux-nvim-astronvim.png
vendored
Normal file
BIN
.github/screenshots/tmux-nvim-astronvim.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 140 KiB |
BIN
.github/screenshots/tmux-starship.png
vendored
Normal file
BIN
.github/screenshots/tmux-starship.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -7,6 +7,8 @@ Brewfile.lock.json
|
||||
config/fzf
|
||||
config/cheat/cheatsheets/pure-bash-bible/*
|
||||
config/cheat/cheatsheets/tldr/*
|
||||
ssh/local.d/*
|
||||
!ssh/local.d/.gitkeep
|
||||
!.gitkeep
|
||||
.env
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
3
|
||||
3.11
|
||||
|
||||
112
Brewfile
112
Brewfile
@@ -6,9 +6,7 @@ tap "gesquive/tap"
|
||||
tap "github/gh"
|
||||
tap "homebrew/autoupdate"
|
||||
tap "homebrew/bundle"
|
||||
tap "homebrew/cask"
|
||||
tap "homebrew/cask-fonts"
|
||||
tap "homebrew/core"
|
||||
tap "homebrew/services"
|
||||
tap "jesseduffield/lazygit"
|
||||
tap "mongodb/brew"
|
||||
@@ -16,7 +14,7 @@ tap "shivammathur/extensions"
|
||||
tap "shivammathur/php"
|
||||
tap "teamookla/speedtest"
|
||||
tap "xwmx/taps"
|
||||
# Run your GitHub Actions locally 🚀
|
||||
# Run your GitHub Actions locally
|
||||
brew "act"
|
||||
# Interpreted, interactive, object-oriented programming language
|
||||
brew "python@3.11"
|
||||
@@ -31,15 +29,13 @@ brew "arkade"
|
||||
# Automatic configure script builder
|
||||
brew "autoconf"
|
||||
# GNU File, Shell, and Text utilities
|
||||
brew "coreutils"
|
||||
brew "coreutils", link: false
|
||||
# Extendable version manager with support for Ruby, Node.js, Erlang & more
|
||||
brew "asdf"
|
||||
# Spell checker with better logic than ispell
|
||||
brew "aspell"
|
||||
# Official Amazon AWS command-line interface
|
||||
brew "awscli"
|
||||
# Terminal bandwidth utilization tool
|
||||
brew "bandwhich"
|
||||
# Clone of cat(1) with syntax highlighting and Git integration
|
||||
brew "bat"
|
||||
# Yet another cross-platform graphical process/system monitor
|
||||
@@ -54,6 +50,8 @@ brew "pkg-config"
|
||||
brew "choose-rust"
|
||||
# Cross-platform make
|
||||
brew "cmake"
|
||||
# Dependency manager for Cocoa projects
|
||||
brew "cocoapods"
|
||||
# Get, unpack, build, and install modules from CPAN
|
||||
brew "cpanminus"
|
||||
# Open source suite of directory software
|
||||
@@ -74,10 +72,14 @@ brew "dotenv-linter"
|
||||
brew "editorconfig-checker"
|
||||
# Useful examples at the command-line
|
||||
brew "eg-examples"
|
||||
# C/C++ and Java libraries for Unicode and globalization
|
||||
brew "icu4c"
|
||||
# OpenType text shaping engine
|
||||
brew "harfbuzz"
|
||||
# Development kit for the Java programming language
|
||||
brew "openjdk"
|
||||
# Run arbitrary commands when files change
|
||||
brew "entr"
|
||||
# CLI for templating and/or deploying FaaS functions
|
||||
brew "faas-cli"
|
||||
# Simple, fast and user-friendly alternative to find
|
||||
brew "fd"
|
||||
# Banner-like program prints strings as ASCII art
|
||||
@@ -91,15 +93,13 @@ brew "fzf"
|
||||
# Graphics library to dynamically manipulate images
|
||||
brew "gd"
|
||||
# Disk usage analyzer with console interface written in Go
|
||||
brew "gdu", link: false
|
||||
brew "gdu"
|
||||
# GitHub command-line tool
|
||||
brew "gh"
|
||||
# Distributed revision control system
|
||||
brew "git"
|
||||
# Small git utilities
|
||||
brew "git-extras"
|
||||
# AVH edition of git-flow
|
||||
brew "git-flow-avh"
|
||||
# See your latest local git branches, formatted real fancy
|
||||
brew "git-recent"
|
||||
# Open-source GitLab command-line tool
|
||||
@@ -118,10 +118,6 @@ brew "gnupg"
|
||||
brew "go"
|
||||
# Image manipulation
|
||||
brew "netpbm"
|
||||
# C/C++ and Java libraries for Unicode and globalization
|
||||
brew "icu4c"
|
||||
# OpenType text shaping engine
|
||||
brew "harfbuzz"
|
||||
# Framework for layout and rendering of i18n text
|
||||
brew "pango"
|
||||
# Library to render SVG files using Cairo
|
||||
@@ -160,12 +156,8 @@ brew "luarocks"
|
||||
brew "m-cli"
|
||||
# Mac App Store command-line interface
|
||||
brew "mas"
|
||||
# Terminal-based visual file manager
|
||||
brew "midnight-commander"
|
||||
# Ambitious Vim-fork focused on extensibility and agility
|
||||
brew "neovim"
|
||||
# No Nonsense Neovim Client in Rust
|
||||
brew "neovide", link: false
|
||||
# HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
|
||||
brew "nginx"
|
||||
# Port scanning utility for large networks
|
||||
@@ -200,6 +192,8 @@ brew "rcm"
|
||||
brew "ripgrep"
|
||||
# Powerful, clean, object-oriented scripting language
|
||||
brew "ruby"
|
||||
# Safe, concurrent, practical language
|
||||
brew "rust"
|
||||
# Static analysis and lint tool, for (ba)sh scripts
|
||||
brew "shellcheck"
|
||||
# Autoformat shell script source code
|
||||
@@ -213,9 +207,7 @@ brew "task"
|
||||
# Terminal user interface for taskwarrior
|
||||
brew "taskwarrior-tui"
|
||||
# Send macOS User Notifications from the command-line
|
||||
brew "terminal-notifier", link: false
|
||||
# Tool to build, change, and version infrastructure
|
||||
brew "terraform", link: false
|
||||
brew "terminal-notifier"
|
||||
# Thin wrapper for Terraform e.g. for locking state
|
||||
brew "terragrunt"
|
||||
# Tool which checks for the support of TLS/SSL ciphers and flaws
|
||||
@@ -290,6 +282,8 @@ cask "dbngin"
|
||||
cask "docker"
|
||||
# Reimagine your terminal
|
||||
cask "fig"
|
||||
# UI toolkit for building applications for mobile, web and desktop
|
||||
cask "flutter"
|
||||
# Unofficial overcast.fm podcast app
|
||||
cask "fog"
|
||||
# Typeface made for developers
|
||||
@@ -368,14 +362,78 @@ cask "vlc"
|
||||
cask "voikkospellservice"
|
||||
# Rust-based terminal
|
||||
cask "warp"
|
||||
# Mastodon, Pleroma, and Misskey client
|
||||
cask "whalebird"
|
||||
# View output from scripts in the menu bar
|
||||
cask "xbar"
|
||||
mas "1Password for Safari", id: 1569813296
|
||||
mas "Actions", id: 1586435171
|
||||
mas "Audiobook Builder", id: 1437681957
|
||||
mas "Flow", id: 1423210932
|
||||
mas "Ivory", id: 6444602274
|
||||
mas "Keynote", id: 409183694
|
||||
mas "Numbers", id: 409203825
|
||||
mas "Pages", id: 409201541
|
||||
mas "Tailscale", id: 1475387142
|
||||
mas "Xcode", id: 497799835
|
||||
vscode "akamud.vscode-theme-onelight"
|
||||
vscode "amiralizadeh9480.laravel-extra-intellisense"
|
||||
vscode "andrewleedham.vscode-css-modules"
|
||||
vscode "andrewmcodes.tailwindcss-extension-pack"
|
||||
vscode "austenc.tailwind-docs"
|
||||
vscode "bmewburn.vscode-intelephense-client"
|
||||
vscode "Box-Of-Hats.bemhelper"
|
||||
vscode "bradlc.vscode-tailwindcss"
|
||||
vscode "christian-kohler.npm-intellisense"
|
||||
vscode "DavidAnson.vscode-markdownlint"
|
||||
vscode "dbaeumer.vscode-eslint"
|
||||
vscode "DotJoshJohnson.xml"
|
||||
vscode "eamodio.gitlens"
|
||||
vscode "EditorConfig.EditorConfig"
|
||||
vscode "esbenp.prettier-vscode"
|
||||
vscode "formulahendry.auto-close-tag"
|
||||
vscode "formulahendry.code-runner"
|
||||
vscode "gencer.html-slim-scss-css-class-completion"
|
||||
vscode "github.vscode-github-actions"
|
||||
vscode "GitHub.vscode-pull-request-github"
|
||||
vscode "GraphQL.vscode-graphql"
|
||||
vscode "GraphQL.vscode-graphql-execution"
|
||||
vscode "GraphQL.vscode-graphql-syntax"
|
||||
vscode "heybourn.headwind"
|
||||
vscode "JohnnyMorganz.stylua"
|
||||
vscode "jumpinjackie.vscode-map-preview"
|
||||
vscode "k--kato.intellij-idea-keybindings"
|
||||
vscode "liamhammett.inline-parameters"
|
||||
vscode "macieklad.tailwind-sass-syntax"
|
||||
vscode "MehediDracula.php-namespace-resolver"
|
||||
vscode "mikestead.dotenv"
|
||||
vscode "MrChetan.phpstorm-parameter-hints-in-vscode"
|
||||
vscode "mrorz.language-gettext"
|
||||
vscode "ms-azuretools.vscode-docker"
|
||||
vscode "ms-python.python"
|
||||
vscode "ms-python.vscode-pylance"
|
||||
vscode "ms-toolsai.jupyter"
|
||||
vscode "ms-toolsai.jupyter-renderers"
|
||||
vscode "ms-toolsai.vscode-jupyter-cell-tags"
|
||||
vscode "ms-toolsai.vscode-jupyter-slideshow"
|
||||
vscode "ms-vscode-remote.remote-containers"
|
||||
vscode "ms-vscode-remote.remote-wsl"
|
||||
vscode "ms-vscode.cpptools"
|
||||
vscode "msjsdiag.vscode-react-native"
|
||||
vscode "mtxr.sqltools"
|
||||
vscode "neilbrayfield.php-docblocker"
|
||||
vscode "nemesarial.dust"
|
||||
vscode "nhoizey.gremlins"
|
||||
vscode "octref.vetur"
|
||||
vscode "oderwat.indent-rainbow"
|
||||
vscode "pflannery.vscode-versionlens"
|
||||
vscode "phiter.phpstorm-snippets"
|
||||
vscode "SonarSource.sonarlint-vscode"
|
||||
vscode "stylelint.vscode-stylelint"
|
||||
vscode "syler.sass-indented"
|
||||
vscode "timonwong.shellcheck"
|
||||
vscode "tootone.org-mode"
|
||||
vscode "valeryanm.vscode-phpsab"
|
||||
vscode "Vue.volar"
|
||||
vscode "WakaTime.vscode-wakatime"
|
||||
vscode "wix.vscode-import-cost"
|
||||
vscode "xdebug.php-debug"
|
||||
vscode "xdebug.php-pack"
|
||||
vscode "yinfei.luahelper"
|
||||
vscode "yoavbls.pretty-ts-errors"
|
||||
vscode "ZainChen.json"
|
||||
|
||||
67
README.md
67
README.md
@@ -17,12 +17,26 @@ fork or download the repo as a zip and go from there with your own configs.
|
||||
3. ???
|
||||
4. Profit
|
||||
|
||||
### Updates
|
||||
|
||||
`cd $HOME/.dotfiles && git pull && ./install`
|
||||
|
||||
## The looks
|
||||
|
||||
## tmux with starship, the default view
|
||||
|
||||

|
||||
|
||||
## tmux + nvim (astronvim) editing this repository
|
||||
|
||||

|
||||
|
||||
## Interesting files and locations
|
||||
|
||||
### Interesting folders
|
||||
|
||||
| Path | Description |
|
||||
| ------------------- | -------------------------------------------- |
|
||||
|---------------------|----------------------------------------------|
|
||||
| `.github` | GitHub Repository configuration files. |
|
||||
| `hosts/{hostname}/` | Configs that should apply to that host only. |
|
||||
| `local/bin` | Helper scripts that I've collected or wrote. |
|
||||
@@ -31,7 +45,7 @@ fork or download the repo as a zip and go from there with your own configs.
|
||||
### dotfile folders
|
||||
|
||||
| Repo | Destination | Description |
|
||||
| --------- | ----------- | ------------------------------------------- |
|
||||
|-----------|-------------|---------------------------------------------|
|
||||
| `base/` | `.*` | `$HOME` level files. |
|
||||
| `config/` | `.config/` | Configurations for applications. |
|
||||
| `local/` | `.local/` | XDG Base folder: `bin`, `share` and `state` |
|
||||
@@ -47,32 +61,30 @@ The folder structure follows [XDG Base Directory Specification][xdg] where possi
|
||||
|
||||
### XDG Variables
|
||||
|
||||
| Var | Default |
|
||||
| ------------------ | -------------------- |
|
||||
| Env | Default |
|
||||
|--------------------|----------------------|
|
||||
| `$XDG_BIN_HOME` | `$HOME/.local/bin` |
|
||||
| `$XDG_CONFIG_HOME` | `$HOME/.config` |
|
||||
| `$XDG_DATA_HOME` | `$HOME/.local/share` |
|
||||
| `$XDG_STATE_HOME` | `$HOME/.local/state` |
|
||||
| `$XDG_CONFIG_HOME` | `$HOME/.config` |
|
||||
| `$XDG_BIN_HOME` | `$HOME/.local/bin` |
|
||||
|
||||
- `$XDG_BIN_HOME` is a custom `env` for `.local/bin` folder.
|
||||
- `$XDG_BIN_HOME` defines directory that contains local binaries.
|
||||
- `$XDG_DATA_HOME` defines the base directory relative to which user-specific data
|
||||
files should be stored. If `$XDG_DATA_HOME` is either not set or empty,
|
||||
a default equal to `$HOME/.local/share` should be used.
|
||||
- `$XDG_CONFIG_HOME` defines the base directory relative to which user-specific configuration
|
||||
files should be stored. If `$XDG_CONFIG_HOME` is either not set or empty,
|
||||
a default equal to `$HOME/.config` should be used.
|
||||
files should be stored.
|
||||
- If `$XDG_DATA_HOME` is either not set or empty, a default equal to
|
||||
`$HOME/.local/share` should be used.
|
||||
- `$XDG_CONFIG_HOME` defines the base directory relative to which user-specific
|
||||
configuration files should be stored.
|
||||
- If `$XDG_CONFIG_HOME` is either not set or empty, a default equal to `$HOME/.config` should be used.
|
||||
- `$XDG_STATE_HOME` defines the base directory relative
|
||||
to which user-specific state files should be stored.
|
||||
If `$XDG_STATE_HOME` is either not set or empty, a default
|
||||
equal to `$HOME/.local/state` should be used.
|
||||
- The `$XDG_STATE_HOME` contains state data that should persist
|
||||
between (application) restarts,
|
||||
but that is not important or portable enough to the user that
|
||||
it should be stored in `$XDG_DATA_HOME`.
|
||||
It may contain:
|
||||
- actions history (logs, history, recently used files, …)
|
||||
- current state of the application that can be reused
|
||||
on a restart (view, layout, open files, undo history, …)
|
||||
- If `$XDG_STATE_HOME` is either not set or empty, a default equal to `$HOME/.local/state` should be used.
|
||||
- The `$XDG_STATE_HOME` contains state data that should persist between (application) restarts,
|
||||
but that is not important or portable enough to the user that it should be stored in `$XDG_DATA_HOME`.
|
||||
- It may contain:
|
||||
- actions history (logs, history, recently used files, …)
|
||||
- current state of the application that can be reused
|
||||
on a restart (view, layout, open files, undo history, …)
|
||||
- User-specific executable files may be stored in `$HOME/.local/bin`.
|
||||
Distributions should ensure this directory shows up in the UNIX `$PATH`
|
||||
environment variable, at an appropriate place.
|
||||
@@ -81,14 +93,3 @@ The folder structure follows [XDG Base Directory Specification][xdg] where possi
|
||||
The directories in `$XDG_DATA_DIRS` should be seperated with a colon ':'.
|
||||
|
||||
[xdg]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
||||
|
||||
## Interesting links
|
||||
|
||||
### Interesting dotfiles repos
|
||||
|
||||
- [dotfiles.github.io/inspiration/](https://dotfiles.github.io/inspiration)
|
||||
- [frdmn/dotfiles](https://github.com/github.com/frdmn/dotfiles) - Ansible-based
|
||||
dotfile setup for macOS
|
||||
- [mvdan/dotfiles](https://github.com/mvdan/dotfiles) - Here be dragons
|
||||
- [vsouza/dotfiles](https://github.com/vsouza/dotfiles) - 🏡 My dotfiles
|
||||
- [freekmurze/dotfiles](https://github.com/freekmurze/dotfiles) - My personal dotfiles
|
||||
|
||||
@@ -6,7 +6,7 @@ colors
|
||||
setopt correct
|
||||
|
||||
# Add completion scripts to zsh path
|
||||
fpath=(~/.config/zsh/completion $fpath)
|
||||
FPATH="~/.config/zsh/completion:$FPATH"
|
||||
autoload -Uz compinit && compinit -i
|
||||
|
||||
# Defaults
|
||||
@@ -49,4 +49,3 @@ have starship && eval "$(starship init zsh)"
|
||||
|
||||
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh ] \
|
||||
&& source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh
|
||||
|
||||
|
||||
18
config/astronvim/lua/user/.luacheckrc
Normal file
18
config/astronvim/lua/user/.luacheckrc
Normal file
@@ -0,0 +1,18 @@
|
||||
-- Global objects
|
||||
globals = {
|
||||
"astronvim",
|
||||
"astronvim_installation",
|
||||
"vim",
|
||||
"bit",
|
||||
}
|
||||
|
||||
-- Rerun tests only if their modification time changed
|
||||
cache = true
|
||||
|
||||
-- Don't report unused self arguments of methods
|
||||
self = false
|
||||
|
||||
ignore = {
|
||||
"631", -- max_line_length
|
||||
"212/_.*", -- unused argument, for vars with "_" prefix
|
||||
}
|
||||
20
config/astronvim/lua/user/.neoconf.json
Normal file
20
config/astronvim/lua/user/.neoconf.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"lspconfig": {
|
||||
"lua_ls": {
|
||||
"Lua.format.enable": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,7 @@ return {
|
||||
["<leader>b"] = { name = "Buffers" },
|
||||
-- quick save
|
||||
-- ["<C-s>"] = { ":w!<cr>", desc = "Save File" }, -- change description but the same command
|
||||
["<leader>P"] = { ":Telescope projects<cr>", desc = "Update Projects listing" },
|
||||
},
|
||||
t = {
|
||||
-- setting a mapping to false will disable it
|
||||
|
||||
@@ -25,6 +25,8 @@ return {
|
||||
icons_enabled = true,
|
||||
-- disable notifications when toggling UI elements
|
||||
ui_notifications_enabled = true,
|
||||
-- enable experimental resession.nvim session management (will be default in AstroNvim v4)
|
||||
resession_enabled = false,
|
||||
},
|
||||
}
|
||||
-- If you need more control, you can use the function()...end notation
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
return { -- Add the community repository of plugin specifications
|
||||
"AstroNvim/astrocommunity", -- example of imporing a plugin, comment out to use it or add your own
|
||||
return {
|
||||
-- Add the community repository of plugin specifications
|
||||
"AstroNvim/astrocommunity",
|
||||
-- example of imporing a plugin, comment out to use it or add your own.
|
||||
-- available plugins can be found at
|
||||
-- https://github.com/AstroNvim/astrocommunity
|
||||
{
|
||||
@@ -15,6 +17,7 @@ return { -- Add the community repository of plugin specific
|
||||
}
|
||||
},
|
||||
-- { import = "astrocommunity.completion.copilot-lua-cmp" },
|
||||
{ import = "astrocommunity.completion.tabnine-nvim" },
|
||||
{ import = "astrocommunity.bars-and-lines.smartcolumn-nvim" },
|
||||
{
|
||||
"m4xshen/smartcolumn.nvim",
|
||||
@@ -27,10 +30,11 @@ return { -- Add the community repository of plugin specific
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
opts = {
|
||||
auto_open = false,
|
||||
position = "right"
|
||||
auto_open = true,
|
||||
position = "bottom"
|
||||
}
|
||||
},
|
||||
{ import = "astrocommunity.editing-support.comment-box-nvim" },
|
||||
{ import = "astrocommunity.editing-support.refactoring-nvim" },
|
||||
{ import = "astrocommunity.editing-support.neogen" },
|
||||
{ import = "astrocommunity.editing-support.nvim-regexplainer" },
|
||||
@@ -38,8 +42,17 @@ return { -- Add the community repository of plugin specific
|
||||
{ import = "astrocommunity.indent.mini-indentscope" },
|
||||
{ import = "astrocommunity.markdown-and-latex.glow-nvim" },
|
||||
{ import = "astrocommunity.motion.harpoon" },
|
||||
{ import = "astrocommunity.pack.ansible" },
|
||||
{ import = "astrocommunity.pack.bash" },
|
||||
{ import = "astrocommunity.pack.docker" },
|
||||
{ import = "astrocommunity.pack.go" },
|
||||
{ import = "astrocommunity.pack.html-css" },
|
||||
{ import = "astrocommunity.pack.json" },
|
||||
{ import = "astrocommunity.pack.markdown" },
|
||||
{ import = "astrocommunity.pack.php" },
|
||||
{ import = "astrocommunity.project.neoconf-nvim" },
|
||||
{ import = "astrocommunity.pack.typescript" },
|
||||
{ import = "astrocommunity.pack.vue" },
|
||||
{ import = "astrocommunity.pack.yaml" },
|
||||
{ import = "astrocommunity.project.nvim-spectre" },
|
||||
{ import = "astrocommunity.project.project-nvim" },
|
||||
{ import = "astrocommunity.test.neotest" },
|
||||
|
||||
@@ -5,20 +5,18 @@ return {
|
||||
opts = function(_, opts)
|
||||
-- customize the dashboard header
|
||||
opts.section.header.val = {
|
||||
"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░",
|
||||
"░░░░░░░░░░▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄░░░░░░░░░",
|
||||
"░░░░░░░░▄▀░░░░░░░░░░░░▄░░░░░░░▀▄░░░░░░░",
|
||||
"░░░░░░░░█░░▄░░░░▄░░░░░░░░░░░░░░█░░░░░░░",
|
||||
"░░░░░░░░█░░░░░░░░░░░░▄█▄▄░░▄░░░█░▄▄▄░░░",
|
||||
"░▄▄▄▄▄░░█░░░░░░▀░░░░▀█░░▀▄░░░░░█▀▀░██░░",
|
||||
"░██▄▀██▄█░░░▄░░░░░░░██░░░░▀▀▀▀▀░░░░██░░",
|
||||
"░░▀██▄▀██░░░░░░░░▀░██▀░░░░░░░░░░░░░▀██░",
|
||||
"░░░░▀████░▀░░░░▄░░░██░░░▄█░░░░▄░▄█░░██░",
|
||||
"░░░░░░░▀█░░░░▄░░░░░██░░░░▄░░░▄░░▄░░░██░",
|
||||
"░░░░░░░▄█▄░░░░░░░░░░░▀▄░░▀▀▀▀▀▀▀▀░░▄▀░░",
|
||||
"░░░░░░█▀▀█████████▀▀▀▀████████████▀░░░░",
|
||||
"░░░░░░████▀░░███▀░░░░░░▀███░░▀██▀░░░░░░",
|
||||
"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
|
||||
" ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ",
|
||||
" ▄▀░░░░░░░░░░░░▄░░░░░░░▀▄ ",
|
||||
" █░░▄░░░░▄░░░░░░░░░░░░░░█ ",
|
||||
" █░░░░░░░░░░░░▄█▄▄░░▄░░░█ ▄▄▄ ",
|
||||
"▄▄▄▄▄ █░░░░░░▀░░░░▀█░░▀▄░░░░░█▀▀░██ ",
|
||||
"██▄▀██▄█░░░▄░░░░░░░██░░░░▀▀▀▀▀░░░░██ ",
|
||||
" ▀██▄▀██░░░░░░░░▀░██▀░░░░░░░░░░░░░▀██",
|
||||
" ▀████░▀░░░░▄░░░██░░░▄█░░░░▄░▄█░░██",
|
||||
" ▀█░░░░▄░░░░░██░░░░▄░░░▄░░▄░░░██",
|
||||
" ▄█▄░░░░░░░░░░░▀▄░░▀▀▀▀▀▀▀▀░░▄▀ ",
|
||||
" █▀▀█████████▀▀▀▀████████████▀ ",
|
||||
" ████▀ ███▀ ▀███ ▀██▀ ",
|
||||
}
|
||||
return opts
|
||||
end,
|
||||
@@ -47,11 +45,15 @@ return {
|
||||
visible = false,
|
||||
show_hidden_count = true,
|
||||
hide_dotfiles = false,
|
||||
hide_gitignored = true,
|
||||
hide_gitignored = false,
|
||||
hide_by_name = {
|
||||
'.idea',
|
||||
'.DS_Store'
|
||||
},
|
||||
never_show = {
|
||||
'.git',
|
||||
'.idea',
|
||||
'.mypy_cache',
|
||||
'.DS_Store',
|
||||
'thumbs.db'
|
||||
},
|
||||
@@ -99,9 +101,12 @@ return {
|
||||
require "plugins.configs.which-key" (plugin, opts)
|
||||
-- Add bindings which show up as group name
|
||||
local wk = require "which-key"
|
||||
wk.register({
|
||||
b = { name = "Buffer" },
|
||||
}, { mode = "n", prefix = "<leader>" })
|
||||
wk.register(
|
||||
{
|
||||
b = { name = "Buffer" },
|
||||
},
|
||||
{ mode = "n", prefix = "<leader>" }
|
||||
)
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,29 +1,44 @@
|
||||
-- customize mason plugins
|
||||
return { -- use mason-lspconfig to configure LSP installations
|
||||
return {
|
||||
-- use mason-lspconfig to configure LSP installations
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
-- overrides `require("mason-lspconfig").setup(...)`
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"diagnosticls",
|
||||
},
|
||||
},
|
||||
}, -- use mason-null-ls to configure Formatters/Linter installation for null-ls sources
|
||||
opts = function(_, opts)
|
||||
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||
-- "lua_ls",
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- use mason-null-ls to configure Formatters/Linter
|
||||
-- installation for null-ls sources
|
||||
{
|
||||
"jay-babu/mason-null-ls.nvim",
|
||||
-- overrides `require("mason-null-ls").setup(...)`
|
||||
opts = {
|
||||
automatic_setup = true,
|
||||
automatic_installation = true,
|
||||
},
|
||||
opts = function(_, opts)
|
||||
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||
-- "prettier",
|
||||
-- "stylua",
|
||||
})
|
||||
opts.automatic_setup = true
|
||||
opts.automatic_installation = true
|
||||
end,
|
||||
},
|
||||
{
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
-- overrides `require("mason-nvim-dap").setup(...)`
|
||||
opts = {
|
||||
automatic_installation = true,
|
||||
automatic_setup = true,
|
||||
ensure_installed = { "python", "php", "js", "bash" },
|
||||
},
|
||||
opts = function(_, opts)
|
||||
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||
"python",
|
||||
"php",
|
||||
"js",
|
||||
"bash"
|
||||
})
|
||||
opts.automatic_installation = true
|
||||
opts.automatic_setup = true
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -30,14 +30,8 @@ return {
|
||||
null_ls.builtins.diagnostics.tfsec,
|
||||
null_ls.builtins.diagnostics.trail_space,
|
||||
null_ls.builtins.diagnostics.tsc,
|
||||
null_ls.builtins.diagnostics.vacuum,
|
||||
null_ls.builtins.diagnostics.vint,
|
||||
null_ls.builtins.diagnostics.vulture,
|
||||
null_ls.builtins.diagnostics.yamllint,
|
||||
null_ls.builtins.diagnostics.zsh,
|
||||
null_ls.builtins.formatting.blade_formatter,
|
||||
null_ls.builtins.formatting.clang_format,
|
||||
null_ls.builtins.formatting.eslint,
|
||||
null_ls.builtins.formatting.fixjson,
|
||||
null_ls.builtins.formatting.isort,
|
||||
null_ls.builtins.formatting.jq,
|
||||
@@ -45,7 +39,6 @@ return {
|
||||
null_ls.builtins.formatting.shfmt.with {
|
||||
args = { "-i", "1", "-bn", "-ci", "-sr", "-kb", "-fn" },
|
||||
},
|
||||
null_ls.builtins.formatting.stylelint,
|
||||
}
|
||||
return config -- return final config table
|
||||
end,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||
"bash",
|
||||
"c",
|
||||
"cmake",
|
||||
@@ -28,6 +28,6 @@ return {
|
||||
"vim",
|
||||
"vue",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -21,6 +21,14 @@ have ansible && {
|
||||
x-dc "$ANSIBLE_GALAXY_CACHE_DIR"
|
||||
}
|
||||
|
||||
# brew configuration
|
||||
have brew && {
|
||||
FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
}
|
||||
|
||||
# composer, https://getcomposer.org/
|
||||
have composer && {
|
||||
export COMPOSER_HOME="$XDG_STATE_HOME/composer"
|
||||
|
||||
@@ -11,9 +11,6 @@
|
||||
[pull]
|
||||
rebase = true
|
||||
|
||||
[gpg]
|
||||
format = ssh
|
||||
|
||||
[alias]
|
||||
branchbydate = for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='%(refname:short)'
|
||||
branchcolor = "!for ref in $(git for-each-ref --sort=-committerdate --format=\"%(refname)\" refs/heads/ refs/remotes ); do git log -n1 $ref --pretty=format:\"%Cgreen%cr%Creset %C(yellow)%d%Creset %C(bold blue)<%an>%Creset%n\" | cat ; done | awk '! a[$0]++'"
|
||||
@@ -22,6 +19,7 @@
|
||||
nah = !git reset --hard && git clean -df
|
||||
reset-origin = !git fetch origin && git reset --hard origin/master && git clean -f -d
|
||||
reset-upstream = !git fetch upstream && git reset --hard upstream/master && git clean -f -d
|
||||
recent = "!r() { count=$1; git for-each-ref --sort=-committerdate refs/heads --format='%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)' --color=always --count=${count:=10} | column -ts'|';}; r"
|
||||
rl = reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
|
||||
tagdate = log --date-order --graph --tags --simplify-by-decoration --pretty=format:\"%ai %h %d\"
|
||||
undo-commit = reset HEAD~ --soft
|
||||
@@ -59,4 +57,5 @@
|
||||
|
||||
# dotfiles special config
|
||||
[includeIf "hasconfig:remote.*.url:https://github.com/ivuorinen/dotfiles.git"]
|
||||
path = ~/.dotfiles/config/git/special/dotfiles ;
|
||||
path = ~/.dotfiles/config/git/special/dotfiles ;
|
||||
|
||||
|
||||
@@ -2,14 +2,8 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>AboutToPasteTabsWithCancel</key>
|
||||
<true/>
|
||||
<key>AboutToPasteTabsWithCancel_selection</key>
|
||||
<integer>0</integer>
|
||||
<key>AllowClipboardAccess</key>
|
||||
<true/>
|
||||
<key>AlternateMouseScroll</key>
|
||||
<true/>
|
||||
<key>AutoHideTmuxClientSession</key>
|
||||
<true/>
|
||||
<key>Custom Color Presets</key>
|
||||
@@ -344,7 +338,7 @@
|
||||
</dict>
|
||||
</dict>
|
||||
<key>Default Bookmark Guid</key>
|
||||
<string>82636119-EA17-4A26-9AA7-408172F4A9C8</string>
|
||||
<string>B563F48B-314D-48CC-908E-ACA971D430BE</string>
|
||||
<key>DimBackgroundWindows</key>
|
||||
<false/>
|
||||
<key>DimOnlyText</key>
|
||||
@@ -353,16 +347,14 @@
|
||||
<true/>
|
||||
<key>HapticFeedbackForEsc</key>
|
||||
<false/>
|
||||
<key>HideScrollbar</key>
|
||||
<true/>
|
||||
<key>HotkeyMigratedFromSingleToMulti</key>
|
||||
<true/>
|
||||
<key>IRMemory</key>
|
||||
<integer>4</integer>
|
||||
<key>MaxVertically</key>
|
||||
<true/>
|
||||
<key>NeverWarnAboutShortLivedSessions_82636119-EA17-4A26-9AA7-408172F4A9C8</key>
|
||||
<true/>
|
||||
<key>NeverWarnAboutShortLivedSessions_82636119-EA17-4A26-9AA7-408172F4A9C8_selection</key>
|
||||
<integer>0</integer>
|
||||
<key>New Bookmarks</key>
|
||||
<array>
|
||||
<dict>
|
||||
@@ -370,6 +362,8 @@
|
||||
<true/>
|
||||
<key>ASCII Ligatures</key>
|
||||
<false/>
|
||||
<key>Allow Title Reporting</key>
|
||||
<true/>
|
||||
<key>Ambiguous Double Width</key>
|
||||
<false/>
|
||||
<key>Ansi 0 Color</key>
|
||||
@@ -610,26 +604,12 @@
|
||||
<key>Red Component</key>
|
||||
<real>1</real>
|
||||
</dict>
|
||||
<key>Badge Font</key>
|
||||
<string>JetBrainsMonoNerdFontCompleteM-Bold</string>
|
||||
<key>Badge Max Height</key>
|
||||
<real>0.10000000000000001</real>
|
||||
<key>Badge Max Width</key>
|
||||
<real>0.45000000000000001</real>
|
||||
<key>Badge Right Margin</key>
|
||||
<real>10</real>
|
||||
<key>Badge Text</key>
|
||||
<string></string>
|
||||
<key>Badge Top Margin</key>
|
||||
<real>10</real>
|
||||
<key>Blend</key>
|
||||
<real>0.24709154211956524</real>
|
||||
<key>Blinking Cursor</key>
|
||||
<false/>
|
||||
<key>Blur</key>
|
||||
<true/>
|
||||
<key>Blur Radius</key>
|
||||
<real>9.5927277260638313</real>
|
||||
<real>10</real>
|
||||
<key>Bold Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
@@ -648,11 +628,9 @@
|
||||
<key>Close Sessions On End</key>
|
||||
<true/>
|
||||
<key>Columns</key>
|
||||
<integer>120</integer>
|
||||
<integer>130</integer>
|
||||
<key>Command</key>
|
||||
<string></string>
|
||||
<key>Cursor Boost</key>
|
||||
<real>0.0</real>
|
||||
<key>Cursor Color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
@@ -720,11 +698,9 @@
|
||||
<real>0.80392156862745101</real>
|
||||
</dict>
|
||||
<key>Guid</key>
|
||||
<string>82636119-EA17-4A26-9AA7-408172F4A9C8</string>
|
||||
<string>B563F48B-314D-48CC-908E-ACA971D430BE</string>
|
||||
<key>Horizontal Spacing</key>
|
||||
<real>1</real>
|
||||
<key>Icon</key>
|
||||
<integer>1</integer>
|
||||
<key>Idle Code</key>
|
||||
<integer>0</integer>
|
||||
<key>Jobs to Ignore</key>
|
||||
@@ -1030,8 +1006,6 @@
|
||||
<key>Red Component</key>
|
||||
<real>0.53725490196078429</real>
|
||||
</dict>
|
||||
<key>Minimum Contrast</key>
|
||||
<real>0.14973958333333334</real>
|
||||
<key>Mouse Reporting</key>
|
||||
<true/>
|
||||
<key>Name</key>
|
||||
@@ -1057,7 +1031,7 @@
|
||||
<key>Rows</key>
|
||||
<integer>25</integer>
|
||||
<key>Screen</key>
|
||||
<integer>-2</integer>
|
||||
<integer>-1</integer>
|
||||
<key>Scrollback Lines</key>
|
||||
<integer>0</integer>
|
||||
<key>Selected Text Color</key>
|
||||
@@ -1088,17 +1062,13 @@
|
||||
</dict>
|
||||
<key>Send Code When Idle</key>
|
||||
<false/>
|
||||
<key>Set Local Environment Vars</key>
|
||||
<true/>
|
||||
<key>Shortcut</key>
|
||||
<string>T</string>
|
||||
<string></string>
|
||||
<key>Show Status Bar</key>
|
||||
<true/>
|
||||
<key>Show Timestamps</key>
|
||||
<integer>2</integer>
|
||||
<key>Silence Bell</key>
|
||||
<false/>
|
||||
<key>Smart Cursor Color</key>
|
||||
<true/>
|
||||
<key>Status Bar Layout</key>
|
||||
<dict>
|
||||
@@ -1107,17 +1077,17 @@
|
||||
<key>algorithm</key>
|
||||
<integer>0</integer>
|
||||
<key>auto-rainbow style</key>
|
||||
<integer>3</integer>
|
||||
<integer>0</integer>
|
||||
<key>font</key>
|
||||
<string>.AppleSystemUIFont 12</string>
|
||||
<key>remove empty components</key>
|
||||
<false/>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>components</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>class</key>
|
||||
<string>iTermStatusBarJobComponent</string>
|
||||
<string>iTermStatusBarClockComponent</string>
|
||||
<key>configuration</key>
|
||||
<dict>
|
||||
<key>knobs</key>
|
||||
@@ -1126,22 +1096,55 @@
|
||||
<integer>1</integer>
|
||||
<key>base: priority</key>
|
||||
<real>5</real>
|
||||
<key>format</key>
|
||||
<string>YYYY-MM-dd HH:mm</string>
|
||||
<key>localize</key>
|
||||
<integer>0</integer>
|
||||
<key>maxwidth</key>
|
||||
<real>150</real>
|
||||
<key>minwidth</key>
|
||||
<real>150</real>
|
||||
</dict>
|
||||
<key>layout advanced configuration dictionary value</key>
|
||||
<dict>
|
||||
<key>algorithm</key>
|
||||
<integer>0</integer>
|
||||
<key>auto-rainbow style</key>
|
||||
<integer>0</integer>
|
||||
<key>remove empty components</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>class</key>
|
||||
<string>iTermStatusBarHostnameComponent</string>
|
||||
<key>configuration</key>
|
||||
<dict>
|
||||
<key>knobs</key>
|
||||
<dict>
|
||||
<key>abbreviate-localhost</key>
|
||||
<string></string>
|
||||
<key>base: compression resistance</key>
|
||||
<real>1</real>
|
||||
<key>base: priority</key>
|
||||
<real>5</real>
|
||||
<key>maxwidth</key>
|
||||
<real>+infinity</real>
|
||||
<key>minwidth</key>
|
||||
<integer>0</integer>
|
||||
<string>0</string>
|
||||
<key>shared text color</key>
|
||||
<dict>
|
||||
<key>Alpha Component</key>
|
||||
<real>1</real>
|
||||
<key>Blue Component</key>
|
||||
<real>0.63</real>
|
||||
<real>0.43218994140625</real>
|
||||
<key>Color Space</key>
|
||||
<string>sRGB</string>
|
||||
<key>Green Component</key>
|
||||
<real>0.63</real>
|
||||
<real>0.34513998031616211</real>
|
||||
<key>Red Component</key>
|
||||
<real>0.90000000000000002</real>
|
||||
<real>0.0</real>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>layout advanced configuration dictionary value</key>
|
||||
@@ -1149,10 +1152,66 @@
|
||||
<key>algorithm</key>
|
||||
<integer>0</integer>
|
||||
<key>auto-rainbow style</key>
|
||||
<integer>3</integer>
|
||||
<integer>0</integer>
|
||||
<key>font</key>
|
||||
<string>.AppleSystemUIFont 12</string>
|
||||
<key>remove empty components</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>class</key>
|
||||
<string>iTermStatusBarSpringComponent</string>
|
||||
<key>configuration</key>
|
||||
<dict>
|
||||
<key>knobs</key>
|
||||
<dict>
|
||||
<key>base: compression resistance</key>
|
||||
<integer>1</integer>
|
||||
<key>base: priority</key>
|
||||
<real>5</real>
|
||||
<key>iTermStatusBarSpringComponentSizeMultipleKey</key>
|
||||
<integer>1</integer>
|
||||
<key>iTermStatusBarSpringComponentSpringConstantKey</key>
|
||||
<real>0.01</real>
|
||||
</dict>
|
||||
<key>layout advanced configuration dictionary value</key>
|
||||
<dict>
|
||||
<key>algorithm</key>
|
||||
<integer>0</integer>
|
||||
<key>auto-rainbow style</key>
|
||||
<integer>0</integer>
|
||||
<key>font</key>
|
||||
<string>.AppleSystemUIFont 12</string>
|
||||
<key>remove empty components</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>class</key>
|
||||
<string>iTermStatusBarSpringComponent</string>
|
||||
<key>configuration</key>
|
||||
<dict>
|
||||
<key>knobs</key>
|
||||
<dict>
|
||||
<key>base: compression resistance</key>
|
||||
<integer>1</integer>
|
||||
<key>base: priority</key>
|
||||
<real>5</real>
|
||||
<key>iTermStatusBarSpringComponentSizeMultipleKey</key>
|
||||
<integer>1</integer>
|
||||
<key>iTermStatusBarSpringComponentSpringConstantKey</key>
|
||||
<real>0.01</real>
|
||||
</dict>
|
||||
<key>layout advanced configuration dictionary value</key>
|
||||
<dict>
|
||||
<key>algorithm</key>
|
||||
<integer>0</integer>
|
||||
<key>auto-rainbow style</key>
|
||||
<integer>0</integer>
|
||||
<key>remove empty components</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</dict>
|
||||
@@ -1165,18 +1224,14 @@
|
||||
<array/>
|
||||
<key>Terminal Type</key>
|
||||
<string>xterm-256color</string>
|
||||
<key>Title Components</key>
|
||||
<integer>512</integer>
|
||||
<key>Transparency</key>
|
||||
<real>0.10293218085106381</real>
|
||||
<real>0.20000000000000004</real>
|
||||
<key>Unlimited Scrollback</key>
|
||||
<true/>
|
||||
<key>Use Bold Font</key>
|
||||
<true/>
|
||||
<key>Use Bright Bold</key>
|
||||
<true/>
|
||||
<key>Use Cursor Guide</key>
|
||||
<false/>
|
||||
<key>Use Italic Font</key>
|
||||
<true/>
|
||||
<key>Use Non-ASCII Font</key>
|
||||
@@ -1191,12 +1246,6 @@
|
||||
<string>/Users/ivuorinen/Code</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>OpenArrangementAtStartup</key>
|
||||
<false/>
|
||||
<key>OpenNoWindowsAtStartup</key>
|
||||
<false/>
|
||||
<key>OpenTmuxWindowsIn</key>
|
||||
<integer>1</integer>
|
||||
<key>PointerActions</key>
|
||||
<dict>
|
||||
<key>Button,1,1,,</key>
|
||||
@@ -1230,16 +1279,26 @@
|
||||
<string>kNextWindowPointerAction</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>PreserveWindowSizeWhenTabBarVisibilityChanges</key>
|
||||
<true/>
|
||||
<key>Print In Black And White</key>
|
||||
<true/>
|
||||
<key>PromptOnQuit</key>
|
||||
<false/>
|
||||
<key>SeparateStatusBarsPerPane</key>
|
||||
<false/>
|
||||
<key>SmartPlacement</key>
|
||||
<true/>
|
||||
<key>SoundForEsc</key>
|
||||
<false/>
|
||||
<key>SplitPaneDimmingAmount</key>
|
||||
<real>0.59999999999999998</real>
|
||||
<key>StatusBarPosition</key>
|
||||
<integer>0</integer>
|
||||
<key>TabStyleWithAutomaticOption</key>
|
||||
<integer>5</integer>
|
||||
<key>ThreeFingerEmulates</key>
|
||||
<true/>
|
||||
<key>TmuxUnpauseAutomatically</key>
|
||||
<true/>
|
||||
<key>VisualIndicatorForEsc</key>
|
||||
<false/>
|
||||
<key>kCPKSelectionViewPreferredModeKey</key>
|
||||
|
||||
Submodule config/nvim updated: 23bf3b2917...f3e69c05a0
@@ -42,3 +42,40 @@ data.location=$XDG_DATA_HOME/task/
|
||||
weekstart=monday
|
||||
|
||||
news.version=2.6.0
|
||||
|
||||
default.project=Inbox
|
||||
calendar.details=full
|
||||
calendar.holidays=sparse
|
||||
|
||||
uda.taskwarrior-tui.keyconfig.quit=q
|
||||
uda.taskwarrior-tui.keyconfig.refresh=r
|
||||
uda.taskwarrior-tui.keyconfig.go-to-bottom=G
|
||||
uda.taskwarrior-tui.keyconfig.go-to-top=g
|
||||
uda.taskwarrior-tui.keyconfig.down=j
|
||||
uda.taskwarrior-tui.keyconfig.up=k
|
||||
uda.taskwarrior-tui.keyconfig.page-down=J
|
||||
uda.taskwarrior-tui.keyconfig.page-up=K
|
||||
uda.taskwarrior-tui.keyconfig.delete=x
|
||||
uda.taskwarrior-tui.keyconfig.done=d
|
||||
uda.taskwarrior-tui.keyconfig.start-stop=s
|
||||
uda.taskwarrior-tui.keyconfig.quick-tag=t
|
||||
uda.taskwarrior-tui.keyconfig.undo=u
|
||||
uda.taskwarrior-tui.keyconfig.edit=e
|
||||
uda.taskwarrior-tui.keyconfig.modify=m
|
||||
uda.taskwarrior-tui.keyconfig.shell=!
|
||||
uda.taskwarrior-tui.keyconfig.log=l
|
||||
uda.taskwarrior-tui.keyconfig.add=a
|
||||
uda.taskwarrior-tui.keyconfig.annotate=A
|
||||
uda.taskwarrior-tui.keyconfig.filter=/
|
||||
uda.taskwarrior-tui.keyconfig.zoom=z
|
||||
uda.taskwarrior-tui.keyconfig.context-menu=c
|
||||
uda.taskwarrior-tui.keyconfig.next-tab=.
|
||||
uda.taskwarrior-tui.keyconfig.previous-tab=,
|
||||
|
||||
taskd.certificate=$XDG_DATA_HOME/task/private.certificate.pem
|
||||
taskd.key=$XDG_DATA_HOME/task/private.key.pem
|
||||
taskd.ca=$XDG_DATA_HOME/task/ca.cert.pem
|
||||
taskd.server=inthe.am:53589
|
||||
taskd.credentials=inthe_am/ivuorinen/b99a4970-94fb-4fb8-b9fe-e1a8140dd44d
|
||||
taskd.trust=strict
|
||||
|
||||
|
||||
@@ -21,6 +21,9 @@ set -g @tpm_plugins ' \
|
||||
tmux-plugins/tmux-yank \
|
||||
'
|
||||
|
||||
# Set plugins install dir
|
||||
set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.config/tmux/plugins/'
|
||||
|
||||
set-option -sa terminal-overrides ",xterm*:Tc"
|
||||
|
||||
# Mouse support
|
||||
|
||||
@@ -226,7 +226,7 @@ bind-key -T prefix D choose-client -Z
|
||||
bind-key -T prefix E select-layout -E
|
||||
bind-key -T prefix I run-shell /Users/ivuorinen/.config/tmux/plugins/tpm/bindings/install_plugins
|
||||
bind-key -T prefix L switch-client -l
|
||||
bind-key -T prefix M select-pane -M
|
||||
bind-key -T prefix M run-shell -b /Users/ivuorinen/.tmux/plugins/tmux-notify/scripts/cancel.sh
|
||||
bind-key -T prefix N new-window
|
||||
bind-key -T prefix R run-shell " tmux source-file /Users/ivuorinen/.config/tmux/tmux.conf > /dev/null; tmux display-message 'Sourced /Users/ivuorinen/.config/tmux/tmux.conf!'"
|
||||
bind-key -T prefix S switch-client -l
|
||||
@@ -248,11 +248,11 @@ bind-key -T prefix n next-window
|
||||
bind-key -T prefix o select-pane -t :.+
|
||||
bind-key -T prefix p paste-buffer
|
||||
bind-key -T prefix q display-panes
|
||||
bind-key -T prefix r source-file /Users/ivuorinen/.dotfiles/config/tmux/tmux.conf \; display-message "tmux cfg reloaded!"
|
||||
bind-key -T prefix r source-file /Users/ivuorinen/.config/tmux/tmux.conf \; display-message "tmux cfg reloaded!"
|
||||
bind-key -T prefix s choose-tree -Zs
|
||||
bind-key -T prefix t run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh 'join-pane' '-b'"
|
||||
bind-key -T prefix w choose-tree -Zw
|
||||
bind-key -T prefix x confirm-before -p "kill-pane #P? (y/n)" kill-pane
|
||||
bind-key -T prefix x run-shell "tmux split-window -l 10 \"/Users/ivuorinen/.tmux/plugins/tmux-1password/scripts/main.sh '#{pane_id}'\""
|
||||
bind-key -T prefix y run-shell -b /Users/ivuorinen/.config/tmux/plugins/tmux-yank/scripts/copy_line.sh
|
||||
bind-key -T prefix z resize-pane -Z
|
||||
bind-key -T prefix \{ swap-pane -U
|
||||
@@ -269,6 +269,7 @@ bind-key -T prefix M-2 select-layout even-vertical
|
||||
bind-key -T prefix M-3 select-layout main-horizontal
|
||||
bind-key -T prefix M-4 select-layout main-vertical
|
||||
bind-key -T prefix M-5 select-layout tiled
|
||||
bind-key -T prefix M-m run-shell -b "/Users/ivuorinen/.tmux/plugins/tmux-notify/scripts/notify.sh refocus"
|
||||
bind-key -T prefix M-n next-window -a
|
||||
bind-key -T prefix M-o rotate-window -D
|
||||
bind-key -T prefix M-p previous-window -a
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
[include]
|
||||
path = ~/.dotfiles/config/git/shared
|
||||
|
||||
[gpg]
|
||||
format = ssh
|
||||
|
||||
[user]
|
||||
name = Ismo Vuorinen
|
||||
email = ismo.vuorinen@vincit.fi
|
||||
|
||||
@@ -149,7 +149,7 @@ function section_brew
|
||||
have brew && {
|
||||
case "$1" in
|
||||
install)
|
||||
brew bundle install --file="$BREWFILE" && msg_yay "Done!"
|
||||
brew bundle install --file="$BREWFILE" --force --quiet && msg_yay "Done!"
|
||||
;;
|
||||
update)
|
||||
brew update && brew outdated && brew upgrade && brew cleanup
|
||||
|
||||
@@ -46,7 +46,7 @@ gitdirty()
|
||||
if [[ "${d:0:2}" == "--" ]] || [[ "$d" == "vendor" ]] || [[ "$d" == "node_modules" ]]; then
|
||||
echo ""
|
||||
else
|
||||
cd "$d" > /dev/null
|
||||
cd "$d"
|
||||
|
||||
# If we have `.git` folder, check it.
|
||||
if [[ -d ".git" ]]; then
|
||||
@@ -58,7 +58,7 @@ gitdirty()
|
||||
printf " %s %s\n" "$ICON" "$(pwd)"
|
||||
else
|
||||
# If it wasn't git repository, check subdirectories.
|
||||
gitdirtyrepos -- *
|
||||
gitdirtyrepos ./*
|
||||
fi
|
||||
fi
|
||||
cd .. > /dev/null
|
||||
|
||||
BIN
local/bin/phpcs
BIN
local/bin/phpcs
Binary file not shown.
149
local/bin/pushover
Executable file
149
local/bin/pushover
Executable file
@@ -0,0 +1,149 @@
|
||||
#!/usr/bin/env sh
|
||||
#
|
||||
# Send Pushover messages from cli
|
||||
# Based on https://github.com/mrusme/dotfiles/blob/master/usr/local/bin/pushover
|
||||
#
|
||||
# Modified by Ismo Vuorinen <https://github.com/ivuorinen> 2023
|
||||
|
||||
__pushover_usage() {
|
||||
printf "pushover <options> <message>\n"
|
||||
printf " -c <callback>\n"
|
||||
printf " -d <device>\n"
|
||||
printf " -D <timestamp>\n"
|
||||
printf " -e <expire>\n"
|
||||
printf " -p <priority>\n"
|
||||
printf " -r <retry>\n"
|
||||
printf " -t <title>\n"
|
||||
printf " -T <TOKEN> (required if not in 'PUSHOVER_TOKEN' env)\n"
|
||||
printf " -s <sound>\n"
|
||||
printf " -u <url>\n"
|
||||
printf " -U <USER> (required if not in 'PUSHOVER_USER' env)\n"
|
||||
printf " -a <url_title>\n"
|
||||
return 1
|
||||
}
|
||||
|
||||
__pushover_opt_field() {
|
||||
field=$1
|
||||
shift
|
||||
value="${*}"
|
||||
if [ -n "${value}" ]; then
|
||||
printf "%s \"%s=%s\"\n" "-F" "$field" "$value"
|
||||
fi
|
||||
}
|
||||
|
||||
__pushover_send_message() {
|
||||
device="${1:-}"
|
||||
|
||||
curl_cmd="\"${CURL}\" -s -S \
|
||||
${CURL_OPTS} \
|
||||
-F \"token=${TOKEN}\" \
|
||||
-F \"user=${USER}\" \
|
||||
-F \"message=${message}\" \
|
||||
$(__pushover_opt_field device "${device}") \
|
||||
$(__pushover_opt_field callback "${callback}") \
|
||||
$(__pushover_opt_field timestamp "${timestamp}") \
|
||||
$(__pushover_opt_field priority "${priority}") \
|
||||
$(__pushover_opt_field retry "${retry}") \
|
||||
$(__pushover_opt_field expire "${expire}") \
|
||||
$(__pushover_opt_field title "${title}") \
|
||||
$(__pushover_opt_field sound "${sound}") \
|
||||
$(__pushover_opt_field url "${url}") \
|
||||
$(__pushover_opt_field url_title "${url_title}") \
|
||||
\"${PUSHOVER_URL}\""
|
||||
|
||||
response="$(eval "${curl_cmd}")"
|
||||
printf "%s\n" "$response"
|
||||
# TODO: Parse response
|
||||
r="${?}"
|
||||
if [ "${r}" -ne 0 ]; then
|
||||
printf "%s: Failed to send message\n" "${0}" >&2
|
||||
fi
|
||||
|
||||
return "${r}"
|
||||
}
|
||||
|
||||
CURL="$(which curl)"
|
||||
PUSHOVER_URL="https://api.pushover.net/1/messages.json"
|
||||
TOKEN=$PUSHOVER_TOKEN
|
||||
USER=$PUSHOVER_USER
|
||||
CURL_OPTS=""
|
||||
devices="${devices} ${device}"
|
||||
optstring="c:d:D:e:f:p:r:t:T:s:u:U:a:h"
|
||||
|
||||
OPTIND=1
|
||||
while getopts ${optstring} c
|
||||
do
|
||||
case ${c} in
|
||||
c)
|
||||
callback="${OPTARG}"
|
||||
;;
|
||||
d)
|
||||
devices="${devices} ${OPTARG}"
|
||||
;;
|
||||
D)
|
||||
timestamp="${OPTARG}"
|
||||
;;
|
||||
e)
|
||||
expire="${OPTARG}"
|
||||
;;
|
||||
p)
|
||||
priority="${OPTARG}"
|
||||
;;
|
||||
r)
|
||||
retry="${OPTARG}"
|
||||
;;
|
||||
t)
|
||||
title="${OPTARG}"
|
||||
;;
|
||||
k)
|
||||
TOKEN="${OPTARG}"
|
||||
;;
|
||||
s)
|
||||
sound="${OPTARG}"
|
||||
;;
|
||||
u)
|
||||
url="${OPTARG}"
|
||||
;;
|
||||
U)
|
||||
USER="${OPTARG}"
|
||||
;;
|
||||
a)
|
||||
url_title="${OPTARG}"
|
||||
;;
|
||||
|
||||
[h\?])
|
||||
__pushover_usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND-1))
|
||||
|
||||
if [ "$#" -lt 1 ]; then
|
||||
__pushover_usage
|
||||
exit 1
|
||||
fi
|
||||
message="$*"
|
||||
|
||||
if [ ! -x "${CURL}" ]; then
|
||||
printf "CURL is unset, empty, or does not point to curl executable.\n \
|
||||
This script requires curl!\n" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
devices="$(printf "${devices}" | xargs -n1 | sort -u | uniq)\n"
|
||||
|
||||
if [ -z "${devices}" ]; then
|
||||
__pushover_send_message
|
||||
r=${?}
|
||||
else
|
||||
for device in ${devices}; do
|
||||
__pushover_send_message "${device}"
|
||||
r=${?}
|
||||
if [ "${r}" -ne 0 ]; then
|
||||
break;
|
||||
fi
|
||||
done
|
||||
fi
|
||||
exit "${r}"
|
||||
|
||||
50
local/bin/x-sha256sum-matcher
Executable file
50
local/bin/x-sha256sum-matcher
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
# x-sha256sum-matcher
|
||||
#
|
||||
# Check if two files are the same
|
||||
#
|
||||
# Ismo Vuorinen <https://github.com/ivuorinen> 2023
|
||||
# MIT License
|
||||
|
||||
# ENV Variables
|
||||
: "${VERBOSE:=0}" # VERBOSE=1 x-sha256sum-matcher file1 file2
|
||||
|
||||
file_1="$1"
|
||||
file_2="$2"
|
||||
|
||||
# return sha256sum for file
|
||||
# $1 - filename (string)
|
||||
get_sha256sum() {
|
||||
sha256sum "$1" | head -c 64
|
||||
}
|
||||
|
||||
[ $# -eq 0 ] && {
|
||||
echo "Usage: $0 file1.sh file2.sh" && exit 1
|
||||
}
|
||||
|
||||
msg() {
|
||||
[[ "$VERBOSE" -eq 1 ]] && echo "$1"
|
||||
}
|
||||
|
||||
error() {
|
||||
msg "(!) ERROR: $1" && exit 1
|
||||
}
|
||||
|
||||
if [ ! -f "$file_1" ]; then
|
||||
error "File 1 does not exist: $file_1"
|
||||
fi
|
||||
|
||||
if [ ! -f "$file_2" ]; then
|
||||
error "File 2 does not exist: $file_2"
|
||||
fi
|
||||
|
||||
file_1_hash=$(get_sha256sum "$file_1")
|
||||
file_2_hash=$(get_sha256sum "$file_2")
|
||||
|
||||
if [ "$file_1_hash" != "$file_2_hash" ]; then
|
||||
error "Files do not match"
|
||||
else
|
||||
msg "(*) Success: Files do match"
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
@@ -35,8 +35,10 @@ for f in ${PBB_CHAPTERS[@]}; do
|
||||
HEADER=$(grep -e '^[#] ' "$f" | head -1 | awk '{print tolower($2)}')
|
||||
CHEAT_FILE="$CHEAT_DEST/${HEADER}"
|
||||
|
||||
if [ ! -f "$CHEAT_FILE" ]; then
|
||||
cp "$f" "$CHEAT_FILE" && msg_run "$CHEAT_FILE"
|
||||
replacable "$f" "$CHEAT_FILE"
|
||||
override=$?
|
||||
if [ "$override" -ne 1 ]; then
|
||||
cp "$f" "$CHEAT_FILE" && msg_run "Updated: $CHEAT_FILE"
|
||||
fi
|
||||
|
||||
LC_ALL=C perl -pi.bak -e 's/\<\!-- CHAPTER END --\>//' "$CHEAT_FILE"
|
||||
|
||||
@@ -51,12 +51,15 @@ for d in "$TLDR_TEMP_DIR"/pages/*; do
|
||||
TLDR_FILE="$SECTION_DIR/${FILENAME}"
|
||||
# echo "-> dest: $TLDR_FILE"
|
||||
|
||||
if [ ! -f "$TLDR_FILE" ]; then
|
||||
cp "$FILE" "$TLDR_FILE" && msg_run "$TLDR_FILE"
|
||||
# Update the original file for making the replacable value comparable
|
||||
if [ -f "$FILE" ] && [ '---' != "$(head -1 < "$FILE")" ]; then
|
||||
echo -e "---\n$TLDR_SYNTAX\n$TLDR_TAGS\n$TLDR_SOURCE\n---\n$(cat "$FILE")" > "$FILE"
|
||||
fi
|
||||
|
||||
if [ -f "$TLDR_FILE" ] && [ '---' != "$(head -1 < "$TLDR_FILE")" ]; then
|
||||
echo -e "---\n$TLDR_SYNTAX\n$TLDR_TAGS\n$TLDR_SOURCE\n---\n$(cat "$TLDR_FILE")" > "$TLDR_FILE"
|
||||
replacable "$FILE" "$TLDR_FILE"
|
||||
override=$?
|
||||
if [ "$override" -ne 0 ]; then
|
||||
cp "$FILE" "$TLDR_FILE" && msg_run "Updated: $TLDR_FILE"
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
@@ -2,7 +2,10 @@
|
||||
#
|
||||
# Shared bash functions and helpers
|
||||
# that can be sourced to other scripts.
|
||||
#
|
||||
|
||||
# Helper env variables. Use like this: VERBOSE=1 ./script.sh
|
||||
: "${VERBOSE:=0}"
|
||||
|
||||
|
||||
# -- Colors -- #
|
||||
CLR_RED="\033[1;31m"
|
||||
@@ -230,3 +233,53 @@ rnd()
|
||||
{
|
||||
echo $RANDOM | md5sum | head -c 20
|
||||
}
|
||||
|
||||
# return sha256sum for file
|
||||
# $1 - filename (string)
|
||||
function get_sha256sum()
|
||||
{
|
||||
sha256sum "$1" | head -c 64
|
||||
}
|
||||
|
||||
# Replacable file
|
||||
#
|
||||
# $1 - filename (string)
|
||||
# $2 - filename (string)
|
||||
#
|
||||
# Returns 1 when replacable, 0 when not replacable.
|
||||
function replacable()
|
||||
{
|
||||
FILE1="$1"
|
||||
FILE2="$2"
|
||||
|
||||
[[ ! -r "$FILE1" ]] && {
|
||||
[[ $VERBOSE -eq 1 ]] && msg_err "File 1 ($FILE1) does not exist"
|
||||
return 0;
|
||||
}
|
||||
[[ ! -r "$FILE2" ]] && {
|
||||
[[ $VERBOSE -eq 1 ]] && msg_err "File 2 ($FILE2) does not exist, replacable"
|
||||
return 1;
|
||||
}
|
||||
|
||||
FILE1_HASH=$(get_sha256sum "$FILE1")
|
||||
FILE2_HASH=$(get_sha256sum "$FILE2")
|
||||
|
||||
[[ $FILE1_HASH = "" ]] && {
|
||||
[[ $VERBOSE -eq 1 ]] && msg_err "Could not get hash for file 1 ($FILE1)"
|
||||
return 0;
|
||||
}
|
||||
[[ $FILE2_HASH = "" ]] && {
|
||||
[[ $VERBOSE -eq 1 ]] && msg_err "Could not get hash for file 2 ($FILE2), replacable"
|
||||
return 1;
|
||||
}
|
||||
|
||||
[[ "$FILE1_HASH" == "$FILE2_HASH" ]] && {
|
||||
[[ $VERBOSE -eq 1 ]] && msg_ok "Files match, not replacable: $FILE1"
|
||||
return 0;
|
||||
}
|
||||
|
||||
[[ $VERBOSE -eq 1 ]] && msg_warn "Files do not match ($FILE1_HASH != $FILE2_HASH), replacable"
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
Host github.com
|
||||
User git
|
||||
|
||||
Host lakka
|
||||
User viir
|
||||
HostName lakka.kapsi.fi
|
||||
IdentityFile ~/.ssh/id_rsa
|
||||
Include shared.d/*
|
||||
Include local.d/*
|
||||
|
||||
Host *
|
||||
# IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
||||
|
||||
0
ssh/local.d/.gitkeep
Normal file
0
ssh/local.d/.gitkeep
Normal file
3
ssh/shared.d/github
Normal file
3
ssh/shared.d/github
Normal file
@@ -0,0 +1,3 @@
|
||||
Host github.com
|
||||
User git
|
||||
|
||||
5
ssh/shared.d/lakka
Normal file
5
ssh/shared.d/lakka
Normal file
@@ -0,0 +1,5 @@
|
||||
Host lakka
|
||||
User viir
|
||||
HostName lakka.kapsi.fi
|
||||
IdentityFile ~/.ssh/id_rsa
|
||||
|
||||
Submodule tools/dotbot updated: da928a4c6b...b04a3f1844
Reference in New Issue
Block a user