Compare commits

...

9 Commits

Author SHA1 Message Date
91cde60dba fix(scripts): resolve shellcheck warnings (#148) 2025-07-10 17:44:36 +03:00
5dea757707 chore(config): remove aqua from go packages
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-07-10 12:38:54 +03:00
f8833fca73 chore(zed): add templ, add requirements
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-07-10 12:38:26 +03:00
9cd99dbc88 chore(zed): update theme, update config
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-07-10 12:37:26 +03:00
14f67cb5ca chore(yabai): ignore golang
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-07-10 12:19:24 +03:00
github-actions[bot]
4ce76fbd70 chore: update pre-commit hooks (#147) 2025-07-10 09:36:39 +03:00
renovate[bot]
ca68803fb9 feat(github-action): update ivuorinen/actions (25.6.30 → 25.7.7) (#146) 2025-07-09 15:29:09 +03:00
fb97f10f64 chore(nvim): lax hardtime rules
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-07-08 01:34:33 +03:00
6dbbc439b3 feat(nvim): switch to rose pine
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
2025-07-08 01:33:18 +03:00
13 changed files with 122 additions and 27 deletions

View File

@@ -33,4 +33,4 @@ jobs:
- name: Run PR Lint
# https://github.com/ivuorinen/actions
uses: ivuorinen/actions/pr-lint@c0f919957eb60743682a6e0cd6d454fd4b142ac9 # 25.6.30
uses: ivuorinen/actions/pr-lint@625c37446b1c7e219755a40807f825c9283f6e05 # 25.7.7

View File

@@ -29,4 +29,4 @@ jobs:
issues: write
steps:
- uses: ivuorinen/actions/sync-labels@c0f919957eb60743682a6e0cd6d454fd4b142ac9 # 25.6.30
- uses: ivuorinen/actions/sync-labels@625c37446b1c7e219755a40807f825c9283f6e05 # 25.7.7

View File

@@ -39,7 +39,7 @@ repos:
- id: shellcheck
- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.11.0-1
rev: v3.12.0-1
hooks:
- id: shfmt
@@ -49,7 +49,7 @@ repos:
- id: actionlint
- repo: https://github.com/renovatebot/pre-commit-hooks
rev: 41.23.2
rev: 41.23.5
hooks:
- id: renovate-config-validator

34
AGENTS.md Normal file
View File

@@ -0,0 +1,34 @@
# Project guidelines
This repository contains configuration files and helper scripts for managing a development environment. Dotbot drives the installation and host specific folders under `hosts/` include extra configs.
## Keeping the repository up to date
1. Update submodules with `git submodule update --remote --merge`.
2. Pull the latest changes and run `./install`.
3. Run `yarn install` whenever `package.json` changes.
## Linting and tests
- Format files with:
```bash
yarn fix:prettier
yarn fix:markdown
```
- Shell scripts must pass `shellcheck`. Run:
```bash
find . -path ./node_modules -prune -o -name '*.sh' -print0 | xargs -0 shellcheck
```
- Execute tests with `yarn test`.
## Debugging lint issues
- `yarn lint:prettier` and `yarn lint:markdown` show formatting errors.
- Ensure shell scripts have a shebang or `# shellcheck shell=bash` directive.
- Consult `.shellcheckrc` for project specific checks.
Scripts rely on helpers in `config/shared.sh` so they run under Bash, Zsh and Fish by default.

View File

@@ -1,8 +1,6 @@
// These are golang packages I use,
// so they should be available with all versions
// Aqua is a package manager like asdf, or Brew
github.com/aquaproj/aqua/v2/cmd/aqua@latest
// Git Profile allows you to switch between user profiles in git repos
github.com/dotzero/git-profile@v1.4.0
// An extensible command line tool or library to format yaml files.
@@ -21,3 +19,8 @@ github.com/rhysd/actionlint/cmd/actionlint@v1.7.1
github.com/doron-cohen/antidot@v0.6.3
// FZF is a general-purpose command-line fuzzy finder.
github.com/junegunn/fzf@latest
// gopls, the Go language server
golang.org/x/tools/gopls@latest
// A language for writing HTML user interfaces in Go.
github.com/a-h/templ/cmd/templ@latest

View File

@@ -1,4 +1,5 @@
### Do not edit. This was autogenerated by 'asdf direnv setup' ###
# shellcheck shell=bash
use_asdf() {
source_env "$(asdf direnv envrc "$@")"
}

View File

@@ -1,7 +1,22 @@
return {
{
'rmehri01/onenord.nvim',
opts = {},
'rose-pine/neovim',
name = 'rose-pine',
opts = {
dim_inactive_windows = false,
extend_background_behind_borders = true,
styles = {
bold = true,
italic = true,
transparency = true,
},
enable = {
terminal = true,
legacy_highlights = true, -- Improve compatibility for previous versions of Neovim
migrations = true, -- Handle deprecated options automatically
},
},
config = function() vim.cmd 'colorscheme rose-pine' end,
},
-- Automatic dark mode
-- https://github.com/f-person/auto-dark-mode.nvim
@@ -12,10 +27,12 @@ return {
set_dark_mode = function()
vim.api.nvim_set_option_value('background', 'dark', {})
-- vim.cmd.colorscheme(vim.g.colors_variant_dark)
vim.cmd 'colorscheme rose-pine'
end,
set_light_mode = function()
vim.api.nvim_set_option_value('background', 'light', {})
-- vim.cmd.colorscheme(vim.g.colors_variant_light)
vim.cmd 'colorscheme rose-pine-dawn'
end,
},
},
@@ -68,6 +85,42 @@ return {
'm4xshen/hardtime.nvim',
lazy = false,
dependencies = { 'MunifTanjim/nui.nvim' },
opts = {},
opts = {
restriction_mode = 'hint',
disabled_keys = {
['<Up>'] = { '', 'n' },
['<Down>'] = { '', 'n' },
['<Left>'] = { '', 'n' },
['<Right>'] = { '', 'n' },
['<C-Up>'] = { '', 'n' },
['<C-Down>'] = { '', 'n' },
['<C-Left>'] = { '', 'n' },
['<C-Right>'] = { '', 'n' },
},
disabled_filetypes = {
'TelescopePrompt',
'Trouble',
'lazy',
'mason',
'help',
'notify',
'dashboard',
'alpha',
},
hints = {
['[dcyvV][ia][%(%)]'] = {
message = function(keys)
return 'Use ' .. keys:sub(1, 2) .. 'b instead of ' .. keys
end,
length = 3,
},
['[dcyvV][ia][%{%}]'] = {
message = function(keys)
return 'Use ' .. keys:sub(1, 2) .. 'B instead of ' .. keys
end,
length = 3,
},
},
},
},
}

View File

@@ -1,2 +1,3 @@
# shellcheck shell=bash
export OP_PLUGIN_ALIASES_SOURCED=1
alias gh="op plugin run -- gh"

View File

@@ -26,7 +26,7 @@ x-path-prepend()
local dir=$1
case "$CURRENT_SHELL" in
fish)
set -U fish_user_paths "$dir" $fish_user_paths
set -U fish_user_paths "$dir" "$fish_user_paths"
;;
sh | bash | zsh)
PATH="$dir:$PATH"
@@ -106,7 +106,7 @@ if ! declare -f msg_done > /dev/null; then
# $1 - message (string)
msg_done()
{
msgr done "$1"
msgr "done" "$1"
return 0
}
fi

