{"id":13897854,"url":"https://github.com/rofrol/dotfiles","last_synced_at":"2025-10-26T22:33:45.967Z","repository":{"id":43956197,"uuid":"189934992","full_name":"rofrol/dotfiles","owner":"rofrol","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-24T14:50:42.000Z","size":534,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T15:06:24.352Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Emacs Lisp","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/rofrol.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":"2019-06-03T04:37:01.000Z","updated_at":"2025-03-24T14:50:45.000Z","dependencies_parsed_at":"2023-01-29T21:15:42.816Z","dependency_job_id":"20831b99-05fe-41ec-b756-ef8b913bd478","html_url":"https://github.com/rofrol/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofrol%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofrol%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofrol%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofrol%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rofrol","download_url":"https://codeload.github.com/rofrol/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248761067,"owners_count":21157483,"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":[],"created_at":"2024-08-06T18:03:54.838Z","updated_at":"2025-10-26T22:33:45.961Z","avatar_url":"https://github.com/rofrol.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"Run `don` and `dof` to enable/disable git repo here.\n\nArchitecture based on \u003chttps://github.com/jan-warchol/dotfiles\u003e\n\nAnother interesting approach \u003chttps://mitxela.com/projects/dotfiles_management\u003e\n\nAfter cloning repository:\n\n```bash\n# install git on macos\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\nbrew install git\nexport PATH=\"$(brew --prefix git)/bin/:$PATH\"\n\nssh-keygen -t ed25519 -C \"your_email@example.com\"\n# add ~/.ssh/id_ed25519.pub to github.com \u003e Settings \u003e SSH and GPG keys \u003e New SSH key\n\n# general instructions for all windows, macos, linux\n# git clone \u003cyour dotfiles repo\u003e\nmv dotfiles/.git ~/.dotfiles.git\nexport DOTFILES_HOME=$HOME/.dotfiles.git\nsource dotfiles.sh\ndon\n# .gitignore is read by ripgrep and fd-find in Ubuntu WSL2 and git bash, so I need to use different file name\ngit config core.excludesFile .dotfiles.gitignore\ngit restore .\ndof\nrm -rf dotfiles\n```\n\n## misc\n\n```shell\nbrew install --cask karabiner-elements alt-tab rectangle stats\n# coreutils for ls alias\nbrew install git git-gui gh neovim ripgrep atuin fzf zsh-autosuggestions oh-my-posh zsh-git-prompt curl coreutils gnused\n```\n\n`git clone \u003cgit@github.com\u003e:rofrol/LazyVim--starter ~/.config/nvim`\n\n```\n\n`atuin login`\n\nmason in neovim needs npm:\n\n```shell\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash\nnvm install node\nnvm alias default node\n```\n\n`mkdir -p ~/.zsh \u0026\u0026 cd ~/.zsh \u0026\u0026 git clone https://github.com/zsh-users/zsh-autosuggestions`\n\n## lazygit\n\n```shell\nln -s ~/.config/lazygit/config.yml ~/Library/Application\\ Support/lazygit/config.yml\nbrew install diff-so-fancy\n```\n\n## .ignore\n\nI have added some directories like `/projects/` to `.ignore`, so that ripgrep or telescope in neovim do not search them.\n\nif you start a glob pattern with a `/`, then it will only match that specific path relative to where ripgrep is running\n\n\u003chttps://stackoverflow.com/questions/64373137/ripgrep-to-only-exclude-a-file-in-the-root-of-the-folder/64389725#64389725\u003e\n\n## Neovim config\n\n`cd ~/.config \u0026\u0026 git clone git@github.com:rofrol/kickstart.nvim.git nvim`\n\n## Ubuntu packages\n\n```bash\nsudo apt-add-repository ppa:git-core/ppa\nsudo apt install -y build-essential gitk curl tig fzf libssl-dev\n```\n\n## Rust\n\nInstall Rust from rustup.rs/\n\nOn Ubuntu you need `sudo apt install -y build-essential`. On Windows `npm i -g windows-build-tools`.\n\n```\ncargo install ripgrep fd-find tokei cargo-watch cargo-edit watchexec\n```\n\n### git\n\n```bash\nsudo add-apt-repository ppa:git-core/ppa\napt install git\n```\n\n\u003chttps://git-scm.com/download/linux\u003e\n\n### fzf\n\nInstall using git \u003chttps://github.com/junegunn/fzf#using-git\u003e. Version from deb was to old for nvim integration script (0.20 vs 0.24).\n\n## scoop\n\nScoop is a Windows package manager.\n\n```cmd.exe\nscoop bucket add extras\nscoop bucket add games\nbin\\scoop-install.bat\nscoop update *\nscoop list\nscoop cleanup *\nscoop cache rm *\n```\n\n```bash\n# in bash need to escape *\nscoop update \\*\n```\n\n- \u003chttps://github.com/lukesampson/scoop#installation\u003e\n- \u003chttps://github.com/lukesampson/scoop/issues/897#issuecomment-391909564\u003e\n- \u003chttps://github.com/ScoopInstaller/Main/tree/master/bucket\u003e\n- \u003chttps://github.com/lukesampson/scoop-extras/tree/master/bucket\u003e\n- \u003chttps://github.com/lukesampson/scoop/wiki/Open-With-Icons\u003e\n- \u003chttps://rasa.github.io/scoop-directory/by-stars\u003e\n\nShortcuts in `%USERPROFILE%\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Scoop Apps`\n\n### scoop does not install newest version\n\n```\n$ cd ~/scoop/buckets/main/\n$ git status\n# it showed that `bucket/proxychains.json` has local modifications but I could not get rid of them with `git checkout -f`\n$ git fetch\n$ git reset --hard origin/master\n```\n\n- \u003chttps://gist.github.com/573/e806447bf55a09376cf457a8a403ec44\u003e\n  - \u003chttps://github.com/lukesampson/scoop/issues/3045#issuecomment-493345130\u003e\n\n### mpv\n\nmpv from scoop does not read `%APPDATA%\\mpv`. Portable one reads it.\n\nCreate env MPV_HOME\n\n```\nsetx MPV_HOME %USERPROFILE\\.confing\\mpv\n```\n\n\u003chttps://github.com/mpv-player/mpv/blob/master/DOCS/man/mpv.rst#files-on-windows\u003e\n\n#### simple-mpv-webui\n\n```bash\nbash bin/mpv-lua-setup.sh\n```\n\nrun `bin/mpv-setup.bat` as Administrator.\n\n#### Playlist script\n\n```bash\ncurl --create-dirs -so ~/scoop/apps/mpv/current/lua/json.lua https://raw.githubusercontent.com/craigmj/json4lua/master/json/json.lua\n```\n\n- \u003chttps://github.com/57op/simple-mpv-webui-windows-libs/issues/2\u003e\n\n#### Thumbnails\n\nMaybe add thumbnails with icaros \u003chttps://www.majorgeeks.com/files/details/icaros.html\u003e ?\n\n### wezterm\n\nFor wezterm use this `%USERPROFILE%\\scoop\\apps\\wezterm\\current\\wezterm-gui.exe` instead of wezterm.exe. Othwerwise there will be problems.\n\nInstall UbuntuMono-R.ttf from \u003chttps://design.ubuntu.com/font/\u003e\n\n### calibre\n\nInstal calibre-normal instead of calibre. For calibre (which is portable version) there is problem.\n\nLong paths needs to be enabled or it asks where to install. Otherwise scoop cannot create shim.\n\n- \u003chttps://github.com/lukesampson/scoop-extras/issues/1765#issuecomment-471170974\u003e\n- \u003chttps://github.com/lukesampson/scoop-extras/issues/2535\u003e\n\n### vcredist2015\n\n```\nbreoffice-stable' (7.0.1) was installed successfully!\n'libreoffice-stable' suggests installing 'extras/vcredist2015'.\n$ scoop install vcredist2015\nInstalling 'vcredist2015' (14.0.24215) [64bit]\nvc_redist.x64.exe (14,6 MB) [=================================================================================================================] 100%\nChecking hash of vc_redist.x64.exe ... ok.\nvc_redist.x86.exe (13,8 MB) [=================================================================================================================] 100%\nChecking hash of vc_redist.x86.exe ... ok.\nLinking ~\\scoop\\apps\\vcredist2015\\current =\u003e ~\\scoop\\apps\\vcredist2015\\14.0.24215\nRunning post-install script...\nERROR Exit code was 1638!\nERROR Exit code was 1638!\n'vcredist2015' (14.0.24215) was installed successfully!\nNotes\n-----\nYou can now remove this installer with 'scoop uninstall vcredist2015'\n```\n\n### authotkey\n\nThere are two versions:\n\n- \u003chttps://github.com/lukesampson/scoop-extras/blob/master/bucket/autohotkey.json\u003e\n- \u003chttps://github.com/lukesampson/scoop-extras/blob/master/bucket/autohotkey-installer.json\u003e\n\n### vscode and git bash\n\n```\n    \"terminal.integrated.shell.windows\": \"${env:USERPROFILE}\\\\scoop\\\\apps\\\\git\\\\current\\\\bin\\\\bash.exe\"\n```\n\n### Inverse mouse scroll with x mouse button control\n\nAdd shortcut to `%USERPROFILE%\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup`\n\n## Map capslock to escape\n\n`sudo sh ~/bin/maps_capslock_to_escape.sh`\n\n## Firefox\n\n`ln -s ~/.mozilla/firefox/shared/chrome ~/.mozilla/firefox/your_profile/`\n\non Windows run cmd.exe as Administrator and:\n\n`mklink /d C:\\Users\\user\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\your-profile\\chrome C:\\Users\\user\\.mozilla\\firefox\\shared\\chrome`\n\nIn Firefox run `about:config` and set\n\n`toolkit.legacyUserProfileCustomizations.stylesheets` to `true`\n\n- \u003chttps://www.userchrome.org/how-create-userchrome-css.html\u003e\n\n## tmux\n\n`git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm`\n\n## rust\n\nInstall from \u003chttps://rustup.rs/\u003e\n\n### error: linking with `link.exe` failed: exit code: 3221225781\n\n# 42744\n\nStart PowerShell as Administrator and run:\n\n`npm install --global windows-build-tools`\n\n- \u003chttps://github.com/rust-lang/rust/issues/42744#issuecomment-309387002\u003e\n- \u003chttps://github.com/felixrieseberg/windows-build-tools\u003e\n\n### Packages\n\n`cargo install ripgrep fd-find tokei cargo-edit`\n\n## Emacs\n\nOn Windows10 you need to set user env `HOME` pointing `%USERPROFILE%` for emacs to read `~/.config/emacs/init.el`. Otherwise it will read from `~/AppData/Roaming/.emacs.d`.\n\n## macos and nushell\n\n`ln -s ~/.config/nushell ~/Library/Application\\ Support/`\n\n- \u003chttps://github.com/nushell/nushell/issues/10746\u003e\n- \u003chttps://github.com/nushell/nushell/issues/893\u003e\n- my answer \u003chttps://superuser.com/questions/1804643/how-do-i-change-the-default-location-for-nushell-configration-files/1827175#1827175\u003e\n\nin iterm2 set `Preferences \u003e Profiles \u003e General \u003e Command \u003e Command` to `/opt/homebrew/bin/nu`\n\n`brew install nushell starship`\n\n```shell\nmkdir ~/.cache/starship\nstarship init nu | save -f ~/.cache/starship/init.nu\n```\n\n## lazygit and macos\n\n`ln -s ~/.config/lazygit ~/Library/Application\\ Support/`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofrol%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frofrol%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofrol%2Fdotfiles/lists"}