{"id":38020077,"url":"https://github.com/ansemjo/dotfiles","last_synced_at":"2026-01-16T19:28:16.987Z","repository":{"id":122756969,"uuid":"46950809","full_name":"ansemjo/dotfiles","owner":"ansemjo","description":"collection of settings and bash aliases","archived":false,"fork":false,"pushed_at":"2025-12-13T14:05:40.000Z","size":414,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-15T06:27:30.809Z","etag":null,"topics":["bash-aliases","bashrc","dotfiles","gitconfig","vimrc"],"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/ansemjo.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-11-26T23:34:34.000Z","updated_at":"2025-12-13T14:05:43.000Z","dependencies_parsed_at":"2023-05-28T10:30:29.628Z","dependency_job_id":"8d43d1b0-b861-4528-82e9-f8f38025dee5","html_url":"https://github.com/ansemjo/dotfiles","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ansemjo/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansemjo%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansemjo%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansemjo%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansemjo%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ansemjo","download_url":"https://codeload.github.com/ansemjo/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansemjo%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28481726,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bash-aliases","bashrc","dotfiles","gitconfig","vimrc"],"created_at":"2026-01-16T19:28:16.868Z","updated_at":"2026-01-16T19:28:16.971Z","avatar_url":"https://github.com/ansemjo.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotfiles\n\nThis repository contains various configuration files which you can use in place\nof your system's default ones. To apply these settings systemwide start by\ncloning the repository into `/usr/local/etc/` and then symlink the desired\nconfigurations in `/etc` appropriately.\n\nYou can use the `install.sh` script to create the symlinks aswell.\n\n```bash\ncd /usr/local/etc\ngit clone https://github.com/ansemjo/dotfiles\ncd dotfiles/\n./install.sh -B -abgtv\n```\n\n## bash\n\n![dotfiles-bash](https://user-images.githubusercontent.com/11139925/64062822-21205c00-cbec-11e9-8030-61beb5066905.png)\n\nThis bashrc mainly gives you a nice and colourful prompt and a good amount of\naliases. The aliases are individually split into seperate files in\n[`bash/aliases.d/`](bash/aliases.d/). Additional configuration files and the\nprompt builder are in [`bash/conf.d/`](bash/conf.d/). Some highlights:\n\n* `ll`, `lla`, `lll` - `ls` aliases to display long, all and recursively\n* `tmp` - create a temporary playground in `/tmp` and remove it upon exit\n* `bak` - quickly create a backup of a file or dir with `.bak` suffix\n* `cb` - read or write system clipboard with xclip, e.g. `date | cb` or `var=$(cb)`\n* `sd` - use `pushd` to cycle through or add directories on stack\n* `hh`, `ff` - bash history and find-filename grep-ing\n* `suu` - `sudo su`\n* `tm` - attach to or start a new named tmux session\n* `timestampfn` - output current date in iso-like format for filenames\n* `docker-ssh-socket` - forward and use a Docker socket from a remote machine via an ssh tunnel\n* `ffmpeg-*` - some convenience functions for ffmpeg\n* `haveibeenpwned` - check piped-in passwords against leaked databases\n* `ìpaddr` - parse `ip addr` output to cleanly display only addresses\n* `wtfismyip` - contact `wtfismyip.com` to get public addresses\n* `markman` - read a markdown file with `man`\n* `nuke` - delete all files with `shred` and remove directory\n* `openssl-*` - convenience functions for openssl to display certificate info etc.\n* `ports` - show listening ports in reduced tabular output\n* `qrclip` - display clipboard contents as qr code in terminal\n* `randomname` - Docker's random naming function converted for bash\n* `random{char,hex,mac,ip,key,words,star}` - various randomness functions\n* `rosenbridge`, `rbsend` - pipe data back from a host through a temporary ssh tunnel\n\nThe path where bash looks for the global configuration file may differ but\nit should be included in `/etc/profile`. Usually it is `/etc/bashrc` or\n`/etc/bash.bashrc`.\n\n```bash\nln -svb $dotfiles/bash/bashrc /etc/bashrc\nln -svb $dotfiles/bash/dot-bashrc /etc/skel/.bashrc\n```\n\nThe `dot-bashrc` that is symlinked into the skel directory contains options\nto customize the commandline prompt, so you might want to copy it to your own home, too.\n\n## git\n\n![dotfiles-git](https://user-images.githubusercontent.com/11139925/64062823-21205c00-cbec-11e9-9173-c2c2b14220dd.png)\n\nYou can set some default behaviour and command aliases in git. This config sets\nthings like pushing new tags and using a colorful interface by default, defines\na new pretty format and sets some useful aliases:\n\n* `ll` - log last ten commits\n* `st` - short status output\n* `co`, `br`, `re` - aliases for `checkout`, `branch` and `remote`\n* `cc` - quickly clean files\n* `hash` - print current HEAD hash\n* `upstream` - push to a remote and mark it as upstream\n* `cl` - show a changelog, overview of commits since last tag\n* `nv` - parse previous annotated tags and create a new semver-incremented\n    tag (`patch`, `minor` or `major`)\n* `patch` - begin adding changes with the `--patch` flag\n* `rinse` - deep scrub clean up: expire reflog, gc, prune and fsck\n* `output ref path/to/file` - output a specific version of a file to stdout\n* `download` - save current HEAD archive as gzipped tar to stdout, as if it\n    was a download from GitHub etc.\n\n\nThe system configuration should be at `/etc/gitconfig`. The global (per-user)\none is at `~/.gitconfig`.\n\n```bash\nln -svb $dotfiles/git/gitconfig /etc/gitconfig\n```\n\n## vim\n\n![dotfiles-vim](https://user-images.githubusercontent.com/11139925/64062825-21205c00-cbec-11e9-9b47-ed5ae907544a.png)\n\nThere are too many settings in that vimrc to list them all. I do, however,\nsuggest that you install [`vim-pathogen`](https://github.com/tpope/vim-pathogen)\nand [`vim-airline`](https://github.com/vim-airline/vim-airline).\n\nYour global vimrc should be either at `/etc/vimrc` or `/etc/vim/vimrc`.\n\n```bash\nln -svb $dotfiles/vim/vimrc /etc/vimrc\n```\n\n## tmux\n\n![dotfiles-tmux](https://user-images.githubusercontent.com/11139925/64062824-21205c00-cbec-11e9-8154-111a97327937.png)\n\nAfter a while of constantly forgetting common `tmux` keys, I spent an evening\ncustomizing my configuration to make it usable and more intuitive to me.\n\nHighlights include:\n\n* prefix key on \u003ckbd\u003ectrl\u003c/kbd\u003e-\u003ckbd\u003ea\u003c/kbd\u003e\n* switch panes with \u003ckbd\u003ealt\u003c/kbd\u003e-\u003ckbd\u003earrows\u003c/kbd\u003e\n* split panes with \u003ckbd\u003eprefix\u003c/kbd\u003e-\u003ckbd\u003e\\\\\u003c/kbd\u003e (horizontally) and\n    \u003ckbd\u003eprefix\u003c/kbd\u003e-\u003ckbd\u003e-\u003c/kbd\u003e (vertically)\n* switch windows with \u003ckbd\u003eprefix\u003c/kbd\u003e-\u003ckbd\u003eleft\u003c/kbd\u003e (previous) and\n    \u003ckbd\u003eprefix\u003c/kbd\u003e-\u003ckbd\u003eright\u003c/kbd\u003e (next)\n* distinctive status line that should be compatible with older versions\n\nThere is also a bash alias `tm` to attach to an existing session or create\na new one if none exists.\n\n```bash\nln -svb $dotfiles/tmux/tmux.conf /etc/tmux.conf\n```\n\n## others\n\nAdditionally there are currently some semi-maintained files for Ansible, i3 and an inputrc.\n\n## colors\n\nThe colorscheme used above is [Base 16 Bright Dark](https://github.com/aaron-williamson/base16-gnome-terminal).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansemjo%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fansemjo%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansemjo%2Fdotfiles/lists"}