{"id":15547705,"url":"https://github.com/lucaangioloni/.dotfiles","last_synced_at":"2025-04-23T18:24:27.629Z","repository":{"id":45852011,"uuid":"420678521","full_name":"LucaAngioloni/.dotfiles","owner":"LucaAngioloni","description":"My dotfiles","archived":false,"fork":false,"pushed_at":"2025-03-02T15:17:53.000Z","size":314,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T02:22:16.627Z","etag":null,"topics":["bash","dotfiles","shell","terminal","theme","tmux-conf","zsh"],"latest_commit_sha":null,"homepage":"","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/LucaAngioloni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-10-24T12:30:25.000Z","updated_at":"2025-03-02T15:17:56.000Z","dependencies_parsed_at":"2024-03-06T13:29:31.863Z","dependency_job_id":"5017e661-04fd-4cae-bd80-c94095342a35","html_url":"https://github.com/LucaAngioloni/.dotfiles","commit_stats":{"total_commits":133,"total_committers":1,"mean_commits":133.0,"dds":0.0,"last_synced_commit":"93e206eeea42e52fa58183a1308bd1cf4dd2b9a9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaAngioloni%2F.dotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaAngioloni%2F.dotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaAngioloni%2F.dotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaAngioloni%2F.dotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LucaAngioloni","download_url":"https://codeload.github.com/LucaAngioloni/.dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250488563,"owners_count":21438807,"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":["bash","dotfiles","shell","terminal","theme","tmux-conf","zsh"],"created_at":"2024-10-02T13:10:10.037Z","updated_at":"2025-04-23T18:24:27.609Z","avatar_url":"https://github.com/LucaAngioloni.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# .dotfiles\n\nMy configuration, with installation steps.\n\n## Dependencies\n\nTheese dotfiles only work on Unix systems.\n\nYou need to have **zsh** installed!\n\n## Installation\n\n**Important: You need to have zsh installed!**\n\nInstall using the [install script](install.sh):\n\n```bash\nzsh -c \"$(curl -fsSL https://raw.githubusercontent.com/LucaAngioloni/.dotfiles/main/install.sh)\"\n```\n\nThis will install all the dependencies, _tools_ and _dotfiles_.\n\nNote: the script will ask for your password to install some dependencies.\n\nNote: still experimental!\n\n## Sync\n\nUse git to push and pull.\n\nIf the changes are on the existing files they should be applied immediately, otherwise if you add new \"folders\" or files, redo the Stow process.\n\n### Use sup (Shell UPdate)\n\nUse the `sup` command in the terminal to update the dotfiles and update all the dependencies and tools installed above.\n\n## Manual installation\n\n### Brew\n\nOn a Mac, install brew:\n\n```bash\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\n\n### Git\n\n#### OSX\n\n```bash\nbrew install git\n```\n\n#### Debian\n\n```bash\nsudo apt-get install git\n```\n\n### Oh My ZSH\n\nInstall with this command:\n\n```bash\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\"\n```\n\nSet ZSH as default shell\n\n### ZSH Theme\n\nTo select which theme to use change `ZSH_THEME` in `shell/.shellconfig/oh-my-zsh`.\nYou can just install the one you need.\n\nMy current favourite is: **Powelevel10k**\n\n#### Powelevel10k\n\nClone this repo:\n\n```bash\ngit clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k\n```\n\n#### Spaceship\n\nClone this repo:\n\n```bash\ngit clone https://github.com/spaceship-prompt/spaceship-prompt.git \"$ZSH_CUSTOM/themes/spaceship-prompt\" --depth=1\n```\n\nSymlink `spaceship.zsh-theme` to your oh-my-zsh custom themes directory:\n\n```bash\nln -s \"$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme\" \"$ZSH_CUSTOM/themes/spaceship.zsh-theme\"\n```\n\n#### Starship\n\nInstall Starship:\n\n```bash\n# MacOS\nbrew install starship\n\n# Debian\ncurl -sS https://starship.rs/install.sh | sh\n# Run this command again to update\n```\n\n### ZSH plugins\n\nInstall zsh-completions:\n\n```bash\ngit clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions\n```\n\nInstall zsh-autosuggestions:\n\n```bash\ngit clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions\n```\n\n\u003c!-- Install zsh-syntax-highlighting:\n\n```bash\ngit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting\n``` --\u003e\n\nInstall fast-syntax-highlighting:\n\n```bash\ngit clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git \\\n  ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting\n```\n\nChoose a theme with `fast-theme {theme-name}`.\n\nList all themes with `fast-theme -l`.\n\nRun `fast-theme -t {theme-name}` option to obtain a snippet.\n\nI use `default` but I am not super happy with it.\n\n### Tmux\n\n#### OSX\n\n```bash\nbrew install tmux\n```\n\n#### Debian\n\n```bash\nsudo apt-get install tmux\n```\n\n### Ruby (mainly for colorls)\n\n#### OSX\n\n```bash\nbrew install ruby\n```\n\n#### Debian\n\n```bash\nsudo snap install ruby --classic\n```\n\n### Color LS\n\nRequires ruby.\n\nInstall gem:\n\n```bash\ngem install colorls\n```\n\n### LSD\n\n#### OSX\n\n```bash\nbrew install lsd\n```\n\n#### Debian\n\n```bash\nsudo apt-get install lsd\n```\n\n### The Fuck\n\n#### OSX\n\n```bash\nbrew install thefuck\n```\n\n#### Debian\n\nRequires Python.\n\n```bash\npip3 install thefuck --user\n```\n\n### fd\n\n#### OSX\n\n```bash\nbrew install fd\n```\n\n#### Debian\n\n```bash\nsudo apt install fd-find\n\n# If fd is not available in PATH (because it is called fdfind)\nln -s $(which fdfind) ~/.local/bin/fd\n```\n\nor refer to the [documentation](https://github.com/sharkdp/fd#installation)\n\n### Tree\n\n#### OSX\n\n```bash\nbrew install tree\n```\n\n#### Debian\n\n```bash\nsudo apt-get install tree\n```\n\n### Bat\n\n#### OSX\n\n```bash\nbrew install bat\n```\n\n#### Debian\n\n```bash\nsudo apt-get install bat\n\n# If bat is not available and it is instead batcat\nmkdir -p ~/.local/bin\nln -s /usr/bin/batcat ~/.local/bin/bat\n```\n\nor refer to the [documentation](https://github.com/sharkdp/bat#installation)\n\n### FZF\n\n#### OSX\n\n```bash\nbrew install fzf\n\n# To install useful key bindings and fuzzy completion (run once):\n$(brew --prefix)/opt/fzf/install\n```\n\n##### Uninstall\n\n```bash\n$(brew --prefix)/opt/fzf/uninstall\n\nbrew uninstall fzf\n```\n\n#### Debian\n\n```bash\nsudo apt-get install fzf\n```\n\nAdd `~/.fzf.zsh` with this:\n\n```bash\n# Auto-completion\n# ---------------\nsource /usr/share/doc/fzf/examples/completion.zsh\n\n# Key bindings\n# ------------\nsource /usr/share/doc/fzf/examples/key-bindings.zsh\n```\n\n### Direnv\n\n#### OSX\n\n```bash\nbrew install direnv\n```\n\n##### Uninstall\n\n```bash\nbrew uninstall direnv\n```\n\n#### Debian\n\n```bash\nsudo apt-get install direnv\n```\n\n### Catimg\n\n#### OSX\n\n```bash\nbrew install catimg\n```\n\n#### Debian\n\n```bash\nsudo apt-get install catimg\n```\n\n### Ripgrep\n\n#### OSX\n\n```bash\nbrew install ripgrep\n```\n\n#### Debian\n\n```bash\nsudo apt-get install ripgrep\n```\n\n### Neovim\n\n#### OSX\n\n```bash\nbrew install neovim\n```\n\n#### Debian\n\n```bash\nsudo snap install nvim --classic\n```\n\n### NVChad\n\n```bash\ngit clone https://github.com/NvChad/starter ~/.config/nvim \u0026\u0026 nvim\n```\n\n- Run `:MasonInstallAll` command after lazy.nvim finishes downloading plugins.\n- Delete the `.git` folder from nvim folder `~/.config/nvim`.\n- Learn customization of ui \u0026 base46 from `:h nvui`.\n\n### DUF\n\n#### OSX\n\n```bash\nbrew install duf\n```\n\n#### Debian\n\n```bash\nsudo apt-get install duf\n```\n\n### Stow\n\nInstall [GNU stow](http://www.gnu.org/software/stow/).\n\n#### Debian\n\n```bash\nsudo apt-get install stow\n```\n\n#### OSX\n\n```bash\nbrew install stow\n```\n\n### Install dotfiles in your system\n\nTo install the dotfiles, first backup and remove all the dotfiles already there (otherwise stow will not work), then:\n\n```bash\nstow -R */\n```\n\n## Font\n\nUse a NERD font. I use [Fura Code](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/FiraCode)\n\nN.B. The font must be installed in the system and it is needed to show icons and advanced graphics.\n\n## iTerm 2\n\nOn Mac use iTerm2. Themes and configurations are in the `term` folder.\n\nIn iTerm2 go to _Preferences_ and then _General_ and click on _Load preferences from a custom folder or URL_ and select the `com.googlecode.iterm2.plist` file.\n\n### Speedup\n\nInstalling **git** with brew instead of using the **Apple git** seems to speed things a little.\n\nAlso accepting the terms of the xcodebuild licence seems to help: `sudo xcodebuild -license accept`.\n\nTo make startup faster set in the _General_ tab of _Profile_ in _Command_:\n\n**Command**: `/usr/local/bin/zsh -i`\n\nThis should completely skip the login phase.\n\n#### Old config\n\nTo make startup faster set in the _General_ tab of _Profile_ in _Command_:\n\n**Command**: `login -fq lucaangioloni /usr/local/bin/zsh -il`\n\nThis serves 2 purposes:\n\n- Start zsh in **interactive** and **login** mode with `-il`.\n- Do not show last login information with `-q` (same effect as `.hushlogin` but it seems faster because it does not even go to search the logs to find the last login event. (? check this info)).\n\n## Optional tools\n\n### Brew formulae\n\nInstall using `brew bundle install` while in the root directory of this repo where the `Brewfile` is.\n\n#### To create / update the Brewfile\n\n```bash\nbrew bundle dump\n```\n\n### Notable Python packages\n\n```bash\npip install \\\nautopep8 \\\nblack \\\ncookiecutter \\\nflake8 \\\nget-files-list \\\nhttpie \\\nipython \\\njupyterlab \\\nmatplotlib \\\nnumpy \\\nopencv-python \\\npandas \\\nPillow \\\npip-tools \\\npyinstaller \\\nrequests \\\nrich \\\nscikit-learn \\\nscipy \\\ntqdm \\\nvirtualenv\n```\n\n### Notable NPM packages\n\n```bash\nnpm install -g \\\nshare-cli \\\ntrash-cli \\\ntldr \\\nfirebase-tools \\\nyarn \\\nprettier \\\neslint \\\njsdoc \\\nbrowser-sync \\\nnpm-check-updates \\\nspeed-test \\\nhttp-server-with-auth\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucaangioloni%2F.dotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucaangioloni%2F.dotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucaangioloni%2F.dotfiles/lists"}