{"id":24329701,"url":"https://github.com/helvnor/dotfiles","last_synced_at":"2026-04-06T08:31:31.272Z","repository":{"id":265779237,"uuid":"896629307","full_name":"n0rrman/dotfiles","owner":"n0rrman","description":"My *nix dotfiles.","archived":false,"fork":false,"pushed_at":"2025-02-12T21:30:53.000Z","size":112,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T21:34:59.690Z","etag":null,"topics":["dotfiles","nvim","nvim-configs","vim","vimrc"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/n0rrman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-30T21:51:13.000Z","updated_at":"2025-02-12T21:30:56.000Z","dependencies_parsed_at":"2024-12-23T15:22:08.531Z","dependency_job_id":"aeb81a00-bfdb-49d2-9a90-eb90dbce9199","html_url":"https://github.com/n0rrman/dotfiles","commit_stats":null,"previous_names":["n0rrman/nvim","n0rrman/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0rrman%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0rrman%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0rrman%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0rrman%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n0rrman","download_url":"https://codeload.github.com/n0rrman/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243012695,"owners_count":20221606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotfiles","nvim","nvim-configs","vim","vimrc"],"created_at":"2025-01-18T00:17:24.330Z","updated_at":"2026-04-06T08:31:31.245Z","avatar_url":"https://github.com/n0rrman.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\nPersonal configuration files managed with symlinks via `make`.\n\n## Tools\n\n| Tool                | Description                                                   |\n| ------------------- | ------------------------------------------------------------- |\n| [Fish](fish/)       | Shell — Everforest Dark Hard, vi-mode, custom prompt              |\n| [Ghostty](ghostty/) | Terminal emulator — Everforest Dark Hard, transparent background  |\n| [Neovim](nvim/)     | Primary editor — lazy.nvim, LSP, Copilot, ~30 plugins         |\n| [Tmux](tmux/)       | Terminal multiplexer — Everforest Dark Hard colors, pane sync indicator |\n| [Vim](vim/)         | Lightweight fallback editor — no plugins required             |\n\n## Prerequisites\n\n- `fish`, `nvim`, `tmux`, `ghostty` installed and on `$PATH`\n- `eza` and `fzf` for the `fcd` fuzzy directory jump in Fish\n- NixOS/Nix: the configs reference `/run/current-system/sw/bin/fish` as the default shell in both Ghostty and Tmux; adjust if not on NixOS\n\n## Installation\n\n```sh\ngit clone \u003crepo\u003e ~/.dotfiles\ncd ~/.dotfiles\nmake setup      # creates symlinks, backs up existing configs\nmake unlink     # removes all symlinks\n```\n\nEach tool is set up independently. `make setup` will back up any existing config to `*_bak` before linking.\n\n---\n\n## Fish\n\nConfig: `fish/config.fish`\nLinked to: `~/.config/fish`\n\n- **Theme**: Everforest Dark Hard color palette set directly via `fish_color_*` variables\n- **Vi-mode**: enabled via `fish_vi_key_bindings`\n- **Left prompt**: CWD with deterministic per-directory color (derived from `cksum` of the physical path), host prefix only on SSH/containers\n- **Right prompt**: virtualenv name, command duration (shown when \u003e 100 ms), git status, current time\n- **`fcd`**: fuzzy `cd` using `fzf` + `eza --tree` preview across all directories under `$HOME`\n- **Aliases**: `rm` → `trash`, `k` → `kubectl`, `kn` abbr for `kubectl config set-context --current --namespace`\n\n---\n\n## Ghostty\n\nConfig: `ghostty/config`\nLinked to: `~/.config/ghostty`\n\n- **Theme**: Everforest Dark Hard\n- **Background**: 95% opacity, blur radius 20\n- **Shell**: Fish (`/run/current-system/sw/bin/fish`)\n- **UI**: no titlebar, tabs hidden, window title set to `ghostty`\n- **Keybinds**: `Super+C` / `Super+V` for clipboard copy/paste\n\n---\n\n## Neovim\n\nConfig: `nvim/`\nLinked to: `~/.config/nvim`\n\n- **Plugin manager**: [lazy.nvim](https://github.com/folke/lazy.nvim), ~30 plugins\n- **Minimal mode**: auto-detected when `$SSH_TTY` is set — loads a reduced plugin set\n- **LSP**: configured for ~18 languages via `nvim-lspconfig`\n- **Completion**: `nvim-cmp` with LSP, buffer, path, and snippet sources\n- **AI**: Copilot Chat integration\n- **Navigation**: Harpoon for quick file marks, Telescope for fuzzy finding\n- **Notes**: Obsidian.nvim for markdown/wiki editing\n- **Colorscheme**: Everforest Dark Hard\n\n---\n\n## Tmux\n\nConfig: `tmux/dot_tmux.conf`\nLinked to: `~/.tmux.conf`\n\n- **Prefix**: `C-a` (replaces default `C-b`)\n- **Vi-mode**: copy mode uses vi keys\n- **Pane navigation**: `prefix + h/j/k/l`\n- **Pane splits**: `prefix + s` (horizontal), `prefix + v` (vertical)\n- **Window select**: `F1`–`F12` select windows 1–12 directly\n- **Sync indicator**: `prefix + y` toggles pane synchronization; active border turns red (`#e67e80`) when synced, green (`#a7c080`) when not\n- **Colors**: Everforest Dark Hard hex values throughout\n- **Status bar**: top-positioned, shows user@host and date/time on the right\n\n---\n\n## Vim\n\nConfig: `vim/dot_vimrc`\nLinked to: `~/.vimrc`\n\nNo plugin manager — works out of the box with any Vim installation.\n\n- 4-space tabs, `expandtab`\n- Relative line numbers\n- Persistent undo (`~/.vim/undo`)\n- Spell check (`en_gb`) auto-enabled for `markdown` and `text` files\n- `C-h/j/k/l` for window navigation, `Space` as leader\n- Colorscheme: `slate` (built-in)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelvnor%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelvnor%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelvnor%2Fdotfiles/lists"}