{"id":22850244,"url":"https://github.com/956mb/dotfiles","last_synced_at":"2026-04-05T22:01:56.544Z","repository":{"id":231930484,"uuid":"783046645","full_name":"956MB/dotfiles","owner":"956MB","description":"The... files. (ghostty, nvim, fish, yabai, lazygit...)","archived":false,"fork":false,"pushed_at":"2026-02-22T18:14:47.000Z","size":23961,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-22T23:21:39.560Z","etag":null,"topics":["btop","dotfiles","fish","ghostty","git","lazygit","lua","neovim","scripts","starship","yabai"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/956MB.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-06T19:42:49.000Z","updated_at":"2026-02-22T18:14:50.000Z","dependencies_parsed_at":"2024-04-23T12:46:39.178Z","dependency_job_id":"5a23ba86-afd8-4af4-bb44-e6859f1cf590","html_url":"https://github.com/956MB/dotfiles","commit_stats":null,"previous_names":["956mb/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/956MB/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/956MB%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/956MB%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/956MB%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/956MB%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/956MB","download_url":"https://codeload.github.com/956MB/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/956MB%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31451446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["btop","dotfiles","fish","ghostty","git","lazygit","lua","neovim","scripts","starship","yabai"],"created_at":"2024-12-13T05:06:57.890Z","updated_at":"2026-04-05T22:01:55.760Z","avatar_url":"https://github.com/956MB.png","language":"Lua","readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/ghostty-org/ghostty\"\u003e\n        \u003cimg src=\"./.github/ghostty.png\" alt=\"ghostty\" width=\"210\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n![Screenshot](./.github/Screenshot_2024-12-08_at_6.27.59_AM.png)\n\n### `install.sh` script (for me)\n\nI made this script for myself to make it easier starting on different systems, so the stuff inside is focused on my personal preferences and keeping my configs exactly the same. **Run at your own risk.**\n\n```ruby\ncurl -fsSL https://raw.githubusercontent.com/956MB/dotfiles/main/install.sh | bash\n```\n\nThe script will:\n\n-   Backup existing configurations (e.g. `~/.config-backup-20250727_064950`)\n-   Install the main packages for the shell (`Homebrew`, `eza`, `starship`, `zoxide`, `zellij`, `Fish`)\n-   Clone this repository and create symlinks\n-   Install packages from the [Brewfile](./Brewfile) (optional)\n-   Set `Fish` as the default shell\n\n```bash\n./install.sh\n./install.sh {-p, --packages-only}  # Packages only (no symlinks/shell changes)\n./install.sh {-r, --revert}         # Revert to previous configuration\n```\n\n---\n\n### Aliases\n\n[fish/aliases.fish](./fish/conf.d/aliases.fish)\n\n##### General\n\n```bash\nalias v='nvim'                                                         # Open neovim\nalias nv='nvim'                                                        # Open neovim (alternative)\nalias z-='z -'                                                         # Navigate to previous directory using zoxide\nalias cd..='z ..'                                                      # Go up one directory using zoxide\nalias z..='z ..'                                                       # Go up one directory using zoxide (alternative)\nalias ..='z ..'                                                        # Go up one directory using zoxide\nalias ...='z ../..'                                                    # Go up two directories using zoxide\nalias ....='z ../../..'                                                # Go up three directories using zoxide\nalias zfreq='zoxide query -l'                                          # List most frequently used directories\nalias yy='yazi'                                                        # Open yazi\nalias fct='find . -maxdepth 1 -type d ! -name \".*\" | wc -l'            # Count number of directories in the current directory (excluding hidden ones)\nalias func='functions'                                                 # List all functions\nalias cat='bat'                                                        # Use bat instead of cat\nalias oldcat='cat'                                                     # Use original cat\nalias l='eza --group-directories-first'                                # List with icons, directories first\nalias ls='eza --group-directories-first'                               # List with icons, directories first\nalias ll='eza -l --group-directories-first'                            # Long format with icons\nalias la='eza -la --group-directories-first'                           # List all (including hidden) with icons\nalias lt='eza --tree --icons'                                          # Tree view with icons\nalias l.='eza -a | grep -E \"^\\.\"'                                      # Show only hidden files\nalias lsa='eza -la --group-directories-first'                          # List all with icons (including hidden)\nalias lsr='eza -R --icons'                                             # List recursively\nalias lsf='eza -1 | wc -l'                                             # Count number of files\nalias lss='eza -la --group-directories-first --sort=size'              # Sort by size\nalias cls='clear'                                                      # Clear the terminal screen\nalias top='btop'                                                       # Use btop instead of top\nalias oldtop=\"/usr/bin/top\"                                            # Run the original top command\nalias nf=\"neofetch\"                                                    # Display system information using neofetch\nalias of='onefetch --no-color-palette --include-hidden -E --no-title --ascii-input \"$(cat ~/dotfiles/logos/logo.txt)\"'  # Display git repository information using onefetch with logo\nalias ep=\"echo $PATH\"                                                  # Print the PATH environment variable\nalias resh=\"source ~/.config/fish/config.fish\"                         # Reload the fish configuration\nalias nvs=\"nvim ~/.scratch/$(date +%Y-%m-%d-%H%M%S).txt\"               # Open a timestamped scratch file in neovim\n```\n\n##### Zellij\n\n[zellij/config.kdl](./zellij/config.kdl)\n\n```bash\nalias zsr='zellij ac rename-session'  # Rename zellij session \u003cname\u003e\nalias zsa='zellij a'                  # Attach to zellij session \u003cname\u003e\nalias zsl='zellij ls'                 # List zellij sessions\nalias zsk='zellij k'                  # Kill zellij session \u003cname\u003e\nalias zsd='zellij d'                  # Delete zellij session \u003cname\u003e\n```\n\n##### Tailscale\n\n```bash\nalias ts='tailscale'                                  # Tailscale command\nalias tsh='tailscale --help'                          # Tailscale help\nalias tsv='tailscale version'                         # Tailscale version\nalias tsup='tailscale up'                             # Start Tailscale\nalias tsdown='tailscale down'                         # Stop Tailscale\nalias tss='tailscale status'                          # Show Tailscale status\nalias tsip='tailscale ip'                             # Show Tailscale IPv4 address\nalias tssh='tailscale ssh'                            # SSH into a Tailscale machine\nalias tsdc='ps aux | grep tailscaled | grep -v grep'  # Check if tailscaled daemon is running\n```\n\n##### Commands\n\n```bash\nalias ftl='find . -type f -name \"*.*\" -exec basename {} \\; | sed \"s/.*\\.//\" | sort -u'  # List unique file extensions in current directory\n```\n\n##### Version control (`git`)\n\n```bash\nalias ga='git add'                      # Stage changes\nalias gaa='git add .'                   # Stage all changes in current directory\nalias gaaa='git add -A'                 # Stage all changes\nalias gc='git commit'                   # Commit changes\nalias gcm='git commit -m'               # Commit changes with a message\nalias gbr='git branch -M'               # Rename current branch\nalias gcr='git clone'                   # Clone a repository\nalias gd='git diff'                     # Show changes between commits, commit and working tree, etc.\nalias gds='git diff --stat'             # Show diff stats (files changed, insertions, deletions)\nalias gi='git init'                     # Initialize a new Git repository\nalias gl='git log'                      # Show commit logs\nalias gp='git pull'                     # Fetch from and integrate with another repository or a local branch\nalias gpsh='git push'                   # Update remote refs along with associated objects\nalias gss='git status'                  # Show the working tree status\nalias gwho='git shortlog -s -n | head'  # Show top contributors\nalias gcnt='git ls-files | wc -l'       # Count number of files in the repository\nalias lg='lazygit'                      # Open Lazygit interface\nalias grl='gh repo ls 956MB'            # List my repos on GitHub\nalias grlf='gh repo ls 956MB --fork'    # List my forked repos on GitHub\n\n# GitHub Copilot CLI function aliases\nexp() {\n    gh copilot explain \"$*\"\n}\nsug() {\n    gh copilot suggest \"$*\"\n}\n```\n\n##### Yabai/skhd\n\n[yabairc](./yabai/.yabairc) · [skhdrc](/yabai/..skhdrc)\n\n```bash\nalias ystart='yabai --start-service'      # Start yabai service\nalias ystop='yabai --stop-service'        # Stop yabai service\nalias yupgrade='brew upgrade yabai'       # Upgrade yabai using Homebrew\nalias skstart='skhd --start-service'      # Start skhd service\nalias skstop='skhd --stop-service'        # Stop skhd service\n```\n\n---\n\n### Scripts \u0026 Fish functions\n\n[aliaz](./scripts/zig/aliaz)\n\n\u003csup\u003eA better `alias` command, and my first thing written in Zig for fun. Uses color and description comments in `fish/conf.d/aliases.fish`.\u003c/sup\u003e\n\n[gcr.fish](./fish/functions/gcr.fish) \u0026 [gcrz.fish](./fish/functions/gcrz.fish)\n\n\u003csup\u003eClones a repo from https/ssh (and `z` into it), and as backup uses github cli\u003c/sup\u003e\n\n```ruby\n{gcr, gcrz} https://github.com/Next-Flip/Momentum-Firmware.git\n```\n\n[zj.fish](./fish/functions/zj.fish)\n\n\u003csup\u003eOpens a zellij session if it exists and creates it if not\u003c/sup\u003e\n\n```ruby\nzj # -\u003e zellij attach \u003ccwd\u003e -c\n```\n\n[zsde.fish](./fish/functions/zsde.fish)\n\n\u003csup\u003eDelete all exited zellij sessions except the ones specified\u003c/sup\u003e\n\n```ruby\nzsde dotfiles|Momentum-Firmware.wiki # -\u003e zellij ls -n | grep EXITED | grep -v \"dotfiles\\|Momentum-Firmware.wiki\" | awk '{print $1}' | xargs -I {} zellij d {}\n```\n\n---\n\n```python\n# onefetch --no-color-palette --include-hidden -E --no-title --ascii-input \"$(cat ./logos/logo-50b.txt)\"\n⠀⢠⣤⣤⣤⣤⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⡀   HEAD: 62f8c7c (main, github/main)\n⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⢿⣿⣿⡿   Pending: 5+- 2+\n⠀⠙⠻⣿⣿⣧⡉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⡿⣻⠁⠀   Created: 2 years ago\n⠀⠀⠀⠉⢻⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⡟⠀⠀⠀   Languages:\n⠀⠀⠀⠀⠀⠈⠛⢿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⣤⣿⣿⠋⠀⠀⠀⠀              ● Lua (83.8 %) ● Fish (6.6 %)\n⠀⠀⠀⠀⠀⠀⠀⠀⠉⠋⠁⠀⠀⠀⠀⠀⠀⣰⣾⡿⠏⠀⠀⠀⠀⠀⠀              ● Shell (3.6 %) ● Python (1.7 %)\n⠀⣠⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⡿⠟⠀⠀⠀⠀⠀⠀⠀⠀              ● BASH (1.4 %) ● Zig (1.3 %)\n⠀⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⢀⢔⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀              ● Other (1.7 %)\n⠀⢹⣿⣿⠛⢿⣻⣿⣶⣤⡀⠀⡔⣡⡞⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀   Authors: 54% Alexander Bays \u003cbays@956mb.com\u003e 73\n⠀⠸⣿⣿⠂⠀⠉⠘⠿⣿⣿⢿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀            44% 956MB \u003cbays@956mb.com\u003e 59\n⠀⢠⣿⣿⠀⠀⠀⠀⣀⣾⣽⠻⢿⣿⣧⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀             1% Alexander Bays \u003cbays@MacBookPro.attlocal.net\u003e 2\n⠀⢸⣿⣿⠀⢀⣤⣾⣿⠟⠁⠀⠀⠈⠹⢿⣏⣷⣦⣄⣀⠀⠀⠀⠀⠀⠀   Last change: 2 weeks ago\n⠀⠈⣿⣿⣴⣼⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠉⠛⢿⣿⣿⣧⣆⡠⣀⠀⠀   Commits: 134\n⠀⠀⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⣿⣿⣷⣷⣆   Churn (2): …/functions/zellij_tabs.fish 1\n⠀⠀⠙⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠋              Brewfile 1\n                                         …/plugins/editor.lua 1\n                              Lines of code: 16745\n                              Size: 16.42 MiB (130 files)\n                              License: MIT\n```\n\n[MIT license](./LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F956mb%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F956mb%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F956mb%2Fdotfiles/lists"}