View File

@@ -25,6 +25,7 @@ yabai -m config \
# > yabai -m query --windows | jq .[].app | sort | uniq
yabai -m rule --add app="1Password" manage=off
yabai -m rule --add app="Fork" manage=off
yabai -m rule --add app="GoLand" manage=off
yabai -m rule --add app="JetBrains Rider" manage=off
yabai -m rule --add app="Logi Options" manage=off
yabai -m rule --add app="MSTeams" manage=off

View File

@@ -1,6 +1,7 @@
{
"context_servers": {
"github-activity-summarizer": {
"source": "extension",
"settings": {}
}
},
@@ -8,12 +9,13 @@
"metrics": false
},
"agent": {
"always_allow_tool_actions": false,
"always_allow_tool_actions": true,
"default_profile": "ask",
"default_model": {
"provider": "copilot_chat",
"model": "gpt-4.1"
},
"version": "2"
"play_sound_when_agent_done": true
},
"languages": {
"PHP": {
@@ -77,7 +79,7 @@
"update_debounce_ms": 150
}
},
"multi_cursor_modifier": "cmd_or_ctrl", // alias: "cmd", "ctrl"
"multi_cursor_modifier": "cmd_or_ctrl",
"indent_guides": {
"enabled": true,
"coloring": "indent_aware"
@@ -89,8 +91,8 @@
"vim_mode": true,
"theme": {
"mode": "system",
"light": "Tomorrow",
"dark": "Tomorrow at Midnight"
"light": "Rosé Pine Dawn",
"dark": "Rosé Pine"
},
"inlay_hints": {
"enabled": true,
@@ -102,7 +104,6 @@
"buffer_font_size": 16,
"buffer_font_fallbacks": ["JetBrainsMono Nerd Font"],
"use_autoclose": false,
"hour_format": "hour24",
"auto_install_extensions": {
"angular": true,
"ansible": true,
@@ -114,9 +115,9 @@
"dockerfile": true,
"git-firefly": true,
"github-activity-summarizer": true,
"go-snippets": true,
"golangci-lint": true,
"gosum": true,
"go-snippets": true,
"html": true,
"ini": true,
"json": true,
@@ -126,19 +127,20 @@
"lua": true,
"make": true,
"php": true,
"python-snippets": true,
"python-requirements": true,
"python-snippets": true,
"rose-pine-theme": true,
"ruff": true,
"scss": true,
"sieve": true,
"stylelint": true,
"sql": true,
"stylelint": true,
"templ": true,
"toml": true,
"vue": true,
"vue-snippets": true,
"wakatime": true,
"xcode-themes": true,
"yaml": true,
"tomorrow-theme": true
"yaml": true
}
}

View File

@@ -38,7 +38,7 @@ install_packages()
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
msgr run "Installing cargo package $pkg"
cargo install --jobs $BUILD_JOBS "$pkg"
cargo install --jobs "$BUILD_JOBS" "$pkg"
msgr run_done "Done installing $pkg"
echo ""
done
@@ -56,13 +56,13 @@ post_install_steps()
msgr run "Removing cargo cache"
cargo cache --autoclean
msgr done "Done removing cargo cache"
msgr "done" "Done removing cargo cache"
}
main()
{
install_packages
msgr done "Installed cargo packages!"
msgr "done" "Installed cargo packages!"
post_install_steps
}

View File

@@ -9,7 +9,7 @@ VERBOSE="${VERBOSE:-0}"
# Check if ntfy is already installed
if x-have "ntfy"; then
msgr done "ntfy already installed"
msgr "done" "ntfy already installed"
exit 0
fi
@@ -50,7 +50,7 @@ install_ntfy()
main()
{
install_ntfy
msgr done "ntfy installation complete"
msgr "done" "ntfy installation complete"
}
main "$@"