{"id":16712031,"url":"https://github.com/andys8/dotfiles","last_synced_at":"2025-03-21T20:33:22.977Z","repository":{"id":42328960,"uuid":"158952651","full_name":"andys8/dotfiles","owner":"andys8","description":"dotfiles repository","archived":false,"fork":false,"pushed_at":"2025-03-14T16:07:16.000Z","size":3921,"stargazers_count":18,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-14T16:37:27.593Z","etag":null,"topics":["arch","dotfiles","el","elm","fish","haskell","i3","linux","nix","purescript","qutebrowser","rofi","st","typescript","vim","xmonad"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"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/andys8.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":"2018-11-24T16:10:32.000Z","updated_at":"2024-08-19T10:30:22.000Z","dependencies_parsed_at":"2024-10-28T11:33:31.836Z","dependency_job_id":"a8343e91-6876-4141-a8cd-a051bdc428d6","html_url":"https://github.com/andys8/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/andys8%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andys8%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andys8%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andys8%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andys8","download_url":"https://codeload.github.com/andys8/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244159992,"owners_count":20408019,"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":["arch","dotfiles","el","elm","fish","haskell","i3","linux","nix","purescript","qutebrowser","rofi","st","typescript","vim","xmonad"],"created_at":"2024-10-12T20:28:05.165Z","updated_at":"2025-03-21T20:33:22.648Z","avatar_url":"https://github.com/andys8.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotfiles\n\nClone this repository in your home directory (`~`). The `install.sh` script checks pre- and post-conditions, links files and installs/updates programs.\n\n```sh\ncd ~\ngit clone https://github.com/andys8/dotfiles.git\ncd dotfiles\n./install.sh\n```\n\n## Machine specific configuration\n\n### `~/bin/startup.sh`\n\nLocal script executed on machine startup\n\n```bash\n#!/bin/bash\n[ -z \"$(pgrep dropbox)\" ] \u0026\u0026 dropbox start \u0026\n[ -z \"$(pgrep -f duplicati)\" ] \u0026\u0026 duplicati \u0026\n# ubuntu only\n[ -z \"$(pgrep pulseaudio)\" ] \u0026\u0026 pulseaudio --daemonize\n```\n\n```bash\n#!/bin/bash\n[ -z \"$(pgrep -f slack)\" ] \u0026\u0026 slack --startup \u0026\n[ -z \"$(pgrep -f gcal-notifier-kotlin-gtk)\" ] \u0026\u0026 gcal-notifier-kotlin-gtk \u0026\n[ -z \"$(pgrep -f hasmail)\" ] || killall hasmail\nhasmail \u0026\n```\n\n### `.hasmailrc`\n\n```text\nclick=xdg-open https://mail.google.com\n\n[gmail]\nhostname=imap.gmail.com:993\nusername=\u003cemail\u003e\npassword=lpass show -p personal/gmail-hasmail\n```\n\n### `~/.gitconfig.machine`\n\nLocal default git user configuration with an example for conditional includes.\n\n```text\n[user]\n    name = andys8\n    email = andys8@users.noreply.github.com\n\n[includeIf \"gitdir:~/dev/repository/work/\"]\n    path = ~/.gitconfig.work\n```\n\n### `~/.gitconfig.work`\n\n```text\n[user]\n    name = andreas\n    email = andreas@work.com\n[url \"ssh://git@github.com/\"]\n    insteadOf = https://andreas-work@github.com/\n```\n\n### `~/.profile.machine`\n\nContains per system environment variables (optional).\n\n```sh\nexport PATH=/home/user/example-path:$PATH\nexport SLACK_TOKEN=example-token\n```\n\n## Shell\n\n### Change shell to fish\n\n```shell\nbash -c 'chsh -s $(chsh -l | grep -m 1 fish)'\n```\n\n### Fish theme\n\nOpen config with `fish_config` and set theme to `dracula` in Web-UI.\n\n## Terminal\n\n### Alacritty\n\n#### DPI\n\nAdd `WINIT_HIDPI_FACTOR=1.0` to `/etc/environment`\n\n### Add alacritty to terminals\n\n```shell\nsudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/alacritty 80\n```\n\n### st (suckless-terminal)\n\nFork of st: [`andys8/st`](https://github.com/andys8/st)\n\n#### Add st to terminals and set as default\n\n```shell\nsudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/local/bin/st 80\nsudo update-alternatives --config x-terminal-emulator\n```\n\n## Xmonad\n\n`lightdm` is expected. `/usr/share/xsessions/xmonad.desktop` will be created if not existing.\n\n### `Super + Space` on Ubuntu\n\nRun `ibus-setup` and delete shortcut to remove conflict with keybinding.\n\n## Qutebrowser\n\n### Default browser\n\n```shell\nxdg-settings set default-web-browser org.qutebrowser.qutebrowser.desktop\nxdg-settings set default-web-browser chromium.desktop # or stick with chromium\nxdg-mime default chromium.desktop x-scheme-handler/https\nxdg-mime default chromium.desktop x-scheme-handler/http\n```\n\n### Spell checking\n\nDownload dictionaries for spell checking\n\n```sh\ngit clone https://github.com/qutebrowser/qutebrowser.git \u0026\u0026 cd qutebrowser\n./scripts/dictcli.py install en-US\n./scripts/dictcli.py install de-DE\n# or with virtualenv (if wrong directory)\n./.venv/bin/python3 ./scripts/dictcli.py install en-US\n```\n\nMight be necessary to copy to `~/.local/share/qutebrowser/qtwebengine_dictionaries`\n\n## Time\n\nEnable time synchronization with `timedatectl set-ntp true`.\n\n## Git\n\nSet credentials in `~/.netrc`\n\n## `sudo`\n\nOpen `sudo visudo` and add these lines to enable asterisks and silly feedback.\n\n```text\nDefaults insults\nDefaults pwfeedback\n```\n\n- `Defaults secure_path` is **not set** to keep `$PATH` and access to user installed binaries with sudo.\n- `Defaults env_keep += \"HOME\"` keeps the home directory and uses configuration files.\n\n## Pacman\n\nEnable in `/etc/pacman.conf`:\n\n```text\nColor\nILoveCandy\nVerbosePkgLists\n```\n\n## Theme\n\nInstall `xcursor-breeze` and [`Ant-Dracula`](https://github.com/EliverLara/Ant-Dracula) theme. Configure with `lxappearance`.\n\n![stats](https://static.scarf.sh/a.png?x-pxid=8c48fb17-fc67-4552-90d5-7cfb267fd0c8)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandys8%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandys8%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandys8%2Fdotfiles/lists"}