{"id":14069708,"url":"https://github.com/algono/dotfiles","last_synced_at":"2025-07-30T06:32:27.037Z","repository":{"id":102363046,"uuid":"307143696","full_name":"algono/dotfiles","owner":"algono","description":"My dotfiles, originally designed for Ubuntu (WSL 2)","archived":false,"fork":false,"pushed_at":"2025-01-11T18:05:38.000Z","size":121,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T19:22:25.157Z","etag":null,"topics":["autojump","bash","dotfiles","exa","gnu-stow","neofetch","powerlevel10k","powerline-go","shell","stow","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/algono.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}},"created_at":"2020-10-25T16:39:47.000Z","updated_at":"2025-01-11T18:05:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"fe5f64fb-6adb-4816-808c-94677d9e214b","html_url":"https://github.com/algono/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/algono/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algono%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algono%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algono%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algono%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/algono","download_url":"https://codeload.github.com/algono/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algono%2Fdotfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267822660,"owners_count":24149663,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["autojump","bash","dotfiles","exa","gnu-stow","neofetch","powerlevel10k","powerline-go","shell","stow","zsh"],"created_at":"2024-08-13T07:07:09.510Z","updated_at":"2025-07-30T06:32:27.016Z","avatar_url":"https://github.com/algono.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Dotfiles\n\n## Table of contents\n- [Dependencies](#dependencies)\n  - [System Packages](#system-packages)\n    - [Ubuntu](#ubuntu)\n    - [Arch](#arch)\n  - [Git Repositories](#git-repositories)\n  - [Other Packages](#other-packages)\n    - [Cargo](#cargo)\n    - [Go](#go)\n  - [Installation Script](#installation-script)\n    - [Ubuntu](#ubuntu-1)\n    - [Arch](#arch-1)\n  - [Change shell to ZSH (Optional)](#change-shell-to-zsh-optional)\n- [How to clone this repo](#how-to-clone-this-repo)\n  - [Packages needed](#packages-needed)\n    - [Ubuntu](#ubuntu-2)\n    - [Arch](#arch-2)\n  - [Script](#script)\n  - [Explanation](#explanation)\n\n## Dependencies\n### System Packages\n#### Ubuntu\n- [autojump](https://github.com/wting/autojump) *(Ubuntu 20.10 or earlier)*\n- [zoxide](https://github.com/ajeetdsouza/zoxide) *(Ubuntu 21.04 or later)*\n- neofetch\n- zsh\n- zsh-syntax-highlighting\n- zsh-autosuggestions\n- cargo *(Ubuntu 20.04 or earlier)*\n- [eza](https://github.com/eza-community/eza) *(Ubuntu 20.10 or later)*\n- [bat](https://github.com/sharkdp/bat)\n\n#### Arch\n##### Pacman\n\n- [neofetch](https://archlinux.org/packages/?name=neofetch)\n- [eza](https://archlinux.org/packages/?name=eza)\n- [bat](https://github.com/sharkdp/bat)\n- [zsh](https://archlinux.org/packages/?name=zsh)\n- [zsh-syntax-highlighting](https://archlinux.org/packages/?name=zsh-syntax-highlighting)\n- [zsh-autosuggestions](https://archlinux.org/packages/?name=zsh-autosuggestions)\n- [zsh-theme-powerlevel10k](https://archlinux.org/packages/?name=zsh-theme-powerlevel10k)\n- [zoxide](https://archlinux.org/packages/community/x86_64/zoxide)\n\n##### AUR\n\n- [ttf-meslo-nerd-font-powerlevel10k](https://aur.archlinux.org/packages/ttf-meslo-nerd-font-powerlevel10k/)\n\n### Git repositories\n*(These are **NOT** needed for **arch** users - There are already arch packages for them)*\n- [powerlevel10k](https://github.com/romkatv/powerlevel10k)\n- [MesloLGS NF](https://github.com/romkatv/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k) *(Powerlevel10k recommended font)*\n### Other Packages\n#### Cargo\n- [eza](https://github.com/eza-community/eza) *(Ubuntu 20.04 or earlier)*\n\n### Installation script\n#### Ubuntu\n##### Automatic\n[Script](deps-ubuntu.sh)\n##### Manual\n```shell\n# ---\n# Ubuntu 20.04 or earlier\nsudo apt install cargo\ncargo install eza\n\n# Ubuntu 20.10 or later\nsudo apt install eza\n# ---\n\n# ---\n# Ubuntu 20.10 or earlier\nsudo apt install autojump\n\n# Ubuntu 21.04 or later\nsudo apt install zoxide\n# ---\n\nsudo apt install neofetch bat zsh zsh-syntax-highlighting zsh-autosuggestions \ngit clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k\n```\n\nFor the `MesloLGS NF` font, it's probably better to just follow the instructions from the [powerlevel10k README](https://github.com/romkatv/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k).\n#### Arch\n\n##### Automatic\n[Script](deps-arch.sh)\n##### Manual\n*(these commands use `paru` to install AUR packages)*\n```shell\nsudo pacman -S zoxide neofetch eza bat zsh zsh-syntax-highlighting zsh-autosuggestions zsh-theme-powerlevel10k\nparu -S ttf-meslo-nerd-font-powerlevel10k\n```\n\n### Change shell to ZSH (optional)\n```shell\nchsh $USER -s /bin/zsh\n```\n\n## How to clone this repo\n\n### Packages needed\nThis method requires `stow` for creating symlinks and `ed` for custom `.bashrc` support.\n\n\u003e **Note**: The **automatic** scripts for installing dependencies also install these packages.\n#### Ubuntu\n```shell\nsudo apt install stow ed\n```\n#### Arch\n```shell\nsudo pacman -S --needed stow ed\n```\n\n### Script\n#### Automatic\n[Script](setup.sh)\n#### Manual\n```shell\ngit clone https://github.com/algono/dotfiles ~/dotfiles\n\nif [ -f ~/.bashrc ]; then mv -f ~/.bashrc ~/dotfiles/bash\nelif [ -f /etc/skel/.bashrc ]; then cp -f /etc/skel/.bashrc ~/dotfiles/bash\nelif uname -r | grep -iq manjaro; then cp ~/dotfiles/.bash-presets/.bashrc-manjaro ~/dotfiles/bash/.bashrc\nelse cp ~/dotfiles/.bash-presets/.bashrc-wsl ~/dotfiles/bash/.bashrc\nfi\n\n[ -f ~/.zshrc ] \u0026\u0026 mv ~/.zshrc ~/.zshrc.bak\n\ned ~/dotfiles/bash/.bashrc \u003c ~/dotfiles/.patches/bashrc-patch.ed\n\nfind ~/dotfiles/* -maxdepth 1 -name \".*\" -o -type d -prune -printf \"%f\\n\" | xargs /usr/bin/stow -d ~/dotfiles -t ~\n```\n### Explanation\n\u003e Clone repo in dotfiles directory\n```shell\ngit clone https://github.com/algono/dotfiles ~/dotfiles\n```\n\u003e If there is a custom *.bashrc* (either in the user's personal folder or in the system's *skel* folder), use it as a base.\n\u003e As a fallback, if the system is detected as manjaro, use the default manjaro *.bashrc*, and if it wasn't use the default WSL one\n```shell\nif [ -f ~/.bashrc ]; then mv -f ~/.bashrc ~/dotfiles/bash \nelif [ -f /etc/skel/.bashrc ]; then cp -f /etc/skel/.bashrc ~/dotfiles/bash\nelif uname -r | grep -iq manjaro; then cp ~/dotfiles/bash/.bashrc-manjaro ~/dotfiles/bash/.bashrc\nelse cp ~/dotfiles/bash/.bashrc-wsl ~/dotfiles/bash/.bashrc\nfi\n```\n\u003e If there is a *.zshrc* file in the home folder, rename it\n\u003e (stow would fail if it finds a file there)\n```shell\n[ -f ~/.zshrc ] \u0026\u0026 mv ~/.zshrc ~/.zshrc.bak\n```\n\u003e Use the *ed* command to apply the relevant changes to the custom *.bashrc* file (Note: You should backup `~/.bashrc` first if you have that file, as this method has not been extensively tested and it could break it)\n```shell\ned ~/dotfiles/bash/.bashrc \u003c ~/dotfiles/.patches/bashrc.patch.ed\n```\n\u003e Create symlinks for our dotfiles into the home directory\n\u003e (this command matches all non-hidden directories inside the 'dotfiles' folder)\n```shell\nfind ~/dotfiles/* -maxdepth 1 -name \".*\" -o -type d -prune -printf \"%f\\n\" | xargs /usr/bin/stow -d ~/dotfiles -t ~\n```\n\n### The last command didn't work. It told me that some files were going to be overwritten and failed.\nIf you already have some of the files from this repo, the last command will warn you and won't run.\n\n`Stow` does not have any option to overwrite files, so you can either **make backups** of these files *(example: `mv .dotfile .dotfile.bak`)*, or just **delete them**, and then re-run the last command.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgono%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falgono%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgono%2Fdotfiles/lists"}