mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-01 10:47:24 +00:00
Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a570cef49b | ||
| 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 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -7,6 +7,8 @@ Brewfile.lock.json
|
|||||||
config/fzf
|
config/fzf
|
||||||
config/cheat/cheatsheets/pure-bash-bible/*
|
config/cheat/cheatsheets/pure-bash-bible/*
|
||||||
config/cheat/cheatsheets/tldr/*
|
config/cheat/cheatsheets/tldr/*
|
||||||
|
ssh/local.d/*
|
||||||
|
!ssh/local.d/.gitkeep
|
||||||
!.gitkeep
|
!.gitkeep
|
||||||
.env
|
.env
|
||||||
|
|
||||||
|
|||||||
8
Brewfile
8
Brewfile
@@ -50,6 +50,8 @@ brew "pkg-config"
|
|||||||
brew "choose-rust"
|
brew "choose-rust"
|
||||||
# Cross-platform make
|
# Cross-platform make
|
||||||
brew "cmake"
|
brew "cmake"
|
||||||
|
# Dependency manager for Cocoa projects
|
||||||
|
brew "cocoapods"
|
||||||
# Get, unpack, build, and install modules from CPAN
|
# Get, unpack, build, and install modules from CPAN
|
||||||
brew "cpanminus"
|
brew "cpanminus"
|
||||||
# Open source suite of directory software
|
# Open source suite of directory software
|
||||||
@@ -200,6 +202,10 @@ brew "shfmt"
|
|||||||
brew "starship"
|
brew "starship"
|
||||||
# Version control system designed to be a better CVS
|
# Version control system designed to be a better CVS
|
||||||
brew "subversion"
|
brew "subversion"
|
||||||
|
# Feature-rich console based todo list manager
|
||||||
|
brew "task"
|
||||||
|
# Terminal user interface for taskwarrior
|
||||||
|
brew "taskwarrior-tui"
|
||||||
# Send macOS User Notifications from the command-line
|
# Send macOS User Notifications from the command-line
|
||||||
brew "terminal-notifier"
|
brew "terminal-notifier"
|
||||||
# Thin wrapper for Terraform e.g. for locking state
|
# Thin wrapper for Terraform e.g. for locking state
|
||||||
@@ -276,6 +282,8 @@ cask "dbngin"
|
|||||||
cask "docker"
|
cask "docker"
|
||||||
# Reimagine your terminal
|
# Reimagine your terminal
|
||||||
cask "fig"
|
cask "fig"
|
||||||
|
# UI toolkit for building applications for mobile, web and desktop
|
||||||
|
cask "flutter"
|
||||||
# Unofficial overcast.fm podcast app
|
# Unofficial overcast.fm podcast app
|
||||||
cask "fog"
|
cask "fog"
|
||||||
# Typeface made for developers
|
# Typeface made for developers
|
||||||
|
|||||||
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" },
|
["<leader>b"] = { name = "Buffers" },
|
||||||
-- quick save
|
-- quick save
|
||||||
-- ["<C-s>"] = { ":w!<cr>", desc = "Save File" }, -- change description but the same command
|
-- ["<C-s>"] = { ":w!<cr>", desc = "Save File" }, -- change description but the same command
|
||||||
|
["<leader>P"] = { ":Telescope projects<cr>", desc = "Update Projects listing" },
|
||||||
},
|
},
|
||||||
t = {
|
t = {
|
||||||
-- setting a mapping to false will disable it
|
-- setting a mapping to false will disable it
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ return {
|
|||||||
icons_enabled = true,
|
icons_enabled = true,
|
||||||
-- disable notifications when toggling UI elements
|
-- disable notifications when toggling UI elements
|
||||||
ui_notifications_enabled = true,
|
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
|
-- If you need more control, you can use the function()...end notation
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ return {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
-- { import = "astrocommunity.completion.copilot-lua-cmp" },
|
-- { import = "astrocommunity.completion.copilot-lua-cmp" },
|
||||||
|
{ import = "astrocommunity.completion.tabnine-nvim" },
|
||||||
{ import = "astrocommunity.bars-and-lines.smartcolumn-nvim" },
|
{ import = "astrocommunity.bars-and-lines.smartcolumn-nvim" },
|
||||||
{
|
{
|
||||||
"m4xshen/smartcolumn.nvim",
|
"m4xshen/smartcolumn.nvim",
|
||||||
@@ -30,9 +31,10 @@ return {
|
|||||||
"folke/trouble.nvim",
|
"folke/trouble.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
auto_open = true,
|
auto_open = true,
|
||||||
position = "right"
|
position = "bottom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{ import = "astrocommunity.editing-support.comment-box-nvim" },
|
||||||
{ import = "astrocommunity.editing-support.refactoring-nvim" },
|
{ import = "astrocommunity.editing-support.refactoring-nvim" },
|
||||||
{ import = "astrocommunity.editing-support.neogen" },
|
{ import = "astrocommunity.editing-support.neogen" },
|
||||||
{ import = "astrocommunity.editing-support.nvim-regexplainer" },
|
{ import = "astrocommunity.editing-support.nvim-regexplainer" },
|
||||||
@@ -40,8 +42,17 @@ return {
|
|||||||
{ import = "astrocommunity.indent.mini-indentscope" },
|
{ import = "astrocommunity.indent.mini-indentscope" },
|
||||||
{ import = "astrocommunity.markdown-and-latex.glow-nvim" },
|
{ import = "astrocommunity.markdown-and-latex.glow-nvim" },
|
||||||
{ import = "astrocommunity.motion.harpoon" },
|
{ 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.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.nvim-spectre" },
|
||||||
{ import = "astrocommunity.project.project-nvim" },
|
{ import = "astrocommunity.project.project-nvim" },
|
||||||
{ import = "astrocommunity.test.neotest" },
|
{ import = "astrocommunity.test.neotest" },
|
||||||
|
|||||||
@@ -4,29 +4,41 @@ return {
|
|||||||
{
|
{
|
||||||
"williamboman/mason-lspconfig.nvim",
|
"williamboman/mason-lspconfig.nvim",
|
||||||
-- overrides `require("mason-lspconfig").setup(...)`
|
-- overrides `require("mason-lspconfig").setup(...)`
|
||||||
opts = {
|
opts = function(_, opts)
|
||||||
ensure_installed = {
|
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||||
"diagnosticls",
|
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||||
},
|
-- "lua_ls",
|
||||||
},
|
})
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
-- use mason-null-ls to configure Formatters/Linter
|
-- use mason-null-ls to configure Formatters/Linter
|
||||||
-- installation for null-ls sources
|
-- installation for null-ls sources
|
||||||
{
|
{
|
||||||
"jay-babu/mason-null-ls.nvim",
|
"jay-babu/mason-null-ls.nvim",
|
||||||
-- overrides `require("mason-null-ls").setup(...)`
|
-- overrides `require("mason-null-ls").setup(...)`
|
||||||
opts = {
|
opts = function(_, opts)
|
||||||
automatic_setup = true,
|
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||||
automatic_installation = true,
|
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",
|
"jay-babu/mason-nvim-dap.nvim",
|
||||||
-- overrides `require("mason-nvim-dap").setup(...)`
|
-- overrides `require("mason-nvim-dap").setup(...)`
|
||||||
opts = {
|
opts = function(_, opts)
|
||||||
automatic_installation = true,
|
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||||
automatic_setup = true,
|
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||||
ensure_installed = { "python", "php", "js", "bash" },
|
"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.tfsec,
|
||||||
null_ls.builtins.diagnostics.trail_space,
|
null_ls.builtins.diagnostics.trail_space,
|
||||||
null_ls.builtins.diagnostics.tsc,
|
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.diagnostics.zsh,
|
||||||
null_ls.builtins.formatting.blade_formatter,
|
|
||||||
null_ls.builtins.formatting.clang_format,
|
null_ls.builtins.formatting.clang_format,
|
||||||
null_ls.builtins.formatting.eslint,
|
|
||||||
null_ls.builtins.formatting.fixjson,
|
null_ls.builtins.formatting.fixjson,
|
||||||
null_ls.builtins.formatting.isort,
|
null_ls.builtins.formatting.isort,
|
||||||
null_ls.builtins.formatting.jq,
|
null_ls.builtins.formatting.jq,
|
||||||
@@ -45,7 +39,6 @@ return {
|
|||||||
null_ls.builtins.formatting.shfmt.with {
|
null_ls.builtins.formatting.shfmt.with {
|
||||||
args = { "-i", "1", "-bn", "-ci", "-sr", "-kb", "-fn" },
|
args = { "-i", "1", "-bn", "-ci", "-sr", "-kb", "-fn" },
|
||||||
},
|
},
|
||||||
null_ls.builtins.formatting.stylelint,
|
|
||||||
}
|
}
|
||||||
return config -- return final config table
|
return config -- return final config table
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
return {
|
return {
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
opts = {
|
opts = function(_, opts)
|
||||||
ensure_installed = {
|
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||||
"bash",
|
"bash",
|
||||||
"c",
|
"c",
|
||||||
"cmake",
|
"cmake",
|
||||||
@@ -28,6 +28,6 @@ return {
|
|||||||
"vim",
|
"vim",
|
||||||
"vue",
|
"vue",
|
||||||
"yaml",
|
"yaml",
|
||||||
},
|
})
|
||||||
},
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,9 +11,6 @@
|
|||||||
[pull]
|
[pull]
|
||||||
rebase = true
|
rebase = true
|
||||||
|
|
||||||
[gpg]
|
|
||||||
format = ssh
|
|
||||||
|
|
||||||
[alias]
|
[alias]
|
||||||
branchbydate = for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='%(refname:short)'
|
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]++'"
|
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]++'"
|
||||||
|
|||||||
Submodule config/nvim updated: d47914f112...8fe945f07a
@@ -42,3 +42,40 @@ data.location=$XDG_DATA_HOME/task/
|
|||||||
weekstart=monday
|
weekstart=monday
|
||||||
|
|
||||||
news.version=2.6.0
|
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 \
|
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"
|
set-option -sa terminal-overrides ",xterm*:Tc"
|
||||||
|
|
||||||
# Mouse support
|
# 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 E select-layout -E
|
||||||
bind-key -T prefix I run-shell /Users/ivuorinen/.config/tmux/plugins/tpm/bindings/install_plugins
|
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 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 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 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
|
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 o select-pane -t :.+
|
||||||
bind-key -T prefix p paste-buffer
|
bind-key -T prefix p paste-buffer
|
||||||
bind-key -T prefix q display-panes
|
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 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 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 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 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 z resize-pane -Z
|
||||||
bind-key -T prefix \{ swap-pane -U
|
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-3 select-layout main-horizontal
|
||||||
bind-key -T prefix M-4 select-layout main-vertical
|
bind-key -T prefix M-4 select-layout main-vertical
|
||||||
bind-key -T prefix M-5 select-layout tiled
|
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-n next-window -a
|
||||||
bind-key -T prefix M-o rotate-window -D
|
bind-key -T prefix M-o rotate-window -D
|
||||||
bind-key -T prefix M-p previous-window -a
|
bind-key -T prefix M-p previous-window -a
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
[include]
|
[include]
|
||||||
path = ~/.dotfiles/config/git/shared
|
path = ~/.dotfiles/config/git/shared
|
||||||
|
|
||||||
|
[gpg]
|
||||||
|
format = ssh
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
name = Ismo Vuorinen
|
name = Ismo Vuorinen
|
||||||
email = ismo.vuorinen@vincit.fi
|
email = ismo.vuorinen@vincit.fi
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ function section_brew
|
|||||||
have brew && {
|
have brew && {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
install)
|
install)
|
||||||
brew bundle install --file="$BREWFILE" && msg_yay "Done!"
|
brew bundle install --file="$BREWFILE" --force --quiet && msg_yay "Done!"
|
||||||
;;
|
;;
|
||||||
update)
|
update)
|
||||||
brew update && brew outdated && brew upgrade && brew cleanup
|
brew update && brew outdated && brew upgrade && brew cleanup
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ gitdirty()
|
|||||||
if [[ "${d:0:2}" == "--" ]] || [[ "$d" == "vendor" ]] || [[ "$d" == "node_modules" ]]; then
|
if [[ "${d:0:2}" == "--" ]] || [[ "$d" == "vendor" ]] || [[ "$d" == "node_modules" ]]; then
|
||||||
echo ""
|
echo ""
|
||||||
else
|
else
|
||||||
cd "$d" > /dev/null
|
cd "$d"
|
||||||
|
|
||||||
# If we have `.git` folder, check it.
|
# If we have `.git` folder, check it.
|
||||||
if [[ -d ".git" ]]; then
|
if [[ -d ".git" ]]; then
|
||||||
@@ -58,7 +58,7 @@ gitdirty()
|
|||||||
printf " %s %s\n" "$ICON" "$(pwd)"
|
printf " %s %s\n" "$ICON" "$(pwd)"
|
||||||
else
|
else
|
||||||
# If it wasn't git repository, check subdirectories.
|
# If it wasn't git repository, check subdirectories.
|
||||||
gitdirtyrepos -- *
|
gitdirtyrepos ./*
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
cd .. > /dev/null
|
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)}')
|
HEADER=$(grep -e '^[#] ' "$f" | head -1 | awk '{print tolower($2)}')
|
||||||
CHEAT_FILE="$CHEAT_DEST/${HEADER}"
|
CHEAT_FILE="$CHEAT_DEST/${HEADER}"
|
||||||
|
|
||||||
if [ ! -f "$CHEAT_FILE" ]; then
|
replacable "$f" "$CHEAT_FILE"
|
||||||
cp "$f" "$CHEAT_FILE" && msg_run "$CHEAT_FILE"
|
override=$?
|
||||||
|
if [ "$override" -ne 1 ]; then
|
||||||
|
cp "$f" "$CHEAT_FILE" && msg_run "Updated: $CHEAT_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LC_ALL=C perl -pi.bak -e 's/\<\!-- CHAPTER END --\>//' "$CHEAT_FILE"
|
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}"
|
TLDR_FILE="$SECTION_DIR/${FILENAME}"
|
||||||
# echo "-> dest: $TLDR_FILE"
|
# echo "-> dest: $TLDR_FILE"
|
||||||
|
|
||||||
if [ ! -f "$TLDR_FILE" ]; then
|
# Update the original file for making the replacable value comparable
|
||||||
cp "$FILE" "$TLDR_FILE" && msg_run "$TLDR_FILE"
|
if [ -f "$FILE" ] && [ '---' != "$(head -1 < "$FILE")" ]; then
|
||||||
|
echo -e "---\n$TLDR_SYNTAX\n$TLDR_TAGS\n$TLDR_SOURCE\n---\n$(cat "$FILE")" > "$FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$TLDR_FILE" ] && [ '---' != "$(head -1 < "$TLDR_FILE")" ]; then
|
replacable "$FILE" "$TLDR_FILE"
|
||||||
echo -e "---\n$TLDR_SYNTAX\n$TLDR_TAGS\n$TLDR_SOURCE\n---\n$(cat "$TLDR_FILE")" > "$TLDR_FILE"
|
override=$?
|
||||||
|
if [ "$override" -ne 0 ]; then
|
||||||
|
cp "$FILE" "$TLDR_FILE" && msg_run "Updated: $TLDR_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -2,7 +2,10 @@
|
|||||||
#
|
#
|
||||||
# Shared bash functions and helpers
|
# Shared bash functions and helpers
|
||||||
# that can be sourced to other scripts.
|
# that can be sourced to other scripts.
|
||||||
#
|
|
||||||
|
# Helper env variables. Use like this: VERBOSE=1 ./script.sh
|
||||||
|
: "${VERBOSE:=0}"
|
||||||
|
|
||||||
|
|
||||||
# -- Colors -- #
|
# -- Colors -- #
|
||||||
CLR_RED="\033[1;31m"
|
CLR_RED="\033[1;31m"
|
||||||
@@ -230,3 +233,53 @@ rnd()
|
|||||||
{
|
{
|
||||||
echo $RANDOM | md5sum | head -c 20
|
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
|
Include shared.d/*
|
||||||
User git
|
Include local.d/*
|
||||||
|
|
||||||
Host lakka
|
|
||||||
User viir
|
|
||||||
HostName lakka.kapsi.fi
|
|
||||||
IdentityFile ~/.ssh/id_rsa
|
|
||||||
|
|
||||||
Host *
|
Host *
|
||||||
# IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
# 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