1
0
Fork
You've already forked dotfiles
0
These are my dotfiles. There are many like 'em, but these are mine.
  • Shell 72.7%
  • Vim Script 11.7%
  • Lua 5.5%
  • Perl 4%
  • Roff 3.8%
  • Other 2.2%
renovate[bot] 3437d76354
chore(actions): update ivuorinen/actions action (v2026.04.06 → v2026.04.15) ( #352 )
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026年04月20日 22:41:02 +03:00
.claude chore(claude): add adversarial-reviewe skill 2026年04月17日 23:37:01 +03:00
.github chore(actions): update ivuorinen/actions action (v2026.04.06 → v2026.04.15) ( #352 ) 2026年04月20日 22:41:02 +03:00
.serena feat(tmux): migrate plugins from git submodules to TPM ( #335 ) 2026年04月06日 23:38:23 +03:00
.sonarlint feat: switch to biome, apply formatting, shellcheck ( #227 ) 2025年12月17日 16:03:29 +02:00
base chore(shellcheck): tweak global rules, add comments 2026年04月12日 13:59:24 +03:00
config chore(eza): add catppuccin-mocha-green theme config 2026年04月17日 23:37:01 +03:00
docs docs: add adversarial review findings, spec, and implementation plan 2026年04月17日 23:37:01 +03:00
hosts chore(git): gitignore playwright-mcp 2026年04月17日 08:26:45 +03:00
local fix(x-quota-usage): guard against zero-quota division; add bats tests 2026年04月17日 23:37:01 +03:00
scripts fix(dfm): remove dead git-crypt reference and fix ntfy version URL 2026年04月07日 14:03:08 +03:00
secrets chore: more cleanup, linting and fixes 2024年09月19日 12:40:16 +03:00
ssh chore: linting 2025年10月13日 14:14:45 +03:00
tests test(dfm): update install/scripts menu expectations to current state 2026年04月17日 23:37:01 +03:00
tools refactor: remove dotbot-brew, dotbot-pip submodules and pipx 2026年02月05日 22:07:03 +02:00
.actrc feat(github): Update changelog workflow and config 2023年05月22日 17:52:43 +03:00
.browserslistrc feat: prettier-plugin-sh + tweaks and codefixes 2024年07月16日 23:00:36 +03:00
.commitlintrc.json feat(lint): added my linting configs 2023年09月27日 14:25:53 +03:00
.editorconfig feat(udev): add hwdb rule to fix UHK 60 v2 ISO key ( #343 ) 2026年04月12日 23:07:45 +03:00
.editorconfig-checker.json feat(usage): add KDL specs, completions, docs, and manpages for all scripts ( #336 ) 2026年04月07日 13:23:42 +03:00
.gitattributes feat: add bats tests, docs ( #139 ) 2025年06月30日 04:30:06 +03:00
.gitignore feat(usage): add KDL specs, completions, docs, and manpages for all scripts ( #336 ) 2026年04月07日 13:23:42 +03:00
.gitmodules feat(tmux): migrate plugins from git submodules to TPM ( #335 ) 2026年04月06日 23:38:23 +03:00
.ignore feat(tmux): migrate plugins from git submodules to TPM ( #335 ) 2026年04月06日 23:38:23 +03:00
.luarc.json chore(nvim): expand lua_ls globals for hammerspoon and mini 2026年04月17日 21:31:01 +03:00
.markdownlintignore feat(tmux): migrate plugins from git submodules to TPM ( #335 ) 2026年04月06日 23:38:23 +03:00
.mega-linter.yml fix(lint): fix all sonarcloud detected issues ( #279 ) 2026年02月07日 19:01:02 +02:00
.mise.toml chore(deps): update node.js (v24.14.1 → v24.15.0) ( #351 ) 2026年04月19日 13:30:46 +03:00
.pre-commit-config.yaml chore(deps): update pre-commit hook astral-sh/ruff-pre-commit (v0.15.10 → v0.15.11) ( #350 ) 2026年04月19日 13:30:44 +03:00
.prettierignore chore: general maintenance and cleanup ( #306 ) 2026年03月15日 19:14:36 +02:00
.prettierrc.json fix(lint): fix all sonarcloud detected issues ( #279 ) 2026年02月07日 19:01:02 +02:00
.releaserc.json chore(lint): run prettier to all files 2023年10月30日 14:44:46 +02:00
.shellcheckrc fix(dfm): asdf plugin-install, docs translations 2024年12月30日 11:26:54 +02:00
.yamlignore feat(tmux): migrate plugins from git submodules to TPM ( #335 ) 2026年04月06日 23:38:23 +03:00
.yamllint.yml chore(tooling): use yarn for linting scripts ( #149 ) 2025年08月15日 09:06:22 +03:00
.yarnrc.yml chore: upgrade yarn 2025年12月02日 23:29:04 +01:00
add-submodules.sh feat(tmux): migrate plugins from git submodules to TPM ( #335 ) 2026年04月06日 23:38:23 +03:00
biome.json feat(mise): add MISE_PYTHON_PRECOMPILED_ARCH detection helper ( #344 ) 2026年04月17日 16:46:10 +03:00
CLAUDE.md feat(mise): add MISE_PYTHON_PRECOMPILED_ARCH detection helper ( #344 ) 2026年04月17日 16:46:10 +03:00
cspell.config.yaml feat: switch to biome, apply formatting, shellcheck ( #227 ) 2025年12月17日 16:03:29 +02:00
install fix(lint): fix all sonarcloud detected issues ( #279 ) 2026年02月07日 19:01:02 +02:00
install.conf.yaml fix: dotbot mise config fixes, and completion directory creation 2026年04月08日 18:48:39 +03:00
package.json chore(deps)!: update dependency typescript (5.9.3 → 6.0.2) ( #320 ) 2026年03月27日 18:18:11 +02:00
phpcs.xml Chore(lint): Change name for Codacy 2023年05月08日 13:24:47 +03:00
pyproject.toml fix(lint): fix all sonarcloud detected issues ( #279 ) 2026年02月07日 19:01:02 +02:00
stylua.toml feat(nvim): reworked lsp, theme, cleanup 2025年04月19日 04:04:26 +03:00
test-all.sh fix(lint): fix all sonarcloud detected issues ( #279 ) 2026年02月07日 19:01:02 +02:00
yarn.lock feat(mise): add MISE_PYTHON_PRECOMPILED_ARCH detection helper ( #344 ) 2026年04月17日 16:46:10 +03:00

.dotfiles

Welcome to ivuorinen's .dotfiles repository. It's a hodgepodge of scripts and configurations, tests and mistakes I'm not aware of yet. As I find more interesting tools, configs and other stuff, this repository will live accordingly.

Please for the love of everything good do not use these 1:1 as your own dotfiles, fork or download the repository as a zip and go from there with your own configs.

It would be nice if you'd add an issue linking to your fork or repo so I can see what interesting stuff you've done with it. Sharing is caring.

Setup

First time setup

  1. Clone this repository to $HOME/.dotfiles
  2. ./install
  3. ???
  4. Profit

Updates

cd $HOME/.dotfiles && git pull && ./install

The looks

screenshot of the oh-my-posh shell

screenshot of light version of tmux with nvim editing this repository

screenshot of dark version of tmux with nvim editing this repository

Interesting files and locations

Interesting folders

Path Description
.github GitHub Repository configuration files, meta.
hosts/{hostname}/ Configs that should apply to that host only.
local/bin Helper scripts that I've collected or wrote.
scripts Setup scripts.

Host specific configuration

Configurations under hosts/<hostname> are applied only when running on the matching machine. Each host folder contains its own install.conf.yaml that is processed by Dotbot during installation.

dotfile folders

Repo Destination Description
base/ .* $HOME level files.
config/ .config/ Configurations for applications.
local/ .local/ XDG Base folder: bin, share and state
ssh/ .ssh/ SSH Configurations.

dfm - the dotfiles manager

.local/bin/dfm is a shell script that has some tools that help with dotfiles management.

Running dfm gives you a list of available commands.

Documentation generation

dfm docs generates Markdown documentation under the docs/ directory. The subcommands are:

dfm docs alias # regenerate alias table
dfm docs folders # document interesting folders
dfm docs keybindings # update keybinding docs for tmux, nvim and others
dfm docs all # run every docs task

The docs/ folder contains generated cheat sheets, keybindings and other reference files. New documentation can be added without modifying this README.

Configuration

The folder structure follows XDG Base Directory Specification where possible.

XDG Variables

Env Default Short description
$XDG_BIN_HOME $HOME/.local/bin Local binaries
$XDG_CONFIG_HOME $HOME/.config User-specific configs
$XDG_DATA_HOME $HOME/.local/share User-specific data files
$XDG_STATE_HOME $HOME/.local/state App state that should persist between restarts

Please see docs/folders.md for more information.

Managing submodules

This repository uses Git submodules for external dependencies. After cloning, run:

git submodule update --init --recursive

To pull submodule updates later use:

git submodule update --remote --merge

The helper script add-submodules.sh documents how each submodule is added and configured. Submodules are automatically updated by the update-submodules.yml workflow.

Testing

Shell scripts under local/bin are validated with Bats. Run yarn test to execute every test file. Bats is installed as a development dependency, so run yarn install first if needed.