mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-02 17:48:10 +00:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fdd3845cf5 | ||
| 3e911755d2 | |||
| f3dff521f7 | |||
| cf1ccd6f39 | |||
| 2e963fa29e | |||
|
|
f595d437c9 | ||
| e7d0b4167a | |||
| f20fe04ed8 | |||
| 2b78d648c2 | |||
| ae2deef5fa | |||
| 8fc60ade75 | |||
| 34160d34dc | |||
| 5fab8e1cab | |||
| 1a612fef62 | |||
| ce5e9681fd | |||
| cab855380f | |||
| e7578e4905 | |||
| 3fce0ac4dc |
8
.github/dependabot.yml
vendored
Normal file
8
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
|
||||||
|
# Maintain dependencies for GitHub Actions
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
||||||
51
.github/workflows/new-release.yml
vendored
Normal file
51
.github/workflows/new-release.yml
vendored
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
name: Release Daily State # Workflow name displayed on GitHub
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch: # Trigger manually
|
||||||
|
schedule:
|
||||||
|
- cron: "59 23 * * *"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
new-daily-release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
created: ${{ steps.daily-version.outputs.created }}
|
||||||
|
version: ${{ steps.daily-version.outputs.version }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3 # Checkout our working repository
|
||||||
|
|
||||||
|
- uses: fregante/daily-version-action@v2
|
||||||
|
name: Create tag if necessary
|
||||||
|
id: daily-version
|
||||||
|
|
||||||
|
- name: Conventional Changelog Action
|
||||||
|
if: steps.daily-version.outputs.created
|
||||||
|
id: changelog
|
||||||
|
uses: TriPSs/conventional-changelog-action@v3
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
skip-git-pull: "true"
|
||||||
|
output-file: "false"
|
||||||
|
fallback-version: "${{ steps.daily-version.outputs.version }}"
|
||||||
|
skip-version-file: "true"
|
||||||
|
git-message: "chore(release): {version}"
|
||||||
|
git-user-name: "${{ github.actor }}"
|
||||||
|
git-user-email: "${{ github.actor }}@users.noreply.github.com"
|
||||||
|
|
||||||
|
- name: Create release
|
||||||
|
if: env.DAILY_VERSION_CREATED
|
||||||
|
uses: actions/github-script@v5.2.0
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
await github.request(
|
||||||
|
`POST /repos/${{ github.repository }}/releases`,
|
||||||
|
{
|
||||||
|
tag_name: "${{ steps.daily-version.outputs.version }}",
|
||||||
|
body: "${{ steps.daily-version.outputs.clean_changelog }}"
|
||||||
|
}
|
||||||
|
);
|
||||||
40
.github/workflows/update-submodules.yml
vendored
Normal file
40
.github/workflows/update-submodules.yml
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
name: Update submodules
|
||||||
|
on:
|
||||||
|
schedule: [cron: 0 6 * * 0]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-submodules:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
fetch-depth: 0
|
||||||
|
token: ${{secrets.GITHUB_TOKEN}}
|
||||||
|
|
||||||
|
- name: Config Git User
|
||||||
|
run: |
|
||||||
|
git config --global user.name "${{ github.actor }}"
|
||||||
|
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
|
||||||
|
|
||||||
|
- name: Update submodules
|
||||||
|
run: |
|
||||||
|
if git commit -am"Update submodules (automated)
|
||||||
|
|
||||||
|
$(git submodule --quiet foreach \
|
||||||
|
'tag="$(git describe --tags --abbrev=0 origin/HEAD)"
|
||||||
|
if [ "$(git describe --tags)" != "$tag" ]; then
|
||||||
|
git checkout --quiet "$tag"
|
||||||
|
echo "$name" "$tag"
|
||||||
|
fi')"
|
||||||
|
then
|
||||||
|
git show --raw
|
||||||
|
git push
|
||||||
|
fi
|
||||||
1
.gitmodules
vendored
1
.gitmodules
vendored
@@ -18,7 +18,6 @@
|
|||||||
path = config/nvim
|
path = config/nvim
|
||||||
url = https://github.com/AstroNvim/AstroNvim.git
|
url = https://github.com/AstroNvim/AstroNvim.git
|
||||||
ignore = dirty
|
ignore = dirty
|
||||||
branch = main
|
|
||||||
shallow = true
|
shallow = true
|
||||||
|
|
||||||
[submodule "cheat-community"]
|
[submodule "cheat-community"]
|
||||||
|
|||||||
@@ -20,11 +20,17 @@ return { -- Add the community repository of plugin specific
|
|||||||
"m4xshen/smartcolumn.nvim",
|
"m4xshen/smartcolumn.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
colorcolumn = { "80", "100", "120" },
|
colorcolumn = { "80", "100", "120" },
|
||||||
disabled_filetypes = { "help", "text", "markdown" },
|
disabled_filetypes = { "help", "text", "markdown", "json" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ import = "astrocommunity.diagnostics.lsp_lines-nvim" },
|
|
||||||
{ import = "astrocommunity.diagnostics.trouble-nvim" },
|
{ import = "astrocommunity.diagnostics.trouble-nvim" },
|
||||||
|
{
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
opts = {
|
||||||
|
auto_open = false,
|
||||||
|
position = "right"
|
||||||
|
}
|
||||||
|
},
|
||||||
{ 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" },
|
||||||
@@ -33,7 +39,6 @@ return { -- Add the community repository of plugin specific
|
|||||||
{ 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.php" },
|
{ import = "astrocommunity.pack.php" },
|
||||||
{ import = "astrocommunity.pack.typescript" },
|
|
||||||
{ import = "astrocommunity.project.neoconf-nvim" },
|
{ import = "astrocommunity.project.neoconf-nvim" },
|
||||||
{ import = "astrocommunity.project.nvim-spectre" },
|
{ import = "astrocommunity.project.nvim-spectre" },
|
||||||
{ import = "astrocommunity.project.project-nvim" },
|
{ import = "astrocommunity.project.project-nvim" },
|
||||||
|
|||||||
@@ -11,8 +11,6 @@ return { -- use mason-lspconfig to configure LSP installations
|
|||||||
"codeqlls",
|
"codeqlls",
|
||||||
"cssls",
|
"cssls",
|
||||||
"diagnosticls",
|
"diagnosticls",
|
||||||
"docker_compose_language_service",
|
|
||||||
"dockerls",
|
|
||||||
"eslint",
|
"eslint",
|
||||||
"graphql",
|
"graphql",
|
||||||
"html",
|
"html",
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ return {
|
|||||||
null_ls.builtins.diagnostics.psalm,
|
null_ls.builtins.diagnostics.psalm,
|
||||||
null_ls.builtins.diagnostics.semgrep,
|
null_ls.builtins.diagnostics.semgrep,
|
||||||
null_ls.builtins.diagnostics.shellcheck,
|
null_ls.builtins.diagnostics.shellcheck,
|
||||||
null_ls.builtins.diagnostics.standardjs,
|
|
||||||
null_ls.builtins.diagnostics.stylelint,
|
null_ls.builtins.diagnostics.stylelint,
|
||||||
null_ls.builtins.diagnostics.tfsec,
|
null_ls.builtins.diagnostics.tfsec,
|
||||||
null_ls.builtins.diagnostics.trail_space,
|
null_ls.builtins.diagnostics.trail_space,
|
||||||
|
|||||||
43
config/cheat/cheatsheets/personal/git-alias
Normal file
43
config/cheat/cheatsheets/personal/git-alias
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
---
|
||||||
|
tags: [ vcs, alias ]
|
||||||
|
---
|
||||||
|
|
||||||
|
# git branchbydate
|
||||||
|
|
||||||
|
List repository branches by date when last updated and extra information.
|
||||||
|
|
||||||
|
# git branchcolor
|
||||||
|
|
||||||
|
List repository branches sorted by when they were last updated.
|
||||||
|
|
||||||
|
# git llog
|
||||||
|
|
||||||
|
Show log with fuller information.
|
||||||
|
|
||||||
|
# git logs
|
||||||
|
|
||||||
|
Git logs with detailed information and git tree.
|
||||||
|
|
||||||
|
# git nah
|
||||||
|
|
||||||
|
Reset all changes.
|
||||||
|
|
||||||
|
# git reset-origin
|
||||||
|
|
||||||
|
Reset to origin.
|
||||||
|
|
||||||
|
# git reset-upstream
|
||||||
|
|
||||||
|
Hard reset to upstream master.
|
||||||
|
|
||||||
|
# git rl
|
||||||
|
|
||||||
|
Colored reflog.
|
||||||
|
|
||||||
|
# git tagdate
|
||||||
|
|
||||||
|
List tags in date order and with graph.
|
||||||
|
|
||||||
|
# git undo-commit
|
||||||
|
|
||||||
|
Undoes last commit.
|
||||||
@@ -1,59 +1,7 @@
|
|||||||
|
[include]
|
||||||
|
path = ~/.dotfiles/config/git/shared
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
name = Ismo Vuorinen
|
name = Ismo Vuorinen
|
||||||
email = ismo@ivuorinen.net
|
email = ismo@ivuorinen.net
|
||||||
|
|
||||||
[credential]
|
|
||||||
helper = store --file ~/.cache/git/git-credentials
|
|
||||||
helper = cache --timeout 30000
|
|
||||||
|
|
||||||
[core]
|
|
||||||
excludesfile = ~/.config/git/gitignore
|
|
||||||
|
|
||||||
[alias]
|
|
||||||
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
|
|
||||||
nah = !git reset --hard && git clean -df
|
|
||||||
undo-commit = reset HEAD~ --soft
|
|
||||||
llog = log --pretty=fuller
|
|
||||||
logs = log --graph --pretty=format:'%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) %C(cyan)<%an>%Creset' --abbrev-commit
|
|
||||||
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\"
|
|
||||||
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]++'"
|
|
||||||
|
|
||||||
[diff]
|
|
||||||
tool = difftastic
|
|
||||||
|
|
||||||
[difftool]
|
|
||||||
prompt = false
|
|
||||||
|
|
||||||
[difftool "difftastic"]
|
|
||||||
cmd = difft "$LOCAL" "$REMOTE"
|
|
||||||
|
|
||||||
[filter "lfs"]
|
|
||||||
clean = git-lfs clean -- %f
|
|
||||||
smudge = git-lfs smudge -- %f
|
|
||||||
process = git-lfs filter-process
|
|
||||||
required = true
|
|
||||||
|
|
||||||
[init]
|
|
||||||
defaultBranch = main
|
|
||||||
|
|
||||||
[pull]
|
|
||||||
rebase = true
|
|
||||||
|
|
||||||
[color]
|
|
||||||
ui = true
|
|
||||||
diff = auto
|
|
||||||
branch = auto
|
|
||||||
status = auto
|
|
||||||
|
|
||||||
[color "status"]
|
|
||||||
added = green bold
|
|
||||||
changed = yellow
|
|
||||||
deleted = red bold strike
|
|
||||||
untracked = cyan
|
|
||||||
branch = yellow black bold ul
|
|
||||||
|
|
||||||
[submodule]
|
|
||||||
recurse = true
|
|
||||||
|
|||||||
62
config/git/shared
Normal file
62
config/git/shared
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
[credential]
|
||||||
|
helper = store --file ~/.cache/git/git-credentials
|
||||||
|
helper = cache --timeout 30000
|
||||||
|
|
||||||
|
[core]
|
||||||
|
excludesfile = ~/.config/git/gitignore
|
||||||
|
|
||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
|
||||||
|
[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]++'"
|
||||||
|
llog = log --pretty=fuller
|
||||||
|
logs = log --graph --pretty=format:'%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) %C(cyan)<%an>%Creset' --abbrev-commit
|
||||||
|
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
|
||||||
|
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
|
||||||
|
|
||||||
|
[filter "lfs"]
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
||||||
|
|
||||||
|
[diff]
|
||||||
|
tool = difftastic
|
||||||
|
|
||||||
|
[difftool]
|
||||||
|
prompt = false
|
||||||
|
|
||||||
|
[difftool "difftastic"]
|
||||||
|
cmd = difft "$LOCAL" "$REMOTE"
|
||||||
|
|
||||||
|
[color]
|
||||||
|
ui = true
|
||||||
|
diff = auto
|
||||||
|
branch = auto
|
||||||
|
status = auto
|
||||||
|
|
||||||
|
[color "status"]
|
||||||
|
added = green bold
|
||||||
|
changed = yellow
|
||||||
|
deleted = red bold strike
|
||||||
|
untracked = cyan
|
||||||
|
branch = yellow black bold ul
|
||||||
|
|
||||||
|
[submodule]
|
||||||
|
recurse = true
|
||||||
|
|
||||||
|
# dotfiles special config
|
||||||
|
[includeIf "hasconfig:remote.*.url:https://github.com/ivuorinen/dotfiles.git"]
|
||||||
|
path = ~/.dotfiles/config/git/special/dotfiles ;
|
||||||
2
config/git/special/dotfiles
Normal file
2
config/git/special/dotfiles
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[submodule]
|
||||||
|
recurse = false
|
||||||
Submodule config/nvim updated: d50611058c...b17ca3c324
@@ -3,8 +3,6 @@ corepack
|
|||||||
editorconfig-checker
|
editorconfig-checker
|
||||||
github-release-notes
|
github-release-notes
|
||||||
neovim
|
neovim
|
||||||
prettier
|
|
||||||
standardjs
|
|
||||||
stylelint-lsp
|
stylelint-lsp
|
||||||
tldr
|
tldr
|
||||||
|
|
||||||
|
|||||||
44
config/task/taskrc
Normal file
44
config/task/taskrc
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# [Created by task 2.6.2 5/11/2023 09:33:14]
|
||||||
|
# Taskwarrior program configuration file.
|
||||||
|
# For more documentation, see https://taskwarrior.org or try 'man task', 'man task-color',
|
||||||
|
# 'man task-sync' or 'man taskrc'
|
||||||
|
|
||||||
|
# Here is an example of entries that use the default, override and blank values
|
||||||
|
# variable=foo -- By specifying a value, this overrides the default
|
||||||
|
# variable= -- By specifying no value, this means no default
|
||||||
|
# #variable=foo -- By commenting out the line, or deleting it, this uses the default
|
||||||
|
|
||||||
|
# You can also refence environment variables:
|
||||||
|
# variable=$HOME/task
|
||||||
|
# variable=$VALUE
|
||||||
|
|
||||||
|
# Use the command 'task show' to see all defaults and overrides
|
||||||
|
|
||||||
|
# Files
|
||||||
|
data.location=$XDG_DATA_HOME/task/
|
||||||
|
|
||||||
|
# To use the default location of the XDG directories,
|
||||||
|
# move this configuration file from ~/.taskrc to ~/.config/task/taskrc and uncomment below
|
||||||
|
|
||||||
|
#data.location=$XDG_DATA_HOME/task
|
||||||
|
#hooks.location=~/.config/task/hooks
|
||||||
|
|
||||||
|
# Color theme (uncomment one to use)
|
||||||
|
#include light-16.theme
|
||||||
|
#include light-256.theme
|
||||||
|
#include dark-16.theme
|
||||||
|
#include dark-256.theme
|
||||||
|
#include dark-red-256.theme
|
||||||
|
#include dark-green-256.theme
|
||||||
|
#include dark-blue-256.theme
|
||||||
|
#include dark-violets-256.theme
|
||||||
|
#include dark-yellow-green.theme
|
||||||
|
#include dark-gray-256.theme
|
||||||
|
#include dark-gray-blue-256.theme
|
||||||
|
#include solarized-dark-256.theme
|
||||||
|
#include solarized-light-256.theme
|
||||||
|
#include no-color.theme
|
||||||
|
|
||||||
|
weekstart=monday
|
||||||
|
|
||||||
|
news.version=2.6.0
|
||||||
Submodule config/tmux/plugins/tpm updated: 99469c4a9b...1ff32085b2
@@ -1,60 +1,11 @@
|
|||||||
|
[include]
|
||||||
|
path = ~/.dotfiles/config/git/shared
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
name = Ismo Vuorinen
|
name = Ismo Vuorinen
|
||||||
email = ismo.vuorinen@vincit.fi
|
email = ismo.vuorinen@vincit.fi
|
||||||
signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLyOvkr1nRqMVv3UAizmk6C+q40H4khvw7qIXXXyOyFmzjwYx/Cuxoi4uZVjX+q4qFYJ+c312uu6YXiEtfyoCao3wub8r1cLBQ3eIvuyWp2K8Ixcd9JmFmLmoeiENpJxqyr0WPZLDkrCWUZCsQQh8zzGFnfciUdUdTiZ7s21AEhhmFRSdFlVfQSlGMFxU321psg1YilcP80bDwFd1FsL4TssSkwlbgP/twqnpZ4436TTo7kp0UnH/RZkfRdDWScKHaWgncBG0CZeQxGWnRp8fvZn/7gDnthcZhvnDALVBE7QFuZ90GxqVw3IGpHryV0mFO6EGQ9Ke9YX7pKVZPUXZjeCN4SVKsqFdVJ6AjaSJ9K7nL98rYK7qNzndT3cKqPNgPteyXWRulH68A51ecQqHrjTttZcdN9hKt9uBHpzuXsby2QObT+VB4MNjZapa+YYF/WgwJCml4lzn2xMFg1vYZD78pfoJ9e5f2cL1MMlUSDb0TNxmEXfDQ77H/pRpKDz0=
|
signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLyOvkr1nRqMVv3UAizmk6C+q40H4khvw7qIXXXyOyFmzjwYx/Cuxoi4uZVjX+q4qFYJ+c312uu6YXiEtfyoCao3wub8r1cLBQ3eIvuyWp2K8Ixcd9JmFmLmoeiENpJxqyr0WPZLDkrCWUZCsQQh8zzGFnfciUdUdTiZ7s21AEhhmFRSdFlVfQSlGMFxU321psg1YilcP80bDwFd1FsL4TssSkwlbgP/twqnpZ4436TTo7kp0UnH/RZkfRdDWScKHaWgncBG0CZeQxGWnRp8fvZn/7gDnthcZhvnDALVBE7QFuZ90GxqVw3IGpHryV0mFO6EGQ9Ke9YX7pKVZPUXZjeCN4SVKsqFdVJ6AjaSJ9K7nL98rYK7qNzndT3cKqPNgPteyXWRulH68A51ecQqHrjTttZcdN9hKt9uBHpzuXsby2QObT+VB4MNjZapa+YYF/WgwJCml4lzn2xMFg1vYZD78pfoJ9e5f2cL1MMlUSDb0TNxmEXfDQ77H/pRpKDz0=
|
||||||
|
|
||||||
[core]
|
|
||||||
excludesfile = ~/.config/git/gitignore
|
|
||||||
|
|
||||||
[alias]
|
|
||||||
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
|
|
||||||
nah = !git reset --hard && git clean -df
|
|
||||||
undo-commit = reset HEAD~ --soft
|
|
||||||
llog = log --pretty=fuller
|
|
||||||
logs = log --graph --pretty=format:'%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) %C(cyan)<%an>%Creset' --abbrev-commit
|
|
||||||
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\"
|
|
||||||
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]++'"
|
|
||||||
|
|
||||||
[diff]
|
|
||||||
tool = difftastic
|
|
||||||
|
|
||||||
[difftool]
|
|
||||||
prompt = false
|
|
||||||
|
|
||||||
[difftool "difftastic"]
|
|
||||||
cmd = difft "$LOCAL" "$REMOTE"
|
|
||||||
|
|
||||||
[filter "lfs"]
|
|
||||||
clean = git-lfs clean -- %f
|
|
||||||
smudge = git-lfs smudge -- %f
|
|
||||||
process = git-lfs filter-process
|
|
||||||
required = true
|
|
||||||
|
|
||||||
[init]
|
|
||||||
defaultBranch = main
|
|
||||||
|
|
||||||
[pull]
|
|
||||||
rebase = true
|
|
||||||
|
|
||||||
[color]
|
|
||||||
ui = true
|
|
||||||
diff = auto
|
|
||||||
branch = auto
|
|
||||||
status = auto
|
|
||||||
|
|
||||||
[color "status"]
|
|
||||||
added = green bold
|
|
||||||
changed = yellow
|
|
||||||
deleted = red bold strike
|
|
||||||
untracked = cyan
|
|
||||||
branch = yellow black bold ul
|
|
||||||
|
|
||||||
[gpg]
|
|
||||||
format = ssh
|
|
||||||
|
|
||||||
[gpg "ssh"]
|
[gpg "ssh"]
|
||||||
program = /Applications/1Password.app/Contents/MacOS/op-ssh-sign
|
program = /Applications/1Password.app/Contents/MacOS/op-ssh-sign
|
||||||
allowedSignersFile = ~/.ssh/allowed_signers
|
allowedSignersFile = ~/.ssh/allowed_signers
|
||||||
@@ -69,7 +20,3 @@
|
|||||||
[credential "https://gist.github.com"]
|
[credential "https://gist.github.com"]
|
||||||
helper =
|
helper =
|
||||||
helper = !/opt/homebrew/bin/gh auth git-credential
|
helper = !/opt/homebrew/bin/gh auth git-credential
|
||||||
|
|
||||||
[submodule]
|
|
||||||
recurse = true
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,11 +13,13 @@ if [ -z "${FILENAME}" ]; then
|
|||||||
FILENAME=$DIRECTORY
|
FILENAME=$DIRECTORY
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FILENAME=${FILENAME} \
|
FILENAME=$(
|
||||||
| tr '/' _ \
|
${FILENAME} \
|
||||||
| iconv -t ascii//TRANSLIT \
|
| tr '/' _ \
|
||||||
| sed -r s/[^a-zA-Z0-9]+/_/g \
|
| iconv -t ascii//TRANSLIT \
|
||||||
| sed -r s/^_+\|-+$//g
|
| sed -r s/[^a-zA-Z0-9]+/_/g \
|
||||||
|
| sed -r s/^_+\|-+$//g
|
||||||
|
)
|
||||||
|
|
||||||
TIMESTAMP=$(date "+%Y%m%d_%H%M%S")
|
TIMESTAMP=$(date "+%Y%m%d_%H%M%S")
|
||||||
FILENAME_TIMESTAMP="${FILENAME}_${TIMESTAMP}"
|
FILENAME_TIMESTAMP="${FILENAME}_${TIMESTAMP}"
|
||||||
|
|||||||
@@ -10,6 +10,14 @@ $fsCharLenght = 0;
|
|||||||
|
|
||||||
$quota = shell_exec("quota -w");
|
$quota = shell_exec("quota -w");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pad string
|
||||||
|
*
|
||||||
|
* @param string $i Input string
|
||||||
|
* @param int $n Length
|
||||||
|
* @param string $p Padding string
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
function pad($i, $n = 3, $p = ' ')
|
function pad($i, $n = 3, $p = ' ')
|
||||||
{
|
{
|
||||||
return str_pad($i, $n, $p, STR_PAD_LEFT);
|
return str_pad($i, $n, $p, STR_PAD_LEFT);
|
||||||
|
|||||||
@@ -4,20 +4,21 @@
|
|||||||
# shellcheck source="shared.sh"
|
# shellcheck source="shared.sh"
|
||||||
source "$HOME/.dotfiles/scripts/shared.sh"
|
source "$HOME/.dotfiles/scripts/shared.sh"
|
||||||
|
|
||||||
have php && {
|
! have php && msg_err "PHP Not Available, cannot install composer" && exit 0;
|
||||||
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
|
|
||||||
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
|
||||||
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
|
|
||||||
|
|
||||||
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]; then
|
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
|
||||||
echo >&2 'ERROR: Invalid installer checksum'
|
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||||
rm composer-setup.php
|
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
php composer-setup.php --quiet
|
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]; then
|
||||||
RESULT=$?
|
echo >&2 'ERROR: Invalid installer checksum'
|
||||||
rm composer-setup.php
|
rm composer-setup.php
|
||||||
mv composer.phar ~/.local/bin/composer
|
exit 1
|
||||||
exit $RESULT
|
fi
|
||||||
} || msg_err "PHP Not Available, cannot install composer"
|
|
||||||
|
php composer-setup.php --quiet
|
||||||
|
RESULT=$?
|
||||||
|
rm composer-setup.php
|
||||||
|
mv composer.phar ~/.local/bin/composer
|
||||||
|
exit $RESULT
|
||||||
|
|
||||||
|
|||||||
@@ -4,42 +4,42 @@
|
|||||||
# shellcheck source="shared.sh"
|
# shellcheck source="shared.sh"
|
||||||
source "$HOME/.dotfiles/scripts/shared.sh"
|
source "$HOME/.dotfiles/scripts/shared.sh"
|
||||||
|
|
||||||
have gh && {
|
|
||||||
extensions=(
|
|
||||||
# GitHub CLI extension for generating a report on repository dependencies.
|
|
||||||
andyfeller/gh-dependency-report
|
|
||||||
# GitHub CLI extension to generate montage from GitHub user avatars
|
|
||||||
andyfeller/gh-montage
|
|
||||||
# An opinionated GitHub Cli extension for creating
|
|
||||||
# changelogs that adhere to the keep a changelog specification.
|
|
||||||
chelnak/gh-changelog
|
|
||||||
# Safely deletes local branches with no upstream and no un-pushed commits
|
|
||||||
davidraviv/gh-clean-branches
|
|
||||||
# A beautiful CLI dashboard for GitHub 🚀
|
|
||||||
dlvhdr/gh-dash
|
|
||||||
# A github-cli extension script to clone all repositories
|
|
||||||
# in an organization, optionally filtering by topic.
|
|
||||||
matt-bartel/gh-clone-org
|
|
||||||
# being an extension to view the overall health of
|
|
||||||
# an organization's use of actions
|
|
||||||
rsese/gh-actions-status
|
|
||||||
)
|
|
||||||
|
|
||||||
msg "Starting to install GitHub CLI extensions..."
|
|
||||||
|
|
||||||
for ext in "${extensions[@]}"; do
|
|
||||||
# Trim spaces
|
|
||||||
ext=${ext// /}
|
|
||||||
# Skip comments
|
|
||||||
if [[ ${ext:0:1} == "#" ]]; then continue; fi
|
|
||||||
|
|
||||||
msg_run "Installing $ext"
|
|
||||||
gh extensions install "$ext"
|
|
||||||
echo ""
|
|
||||||
done
|
|
||||||
|
|
||||||
msg_ok "Done"
|
|
||||||
}
|
|
||||||
|
|
||||||
! 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;
|
||||||
|
|
||||||
|
extensions=(
|
||||||
|
# GitHub CLI extension for generating a report on repository dependencies.
|
||||||
|
andyfeller/gh-dependency-report
|
||||||
|
# GitHub CLI extension to generate montage from GitHub user avatars
|
||||||
|
andyfeller/gh-montage
|
||||||
|
# An opinionated GitHub Cli extension for creating
|
||||||
|
# changelogs that adhere to the keep a changelog specification.
|
||||||
|
chelnak/gh-changelog
|
||||||
|
# Safely deletes local branches with no upstream and no un-pushed commits
|
||||||
|
davidraviv/gh-clean-branches
|
||||||
|
# A beautiful CLI dashboard for GitHub 🚀
|
||||||
|
dlvhdr/gh-dash
|
||||||
|
# A github-cli extension script to clone all repositories
|
||||||
|
# in an organization, optionally filtering by topic.
|
||||||
|
matt-bartel/gh-clone-org
|
||||||
|
# being an extension to view the overall health of
|
||||||
|
# an organization's use of actions
|
||||||
|
rsese/gh-actions-status
|
||||||
|
)
|
||||||
|
|
||||||
|
msg "Starting to install GitHub CLI extensions..."
|
||||||
|
|
||||||
|
for ext in "${extensions[@]}"; do
|
||||||
|
# Trim spaces
|
||||||
|
ext=${ext// /}
|
||||||
|
# Skip comments
|
||||||
|
if [[ ${ext:0:1} == "#" ]]; then continue; fi
|
||||||
|
|
||||||
|
msg_run "Installing $ext"
|
||||||
|
gh extensions install "$ext"
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
|
||||||
|
msg_ok "Done"
|
||||||
|
|
||||||
|
|||||||
@@ -4,38 +4,37 @@
|
|||||||
# shellcheck source=shared.sh
|
# shellcheck source=shared.sh
|
||||||
source "$HOME/.dotfiles/scripts/shared.sh"
|
source "$HOME/.dotfiles/scripts/shared.sh"
|
||||||
|
|
||||||
have go && {
|
! have go && msg "go hasn't been installed yet." && exit 0;
|
||||||
packages=(
|
|
||||||
# sysadmin/scripting utilities, distributed as a single binary
|
|
||||||
github.com/skx/sysbox@latest
|
|
||||||
# Git Profile allows you to switch between user profiles in git repos
|
|
||||||
github.com/dotzero/git-profile@latest
|
|
||||||
# An extensible command line tool or library to format yaml files.
|
|
||||||
github.com/google/yamlfmt/cmd/yamlfmt@latest
|
|
||||||
# Parsing HTML at the command line
|
|
||||||
github.com/ericchiang/pup@latest
|
|
||||||
# HTML to Markdown converter
|
|
||||||
github.com/suntong/html2md@latest
|
|
||||||
# cheat allows you to create and view interactive cheatsheets on the cli.
|
|
||||||
github.com/cheat/cheat/cmd/cheat@latest
|
|
||||||
# Render markdown on the CLI, with pizzazz! 💅
|
|
||||||
github.com/charmbracelet/glow@latest
|
|
||||||
# Static checker for GitHub Actions workflow files
|
|
||||||
github.com/rhysd/actionlint/cmd/actionlint@latest
|
|
||||||
)
|
|
||||||
|
|
||||||
for pkg in "${packages[@]}"; do
|
packages=(
|
||||||
# Trim spaces
|
# sysadmin/scripting utilities, distributed as a single binary
|
||||||
pkg=${pkg// /}
|
github.com/skx/sysbox@latest
|
||||||
# Skip comments
|
# Git Profile allows you to switch between user profiles in git repos
|
||||||
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
|
github.com/dotzero/git-profile@latest
|
||||||
|
# An extensible command line tool or library to format yaml files.
|
||||||
|
github.com/google/yamlfmt/cmd/yamlfmt@latest
|
||||||
|
# Parsing HTML at the command line
|
||||||
|
github.com/ericchiang/pup@latest
|
||||||
|
# HTML to Markdown converter
|
||||||
|
github.com/suntong/html2md@latest
|
||||||
|
# cheat allows you to create and view interactive cheatsheets on the cli.
|
||||||
|
github.com/cheat/cheat/cmd/cheat@latest
|
||||||
|
# Render markdown on the CLI, with pizzazz! 💅
|
||||||
|
github.com/charmbracelet/glow@latest
|
||||||
|
# Static checker for GitHub Actions workflow files
|
||||||
|
github.com/rhysd/actionlint/cmd/actionlint@latest
|
||||||
|
)
|
||||||
|
|
||||||
msg_run "Installing go package:" "$pkg"
|
for pkg in "${packages[@]}"; do
|
||||||
go install "$pkg"
|
# Trim spaces
|
||||||
echo ""
|
pkg=${pkg// /}
|
||||||
done
|
# Skip comments
|
||||||
|
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
|
||||||
|
|
||||||
msg_ok "Done"
|
msg_run "Installing go package:" "$pkg"
|
||||||
}
|
go install "$pkg"
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
|
||||||
|
msg_ok "Done"
|
||||||
|
|
||||||
! have go && msg "go hasn't been installed yet."
|
|
||||||
|
|||||||
@@ -4,42 +4,38 @@
|
|||||||
# shellcheck source=shared.sh
|
# shellcheck source=shared.sh
|
||||||
source "$HOME/.dotfiles/scripts/shared.sh"
|
source "$HOME/.dotfiles/scripts/shared.sh"
|
||||||
|
|
||||||
have npm && {
|
! have npm && msg_err "npm could not be found." && exit 0
|
||||||
packages=(
|
|
||||||
# This is a tool to check if your files consider your .editorconfig rules.
|
|
||||||
"editorconfig-checker"
|
|
||||||
# Node module to create a release or a changelog from
|
|
||||||
# a tag and uses issues or commits to creating the release notes.
|
|
||||||
"github-release-notes"
|
|
||||||
"neovim"
|
|
||||||
"prettier"
|
|
||||||
"corepack"
|
|
||||||
"standardjs"
|
|
||||||
# CLI and local web plain text note‑taking, bookmarking, and archiving
|
|
||||||
# with linking, tagging, filtering, search, Git versioning & syncing,
|
|
||||||
# Pandoc conversion, + more, in a single portable script.
|
|
||||||
"nb.sh"
|
|
||||||
)
|
|
||||||
|
|
||||||
for pkg in "${packages[@]}"; do
|
packages=(
|
||||||
# Trim spaces
|
# This is a tool to check if your files consider your .editorconfig rules.
|
||||||
pkg=${pkg// /}
|
"editorconfig-checker"
|
||||||
# Skip comments
|
# Node module to create a release or a changelog from
|
||||||
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
|
# a tag and uses issues or commits to creating the release notes.
|
||||||
|
"github-release-notes"
|
||||||
|
"neovim"
|
||||||
|
"corepack"
|
||||||
|
# CLI and local web plain text note‑taking, bookmarking, and archiving
|
||||||
|
# with linking, tagging, filtering, search, Git versioning & syncing,
|
||||||
|
# Pandoc conversion, + more, in a single portable script.
|
||||||
|
"nb.sh"
|
||||||
|
)
|
||||||
|
|
||||||
if [[ $(npm ls -g -p "$pkg") != "" ]]; then
|
for pkg in "${packages[@]}"; do
|
||||||
msg_run_done "$pkg" "already installed"
|
# Trim spaces
|
||||||
else
|
pkg=${pkg// /}
|
||||||
msg_run "Installing npm package:" "$pkg"
|
# Skip comments
|
||||||
npm install -g --no-fund --no-progress --no-timing "$pkg"
|
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
if [[ $(npm ls -g -p "$pkg") != "" ]]; then
|
||||||
done
|
msg_run_done "$pkg" "already installed"
|
||||||
|
else
|
||||||
|
msg_run "Installing npm package:" "$pkg"
|
||||||
|
npm install -g --no-fund --no-progress --no-timing "$pkg"
|
||||||
|
fi
|
||||||
|
|
||||||
msg_run "Upgrading all global packages"
|
echo ""
|
||||||
npm -g --no-progress --no-timing --no-fund outdated
|
done
|
||||||
npm -g --no-timing --no-fund upgrade
|
|
||||||
}
|
|
||||||
|
|
||||||
! have npm && msg_err "npm could not be found."
|
msg_run "Upgrading all global packages"
|
||||||
|
npm -g --no-progress --no-timing --no-fund outdated
|
||||||
|
npm -g --no-timing --no-fund upgrade
|
||||||
|
|||||||
@@ -6,32 +6,31 @@
|
|||||||
source "$HOME/.dotfiles/scripts/shared.sh"
|
source "$HOME/.dotfiles/scripts/shared.sh"
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
have ntfy && msg "ntfy already installed"
|
have ntfy && msg "ntfy already installed" && exit 0;
|
||||||
|
|
||||||
! have ntfy && {
|
case $(dfm check arch) in
|
||||||
case $(dfm check arch) in
|
Linux)
|
||||||
Linux)
|
NTFY_ARCH="linux_$(arch)"
|
||||||
NTFY_ARCH="linux_$(arch)"
|
;;
|
||||||
;;
|
Darwin)
|
||||||
Darwin)
|
NTFY_ARCH="macOS_all"
|
||||||
NTFY_ARCH="macOS_all"
|
;;
|
||||||
;;
|
esac
|
||||||
esac
|
|
||||||
|
|
||||||
NTFY_VERSION=2.2.0
|
NTFY_VERSION=2.2.0
|
||||||
NTFY_URL="https://github.com/binwiederhier/ntfy"
|
NTFY_URL="https://github.com/binwiederhier/ntfy"
|
||||||
NTFY_DEST="ntfy_${NTFY_VERSION}_${NTFY_ARCH}"
|
NTFY_DEST="ntfy_${NTFY_VERSION}_${NTFY_ARCH}"
|
||||||
|
|
||||||
curl -L "$NTFY_URL/releases/download/v${NTFY_VERSION}/${NTFY_DEST}.tar.gz" \
|
curl -L "$NTFY_URL/releases/download/v${NTFY_VERSION}/${NTFY_DEST}.tar.gz" \
|
||||||
> "${NTFY_DEST}.tar.gz"
|
> "${NTFY_DEST}.tar.gz"
|
||||||
tar zxvf "${NTFY_DEST}.tar.gz"
|
tar zxvf "${NTFY_DEST}.tar.gz"
|
||||||
cp -a "${NTFY_DEST}/ntfy" ~/.local/bin/ntfy
|
cp -a "${NTFY_DEST}/ntfy" ~/.local/bin/ntfy
|
||||||
mkdir -p ~/.config/ntfy
|
mkdir -p ~/.config/ntfy
|
||||||
|
|
||||||
# copy config only if it does not exist
|
# copy config only if it does not exist
|
||||||
if [ ! -f "$HOME/.config/ntfy/client.yml" ]; then
|
if [ ! -f "$HOME/.config/ntfy/client.yml" ]; then
|
||||||
cp "${NTFY_DEST}/client/client.yml" ~/.config/ntfy/client.yml
|
cp "${NTFY_DEST}/client/client.yml" ~/.config/ntfy/client.yml
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
rm -rf "${NTFY_DEST}" "${NTFY_DEST}.tar.gz"
|
||||||
|
|
||||||
rm -rf "${NTFY_DEST}" "${NTFY_DEST}.tar.gz"
|
|
||||||
}
|
|
||||||
|
|||||||
Submodule tools/dotbot updated: 328bcb3259...da928a4c6b
Reference in New Issue
Block a user