{"id":21332484,"url":"https://github.com/mdeff/dotfiles","last_synced_at":"2025-10-25T20:10:10.847Z","repository":{"id":95298266,"uuid":"178057738","full_name":"mdeff/dotfiles","owner":"mdeff","description":"my dotfiles","archived":false,"fork":false,"pushed_at":"2025-03-13T13:43:15.000Z","size":1671,"stargazers_count":9,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T18:08:51.636Z","etag":null,"topics":["dotfiles","fish","fish-shell","i3wm","mpd","ncmpcpp","neovim","neovim-config","neovim-dotfiles","ranger","sway-config","swaywm","tmux","tmux-conf","vim","vimrc","xkb-keyboard-layout"],"latest_commit_sha":null,"homepage":"https://deff.ch","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdeff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2019-03-27T19:03:16.000Z","updated_at":"2025-03-13T13:43:20.000Z","dependencies_parsed_at":"2024-05-28T12:28:17.659Z","dependency_job_id":"2545ee33-89f9-4871-85d6-8980e98fd3c2","html_url":"https://github.com/mdeff/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mdeff/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdeff%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdeff%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdeff%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdeff%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdeff","download_url":"https://codeload.github.com/mdeff/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdeff%2Fdotfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265692648,"owners_count":23812204,"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","fish","fish-shell","i3wm","mpd","ncmpcpp","neovim","neovim-config","neovim-dotfiles","ranger","sway-config","swaywm","tmux","tmux-conf","vim","vimrc","xkb-keyboard-layout"],"created_at":"2024-11-21T22:51:34.538Z","updated_at":"2025-10-25T20:10:10.759Z","avatar_url":"https://github.com/mdeff.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mdeff's dotfiles\n\nIn general, I try to unify the look ([Solarized] color theme, [Inconsolata] font) and feel ([Vim] key bindings) of my applications.\n\n[solarized]: https://ethanschoonover.com/solarized\n[inconsolata]: https://www.levien.com/type/myfonts/inconsolata.html\n[vim]: https://www.vim.org\n\n## [Neovim], text editor\n\n[neovim]: https://neovim.io\n\n[`.config/nvim/init.vim`](.config/nvim/init.vim)\n\n* [vim-plug](https://github.com/junegunn/vim-plug), plugin manager\n* [sensible.vim](https://github.com/tpope/vim-sensible), sensible defaults\n* [altercation/vim-colors-solarized](https://github.com/altercation/vim-colors-solarized), [solarized] color scheme\n* [vim-airline](https://github.com/vim-airline/vim-airline), status bar\n* [vim-airline-themes](https://github.com/vim-airline/vim-airline-themes), status bar\n* [VimDevIcons](https://github.com/ryanoasis/vim-devicons), file type glyphs / icons\n* [fugitive.vim](https://github.com/tpope/vim-fugitive), [git] wrapper\n* [vim-gitgutter](https://github.com/airblade/vim-gitgutter), git diff in sign column\n* [ranger.vim](https://github.com/rafaqz/ranger.vim), browse files with [ranger]\n* [grepper](https://github.com/mhinz/vim-grepper), asynchronous search (using [ripgrep](https://github.com/BurntSushi/ripgrep))\n* [supertab](https://github.com/ervandew/supertab), tab for completion\n* [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe), code completion\n* [Asynchronous Lint Engine](https://github.com/dense-analysis/ale), linting (checking syntax and semantics)\n* [vim-autoformat](https://github.com/Chiel92/vim-autoformat), code formating\n* [vim-isort](https://github.com/fisadev/vim-isort), sort python imports using [isort](https://github.com/timothycrosley/isort)\n* [vim-pandoc](https://github.com/vim-pandoc/vim-pandoc), integration with [pandoc](http://johnmacfarlane.net/pandoc) document converter\n* [vim-pandoc-syntax](https://github.com/vim-pandoc/vim-pandoc-syntax), syntax highlighting for vim-pandoc\n* [vimtex](https://github.com/lervag/vimtex), support for writing [LaTeX] documents\n* [commentary.vim](https://github.com/tpope/vim-commentary), comment and uncomment\n* [surround.vim](https://github.com/tpope/vim-surround), delete / change / add surroundings (parentheses, brackets, quotes, XML tag)\n* [sneak.vim](https://github.com/justinmk/vim-sneak), jump to any location specified by two characters\n* [unicode.vim](https://github.com/chrisbra/unicode.vim), a Vim plugin for handling unicode and digraphs characters\n* [vim-ghost](https://github.com/raghur/vim-ghost), edit text areas from Firefox\n* [startify](https://github.com/mhinz/vim-startify), start screen\n\n## [Ranger], console file manager\n\n[ranger]: https://ranger.github.io\n\n* [`.config/ranger/rc.conf`](.config/ranger/rc.conf), general configuration\n* [`.config/ranger/commands.py`](.config/ranger/commands.py), custom commands\n* [`.config/ranger/rifle.conf`](.config/ranger/rifle.conf), file opener configuration\n\n## [Fish], interactive shell\n\n[fish]: https://fishshell.com\n\n[`.config/fish/config.fish`](.config/fish/config.fish)\n\n## [Sway], [Wayland] tiling windows manager\n\n[sway]: https://swaywm.org\n[wayland]: https://wayland.freedesktop.org\n\n* [`.config/sway/config`](.config/sway/config)\n* [`.config/swaylock/config`](.config/swaylock/config)\n* [`.config/i3status/config`](.config/i3status/config)\n\n## [i3], [X11] tiling windows manager\n\n[i3]: https://i3wm.org\n[X11]: https://www.x.org\n\n* [`.config/i3/config`](.config/i3/config)\n* [`.config/i3status/config`](.config/i3status/config)\n* [`.xinitrc`](.xinitrc)\n\nReplaced by Sway.\nKept around because Sway [cannot duplicate monitors yet](https://github.com/swaywm/sway/issues/1666).\n\n## [Zathura], document viewer\n\n[zathura]: https://pwmt.org/projects/zathura\n[latex]: https://www.latex-project.org\n[synctex]: https://github.com/jlaurens/synctex\n\n[`.config/zathura/zathurarc`](.config/zathura/zathurarc)\n\nGreat to visualize the PDF while editing the [LaTeX] source with [Neovim].\nSupports [SyncTeX] in both directions.\n\n## [imv], image viewer\n\n[sxiv]: https://github.com/eXeC64/imv\n\n* [`.config/sxiv/exec/key-handler`](.config/img/config)\n\n## [sxiv], image viewer\n\n[sxiv]: https://github.com/muennich/sxiv\n\n* [`.config/sxiv/exec/key-handler`](.config/sxiv/exec/key-handler)\n* [`.config/sxiv/exec/image-info`](.config/sxiv/exec/image-info)\n\n## [Git], distributed version control\n\n[git]: https://git-scm.com\n\n* [`.config/git/config`](.config/git/config)\n* [`.config/git/attributes`](.config/git/attributes)\n\n## [Tmux], terminal multiplexer\n\n[tmux]: https://github.com/tmux/tmux\n\n[`.tmux.conf`](.tmux.conf)\n\n## [Conda], package and environment manager\n\n[conda]: https://conda.io\n\n[`.condarc`](.condarc)\n\n## [Jupyter], interactive computing\n\n[jupyter]: https://jupyter.org\n\n* [`.jupyter/jupyter_notebook_config.py`](.jupyter/jupyter_notebook_config.py)\n* [`.ipython/profile_default/ipython_config.py`](.ipython/profile_default/ipython_config.py)\n\n## [R], statistical computing\n\n[R]: https://www.r-project.org\n\n* [`.Renviron`](.Renviron)\n* [`.Rprofile`](.Rprofile)\n\n## Multimedia: [mpd], [ncmpcpp], [mpv]\n\n[mpd]: https://www.musicpd.org\n[ncmpcpp]: https://rybczak.net/ncmpcpp\n[mpv]: https://mpv.io\n\n* [`.config/mpd/mpd.conf`](.config/mpd/mpd.conf)\n* [`.config/ncmpcpp/bindings`](.config/ncmpcpp/bindings)\n* [`.config/ncmpcpp/config`](.config/ncmpcpp/config)\n* [`.config/mpv/mpv.conf`](.config/mpv/mpv.conf)\n* [`.config/mpv/input.conf`](.config/mpv/input.conf)\n\n## [Syncthing], decentralized file synchronization\n\n[syncthing]: https://syncthing.net\n\n[`.config/syncthing/config.xml`](.config/syncthing/config.xml)\n\n## [ssh], secure remote access\n\n[ssh]: https://www.openssh.com\n\n* [`.ssh/config`](.ssh/config)\n* [`.ssh/id_*.pub`](.ssh/)\n* [`.ssh/known_hosts`](.ssh/known_hosts)\n\n## [systemd], system and service manager\n\n[systemd]: https://freedesktop.org/wiki/Software/systemd\n\n* [`.config/systemd/user/ssh-agent.service`](.config/systemd/user/ssh-agent.service)\n* [`.config/systemd/user/dropbox.service.d/override.conf`](.config/systemd/user/dropbox.service.d/override.conf)\n* [`.config/systemd/user/default.target.wants/`](.config/systemd/user/default.target.wants/)\n* [`.config/systemd/user/sockets.target.wants/`](.config/systemd/user/sockets.target.wants/)\n\n## User binaries\n\n* [`.local/bin/android-control`](.local/bin/android-control)\n* [`.local/bin/aur`](.local/bin/aur)\n* [`.local/bin/aur-clean`](.local/bin/aur-clean)\n* [`.local/bin/aur-regenerate`](.local/bin/aur-regenerate)\n* [`.local/bin/backup`](.local/bin/backup)\n* [`.local/bin/brightness`](.local/bin/brightness)\n* [`.local/bin/convert-all`](.local/bin/convert-all)\n* [`.local/bin/gvim`](.local/bin/gvim)\n* [`.local/bin/jupyter-kernelspec-update`](.local/bin/jupyter-kernelspec-update)\n* [`.local/bin/pactl-move`](.local/bin/pactl-move)\n* [`.local/bin/pdf`](.local/bin/pdf)\n* [`.local/bin/pdf2cmyk`](.local/bin/pdf2cmyk)\n* [`.local/bin/ssh-add`](.local/bin/ssh-add)\n* [`.local/bin/startw`](.local/bin/startw)\n* [`.local/bin/tunnels`](.local/bin/tunnels)\n* [`.local/bin/vi`](.local/bin/vi)\n* [`.local/bin/vim`](.local/bin/vim)\n\n## Keyboard\n\n* [`.xkb/symbols/custom`](.xkb/symbols/custom), custom keyboard layout\n* [`.config/karabiner/karabiner.json`](.config/karabiner/karabiner.json), keyboard customization for macOS\n\n## Miscellaneous\n\n[urxvt]: http://software.schmorp.de/pkg/rxvt-unicode.html\n\n* [`.Xresources`](.Xresources), picked up by [urxvt] and [sxiv]\n* [`.profile`](.profile), environment variables\n* [`.config/user-dirs.dirs`](.config/user-dirs.dirs), XDG default directories\n* [`.latexmkrc`](.latexmkrc)\n* [`.mozilla/firefox/profiles.ini`](.mozilla/firefox/profiles.ini)\n* [`.thunderbird/profiles.ini`](.mozilla/firefox/profiles.ini)\n\n## Todo\n\nMoving to Wayland:\n* change sxiv to [imv]?\n* change urxvt to [termite] or [alacritty]?\n\n[imv]: https://github.com/eXeC64/imv\n[termite]: https://github.com/thestinger/termite\n[alacritty]: https://github.com/jwilm/alacritty\n\n## Setup\n\n```shell\ngit clone git@github.com:mdeff/dotfiles.git\ngit config --local include.path ../.gitconfig_dotfiles\nchmod g-w,o-w .ssh/config  # might be needed depending on the umask\n```\n\nSet `mpd` password in mpd, ncmpcpp, sway, and i3.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdeff%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdeff%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdeff%2Fdotfiles/lists"}