{"id":17171461,"url":"https://github.com/roosta/etc","last_synced_at":"2025-04-13T16:10:41.969Z","repository":{"id":32166275,"uuid":"35739498","full_name":"roosta/etc","owner":"roosta","description":"My collection of portable dot/config files for Arch Linux","archived":false,"fork":false,"pushed_at":"2025-04-05T12:12:22.000Z","size":4527,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-05T13:22:59.325Z","etag":null,"topics":["archlinux","dotfiles","etc","i3","linux","makefile","stow","tmux","vim","zsh"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","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/roosta.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":"2015-05-16T20:40:27.000Z","updated_at":"2025-04-05T12:12:27.000Z","dependencies_parsed_at":"2023-01-14T20:45:21.309Z","dependency_job_id":"7ef2c45c-34c8-44fe-bf86-0c2128d328f9","html_url":"https://github.com/roosta/etc","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/roosta%2Fetc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roosta%2Fetc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roosta%2Fetc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roosta%2Fetc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roosta","download_url":"https://codeload.github.com/roosta/etc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741201,"owners_count":21154255,"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":["archlinux","dotfiles","etc","i3","linux","makefile","stow","tmux","vim","zsh"],"created_at":"2024-10-14T23:34:32.813Z","updated_at":"2025-04-13T16:10:41.948Z","avatar_url":"https://github.com/roosta.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"![title](https://raw.githubusercontent.com/roosta/assets/master/etc/title.png)\n\nA collection of config files I use on a daily basis on multiple hosts. My OS of\nchoice is [Arch Linux](https://www.archlinux.org/), and my dotfiles are managed\nby [Make](https://www.gnu.org/software/make/) and\n[Stow](https://www.gnu.org/software/stow/).\n\nCompanion repos for these dotfiles:\n\n- [srcery-colors/srcery-vim: vim colorscheme](https://github.com/srcery-colors/srcery-vim)\n- [srcery-colors/srcery-terminal: terminal colorschemes](https://github.com/srcery-colors/srcery-terminal)\n- [roosta/scripts: collection of various shell scripts](https://github.com/roosta/scripts)\n\n## Installation\n\n**Warning**: As with most dotfiles, cherry-picking configs might be a better\nchoice than attempting to run the full install steps. There are dragons in\nthere.\n\nFirst of this repo needs to be cloned, and assuming you are running Arch Linux\ncalling `make install` should in theory setup a fresh system, but I haven't\ntested this rule in a while so it probably needs some attention.\n```shell\ngit clone https://github.com/roosta/etc \u0026\u0026 cd etc \u0026\u0026 make install\n```\n\ngit needs to be installed prior to the setup.\n\n## Main Makefile rules\n\nI list the basics here, there are a bunch of rules and they are in constant\nflux, for details on each see the [Makefile](Makefile).\n\n### default\n\n`prerequisites: links update i3 rofi post-install`\n\nMain rule run on a daily basis. Re-links, updates repos, generate configs. This\nis my goto and my daily routine is pulling any updates, then calling `make`\nwith no arguments.\n\n### update\n\n`prerequisites: update-zsh-plugins update-libs update-spacemacs update-tmux update-vim post-install`\n\nRuns through the update routine. I keep a bunch of 'lib' repos that isn't part\nof a package manager updated on my system. Located in `~/lib` by default and\nthe source for these libs are [lib_repositories.txt](lib_repositories.txt)\nwhich is just a flat file with the repository URL.\n\nI made a helper script for this process that either clones a repo or pulls if\nit is already present See the [git_update.sh](scripts/git_update.sh)\nscript for details.\n\n### links\n\n`prerequisites link-conf link-misc link-local post-install`\n\nLinks all the config files using [Stow](https://www.gnu.org/software/stow/). If\nyou are unfamiliar with stow, have a look at the\n[manual](https://www.gnu.org/software/stow/manual/), but the concept is fairly\nstraightforward. All config is kept in `./conf`, and each program gets it's own\nfolder. Contents in this folder mirror where you want the config placed with\nyour home(~) as the root.\n\nSo for example, my `.vimrc` I want linked to my home root `~/.vimrc`, so its\nplaced in the `vim` folder with no additional folder structure inside. Another\nexample would be my termite config which should be linked to:\n`~/.config/termite/config` so I mirror that folder structure in\n`conf/qermite/.config/termite/config` where `conf/termite` would correspond to\nhome root.\n\n### install\n\n`prerequisites: user-fs install-pacaur install-packages install-aur-packages save-originals init-spacemacs set-shell clone-source i3 rofi init-tmux links post-install`\n\nThis is the fragile install rule, that sets up a fresh system. It basically\nruns through the lot, and additionally installs packages, and clones various\nrepos.\n\n### min\n\n`prerequisites: min-install save-originals user-fs update-libs set-shell update-zsh-plugins min-links init-vim init-tmux`\n\nSetup a minimal system. I use this if I spin up a VM or something and just want\nsome basic conf present like vimrc, tmux and etc.\n\n## Favorites\n\nThere are a bunch of config files here, and some are not worth mentioning in\ndetail, but here are some of my favorites:\n\n- [i3](https://github.com/roosta/etc/tree/master/conf/i3)\n- [git](https://github.com/roosta/etc/tree/master/conf/git)\n- [polybar](https://github.com/roosta/etc/tree/master/conf/polybar)\n- rofi\n- termite\n- tmux\n- vim\n- x\n- zsh\n- dunst\n\n\n## Screenshots\n\n###  Clean i3\n\n![clean](https://raw.githubusercontent.com/roosta/assets/master/etc/clean.jpg)\n\n### Busy tmux\n\n![busy](https://raw.githubusercontent.com/roosta/assets/master/etc/busy.png)\n\n### Busy i3\n\n![busy2](https://raw.githubusercontent.com/roosta/assets/master/etc/busy2.png)\n\n### Firefox\n\n![firefox](https://raw.githubusercontent.com/roosta/assets/master/etc/firefox.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froosta%2Fetc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froosta%2Fetc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froosta%2Fetc/lists"}