{"id":21162849,"url":"https://github.com/ferdinandyb/dotfiles","last_synced_at":"2025-07-09T15:34:51.331Z","repository":{"id":41509415,"uuid":"440292501","full_name":"ferdinandyb/dotfiles","owner":"ferdinandyb","description":".files","archived":false,"fork":false,"pushed_at":"2025-06-05T10:17:10.000Z","size":1242,"stargazers_count":18,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-05T11:27:47.653Z","etag":null,"topics":["aerc","dotfiles","dotfiles-linux","notmuch","termux","tmux","vimrc","yadm","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/ferdinandyb.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,"zenodo":null}},"created_at":"2021-12-20T20:01:53.000Z","updated_at":"2025-06-05T10:17:12.000Z","dependencies_parsed_at":"2023-10-12T19:33:03.771Z","dependency_job_id":"60b33bc2-dcd7-4bf4-8224-1d078d1b9a95","html_url":"https://github.com/ferdinandyb/dotfiles","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ferdinandyb/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferdinandyb%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferdinandyb%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferdinandyb%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferdinandyb%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ferdinandyb","download_url":"https://codeload.github.com/ferdinandyb/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferdinandyb%2Fdotfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264486391,"owners_count":23616038,"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":["aerc","dotfiles","dotfiles-linux","notmuch","termux","tmux","vimrc","yadm","zsh"],"created_at":"2024-11-20T13:34:29.660Z","updated_at":"2025-07-09T15:34:51.236Z","avatar_url":"https://github.com/ferdinandyb.png","language":"Shell","funding_links":[],"categories":["Dotfiles"],"sub_categories":["Swift"],"readme":"# .files\n\nMy dotfiles and explanations/documentation for myself.\n\n## dotfile management\n\nI use [yadm](https://github.com/TheLocehiliosan/yadm) because it is essentially a bare git repo, with some nice additional features.\n\n\n## getting started\n\nRequirements (just approximate):\n- git \u003e= 2.34.1\n- zsh \u003e= 5.1\n- vim \u003e= 8.2 (much newer for everything)\n\n### minimal quickstart\n\n```\nbash \u003c(curl -sS https://raw.githubusercontent.com/ferdinandyb/dotfiles/master/.config/yadm/minimalbootstrap)\n```\n\n### manual\nInstall yadm:\n```\ncurl -fLo ~/.local/bin/yadm https://github.com/TheLocehiliosan/yadm/raw/master/yadm \u0026\u0026 chmod a+x ~/.local/bin/yadm\n```\n\nClone the repo:\n```\nyadm clone https://github.com/ferdinandyb/dotfiles.git\n```\n\nOr if you have a key on the machine:\n```\nyadm clone git@github.com:ferdinandyb/dotfiles.git\n```\n\n### sparse-checkout and alternates\n\nWay to set the classes (currently all alternates are based on this):\n\n```\nyadm config --add local.class imap\n```\n\nCurrent existing classes:\n - imap: set aerc to use imap instead of maildir\n - minimal: sparse-checkout\n - org: sparse-checkout\n\nTo use sparse-checkout after cloning set the appropriate classes then run:\n\n```\nyadm sparse-checkout reapply\n```\n\nSee [sparse-checkout template](https://github.com/ferdinandyb/dotfiles/blob/master/.local/share/yadm/repo.git/info/sparse-checkout%23%23template).\n\n## usage\n\nThe below function sets up vim so that fugitive works properly with yadm and my\nediting history is preserved.\n\n```sh\nfunction confed(){\n  env GIT_DIR=$HOME/.local/share/yadm/repo.git GIT_WORK_TREE=$HOME \\\n  vim -c \"cd ~\" \\\n      -c \"let g:rooter_change_directory_for_non_project_files = 'home'\" \\\n      -c \"silent AutoSaveToggle\" \\\n      -S ~/.local/share/yadm/Session.vim\n}\n```\n\nAnd the below vim setup allows for fzf search among my dotfiles.\n\n```vim\ncommand! -bang -nargs=? -complete=dir FYadm\n            \\ call fzf#run(fzf#wrap('yadm',\n            \\ fzf#vim#with_preview(\n            \\ { 'dir': \u003cq-args\u003e,\n            \\ 'source': 'yadm list -a' }), \u003cbang\u003e0))\n\nnmap \u003cleader\u003ey :FYadm!\u003cCR\u003e\n```\n\n\n## Desktop\n\nI currently run [CachyOS](https://cachyos.org/) with i3, which is mostly a port\nof my old [Regolith 3](https://regolith-desktop.com/) config (a complete port\nof Regolith 3 to CachyOS later down the line is not out of question).\n\n\n## Terminal stuff\n\n- [contour](https://contour-terminal.org/) (but mostly `wezterm` on WSL)\n- `zsh`: took a long time to switch from bash, but the fast `powerlevel10k` prompt (vs `starship.rs` which lagged) was the final nail in the coffin, although I still have bash set up with `ble.sh`, which is pretty great (probably a bit better than what zsh provides through the vim-mode and syntax highlight plugins)\n- `tmux`\n- `fzf`, `fd-find`, `ripgrep`, and [ugrep](https://github.com/Genivia/ugrep) wherever they make sense\n- `zoxide` for navigation or sometimes `yazi`\n\n\n### airline themes for tmux\n\nIf you change the airline theme in vim, to have matching themes in tmux, open\nvim inside a tmux session and execute:\n```\n:Tmuxline airline full\n:TmuxlineSnapshot ~/.tmux/tmuxline_theme.sh\n```\n\n## Email\n\nI wrote a [tutorial](https://bence.ferdinandy.com/2023/07/20/email-in-the-terminal-a-complete-guide-to-the-unix-way-of-email/) which basically covers my setup.\n\nDeduplication of emails:\n\n```\nfor i in {2007..2022}; do mdedup $i -i maildir -s discard-all-but-one -a delete-discarded; done\n```\n\n## WSL\n\nSee [here](.config/wsl/README.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferdinandyb%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fferdinandyb%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferdinandyb%2Fdotfiles/lists"}