{"id":18411012,"url":"https://github.com/cloudlena/dotfiles","last_synced_at":"2025-10-09T19:34:42.640Z","repository":{"id":33051938,"uuid":"36688166","full_name":"cloudlena/dotfiles","owner":"cloudlena","description":":unicorn: My personal dotfiles","archived":false,"fork":false,"pushed_at":"2024-04-08T11:17:59.000Z","size":8955,"stargazers_count":74,"open_issues_count":0,"forks_count":12,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-10-09T19:34:39.876Z","etag":null,"topics":["bash","dotfiles","tmux","vim","zsh"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudlena.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":"2015-06-01T20:51:51.000Z","updated_at":"2025-08-02T17:49:40.000Z","dependencies_parsed_at":"2024-04-08T12:42:10.513Z","dependency_job_id":null,"html_url":"https://github.com/cloudlena/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cloudlena/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudlena%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudlena%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudlena%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudlena%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudlena","download_url":"https://codeload.github.com/cloudlena/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudlena%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001959,"owners_count":26083244,"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-10-09T02:00:07.460Z","response_time":59,"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":["bash","dotfiles","tmux","vim","zsh"],"created_at":"2024-11-06T03:34:54.253Z","updated_at":"2025-10-09T19:34:42.622Z","avatar_url":"https://github.com/cloudlena.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\n:unicorn: My personal dotfiles\n\n\u003e [!WARNING]  \n\u003e Since I'm using [NixOS](https://nixos.org/) now, these dotfiles have been superseeded by my [Nixfiles](https://github.com/cloudlena/nixfiles) and are not maintained anymore.\n\nI mainly work with [Go](https://golang.org), [Rust](https://www.rust-lang.org), [JavaScript](https://en.wikipedia.org/wiki/JavaScript), [TypeScript](https://www.typescriptlang.org), [Markdown](https://en.wikipedia.org/wiki/Markdown) and [shell scripts](https://en.wikipedia.org/wiki/Shell_script) so my setup is geared towards working with these technologies.\n\nSupported operating systems are macOS and Arch Linux (and its derivates).\n\n![Screenshot](https://i.ibb.co/jL2sQ1H/dotfiles-screenshot.png)\n\n## Features and Usage\n\n### Terminal\n\nThis setup uses a powerful combination of [Alacritty](https://github.com/jwilm/alacritty), [tmux](https://github.com/tmux/tmux) and [zsh](https://www.zsh.org/) with a minimalistic prompt.\n\n### Commands\n\n- `pacu`: Update and upgrade the whole system (using `Brewfile` on macOS and `pacmanfile` on Arch Linux)\n- `depu`: Update and upgrade the dependencies for the current project\n- `mkcd`: Create a directory and enter it\n- `fcd`: cd into a directory using fuzzy search\n- `fe`: Edit a directory or file using fuzzy search\n- `fco`: Checkout Git branches or tags using fuzzy search\n- `fkill`: Kill any process with fuzzy search\n- `fshow`: Git commit browser with fuzzy search\n\n### Text Editor\n\nText editing is based on [Neovim](https://neovim.io/), configured to be an \"IDE\". The entire setup with all plugins can also be run as a [container](https://github.com/cloudlena/vide).\n\n- `e`: Start Neovim with all plugins\n- `ide`: Start Neovim with all plugins in an IDE like window layout\n\n#### Navigation\n\n- `gd`: Go to definition of symbol under cursor\n- `gi`: Go to implementations of symbol under cursor\n- `gr`: Go to references of symbol under cursor\n- `\u003cspace\u003e\u003cspace\u003e`: Fuzzy search files in workspace\n- `\u003cspace\u003e/`: Fuzzy search in all files in workspace\n- `\u003cspace\u003ej`: Open visual file explorer\n\n#### Git\n\n- `\u003cspace\u003egg`: Git status\n- `\u003cspace\u003egd`: Git diff\n- `\u003cspace\u003egb`: Git blame\n- `\u003cspace\u003egs`: Git stage current hunk\n- `\u003cspace\u003egu`: Git unstage current hunk\n- `\u003cspace\u003egc`: Git commit\n- `\u003cspace\u003egm`: Git three-way merge\n\n#### Diagnostics and Refactoring\n\n- `K`: Show signature of symbol under cursor\n- `[d`: Go to previous diagnostic issue\n- `d]`: Go to next diagnostic issue\n- `\u003cspace\u003ee`: Show diagnostics details\n- `\u003cspace\u003es`: Open workspace diagnostics\n- `\u003cspace\u003ek`: Open symbols outline of file\n- `\u003cspace\u003er`: Rename current symbol\n- `\u003cspace\u003ea`: Display code actions\n\n#### Testing\n\n- `\u003cspace\u003etn`: Run nearest test to cursor\n- `\u003cspace\u003etf`: Run all tests in file\n- `\u003cspace\u003eta`: Run all tests\n- `\u003cspace\u003etu`: Toggle extended testing UI\n\n#### Debugging\n\n- `\u003cspace\u003edb`: Toggle breakpoint on current line\n- `\u003cspace\u003edB`: Set condition for breakpoint\n- `\u003cspace\u003edd`: Start debugger or continue to next breakpoint\n- `\u003cspace\u003edn`: Step over\n- `\u003cspace\u003edi`: Step into\n- `\u003cspace\u003edo`: Step out\n- `\u003cspace\u003edK`: Show evaluation of symbol under cursor\n- `\u003cspace\u003edu`: Toggle extended debugging UI\n\n#### Add Languages and Tools\n\nTo extend the editor with new languages and tools, simply add them to [`tools.lua`](./nvim/.config/nvim/lua/config/tools.lua).\n\n## Installation\n\n1. Clone this repo to `~/dotfiles` by running `git clone git@github.com:cloudlena/dotfiles.git ~/dotfiles`\n1. Change the name and email address in `git/.config/git/config`\n1. Arch Linux only: Change `pacmanfile/.config/pacmanfile/pacmanfile.txt` to your liking or add `pacmanfile-extra.txt` to the same directory for independent packages per machine\n1. macOS only: Change `Brewfile` to your liking or add `extra.Brewfile` for independent packages per machine\n1. macOS only: If you have apps installed which you didn't install through `brew` but that you now added to `Brewfile`, you need to reinstall them with `brew install \u003cname\u003e --force`, so `brew` knows it's supposed to manage these apps.\n\n   Note: This won't delete any of your data. The app will just be reinstalled with `brew` and everything will be back to normal once the installation script has run.\n\n1. Run `~/dotfiles/install.sh`\n\n   **WARNING: This may install and/or remove software and change your configs!**\n\n1. Either import an existing PGP key pair by using `gpg --import my-key.asc` and `gpg --import my-key-pub.asc`, or create a new one by following the [GitHub guide](https://help.github.com/en/articles/generating-a-new-gpg-key). You need to use the same name and email address as an ID that you have configured in `git/.gitconfig` to correctly sign your Git commits.\n1. Either import an existing SSH key pair by copying it to `~/.ssh/id_rsa` and `~/.ssh/id_rsa.pub` or create a new one by following the [GitHub guide](https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent).\n\n## Quick Installation without customization (not recommended unless you're the owner of this repo :wink:)\n\n1.  Run the following command:\n\n    **WARNING: This may install and/or remove software and change your configs!**\n\n    ```shell\n    $ curl -s https://raw.githubusercontent.com/cloudlena/dotfiles/main/install.sh | sh\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudlena%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudlena%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudlena%2Fdotfiles/lists"}