{"id":29024478,"url":"https://github.com/hiAndrewQuinn/shell-bling-ubuntu","last_synced_at":"2025-06-26T04:02:04.887Z","repository":{"id":199105074,"uuid":"702152620","full_name":"hiAndrewQuinn/shell-bling-ubuntu","owner":"hiAndrewQuinn","description":"A few scripts to be run on a fresh-off-the-presses Ubuntu VM, in order to get its shell nice 'n purdy.","archived":false,"fork":false,"pushed_at":"2024-06-11T15:19:10.000Z","size":79,"stargazers_count":83,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-12T18:16:34.999Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hiAndrewQuinn.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":"2023-10-08T16:44:00.000Z","updated_at":"2024-06-11T15:19:14.000Z","dependencies_parsed_at":"2024-06-11T15:48:05.555Z","dependency_job_id":"d1a10e53-27bc-4576-9dca-3ce68d80acbf","html_url":"https://github.com/hiAndrewQuinn/shell-bling-ubuntu","commit_stats":null,"previous_names":["hiandrewquinn/shell-bling-ubuntu"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hiAndrewQuinn/shell-bling-ubuntu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiAndrewQuinn%2Fshell-bling-ubuntu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiAndrewQuinn%2Fshell-bling-ubuntu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiAndrewQuinn%2Fshell-bling-ubuntu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiAndrewQuinn%2Fshell-bling-ubuntu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hiAndrewQuinn","download_url":"https://codeload.github.com/hiAndrewQuinn/shell-bling-ubuntu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiAndrewQuinn%2Fshell-bling-ubuntu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261997402,"owners_count":23242250,"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":[],"created_at":"2025-06-26T04:01:59.267Z","updated_at":"2025-06-26T04:02:04.874Z","avatar_url":"https://github.com/hiAndrewQuinn.png","language":"Shell","funding_links":[],"categories":["Shell","\u003ca name=\"package-manager\"\u003e\u003c/a\u003ePackage managers"],"sub_categories":[],"readme":"# Shell Bling Ubuntu\n\nA few shell scripts to get us some command-line niceties, for a fresh new Ubuntu installation.\n\n* [Quickstart](#quickstart)\n* [FAQ](#faq)\n  + [What does it come with?](#what-does-it-come-with)\n  + [Can I run this on a live USB?](#can-i-run-this-on-a-live-usb)\n  + [Does this work on Ubuntu Server?](#does-this-work-on-ubuntu-server)\n\n## 📹 Video - silent install, 2023.12.06\n\n[Ubuntu-04-screen0_10x.webm](https://github.com/hiAndrewQuinn/shell-bling-ubuntu/assets/53230903/916e83a1-ba33-4969-a477-d1e1d149e79c)\n\n\nThe above is 10x to give a feel for how the commands work, it usually takes 5 to 10 minutes. [Normal-speed video here.](https://www.youtube.com/watch?v=dytkLqD674k)\n\n\n\n## Quickstart\n\n_From a brand spanking fresh new install of **Ubuntu 24.04**!_\n\n### (optional) Bless your efforts\n\nBefore you begin whatever you're doing, take a deep breath, and [say](https://www.youtube.com/watch?v=mFo5UxECKA4)\n\n    *Satellite from days of old, lead me to your access code.*\n\n### Get the bling\n\n```bash\nsudo apt update\nsudo apt install -y curl   # well it can't all be in a script!\ncurl https://raw.githubusercontent.com/hiAndrewQuinn/shell-bling-ubuntu/main/shell-bling-sudo.bash | sudo bash\n```\n\nClose your terminal, and use `Ctrl+Alt+T`. This time you should open into the Kitty terminal emulator, not the stock Ubuntu one.\n\n```bash\ncurl https://raw.githubusercontent.com/hiAndrewQuinn/shell-bling-ubuntu/main/shell-bling-user.bash | bash\n\nchsh -s $(which fish)\n````\n\nClose and reopen your terminal again.\n\n```fish\n# ⚠️ This will ask you DYNAMICALLY to pick your text editor.\ncurl https://raw.githubusercontent.com/hiAndrewQuinn/shell-bling-ubuntu/main/shell-bling.fish | fish\n```\n\nClose and reopen your terminal one more time.\n\nThen run `nvim`. You should see it pop up with all the neat little icons.\n\n![VirtualBox_ubuntu-golden-02_12_10_2023_20_46_36-no_copilot](https://github.com/hiAndrewQuinn/shell-bling-ubuntu/assets/53230903/bb79a4e1-3aed-4f2c-b1f8-efa4789d3850)\n\n\n### (optional) Add Copilot to Neovim\n\nLazyVim was the only Neovim setup that had instructions for integrating it with Github Copilot last I checked, and now it's even easier\nto install.\n\n1. Hit `e` to bring up \"Lazy Extras\". (It might also be `x` on your machine, look at the screen!)\n2. Go to `coding.copilot` and hit `x` to install it. Then `:q`uit Neovim and restart it.\n3. Finally, run `:Copilot auth` to start the authentication process.\n\n![VirtualBox_ubuntu-golden-02_12_10_2023_20_46_20](https://github.com/hiAndrewQuinn/shell-bling-ubuntu/assets/53230903/e4c3f3bc-9bc3-4939-89c1-98a527560f95)\n\n\n## FAQ\n\n### What does it come with?\n\nLook in the scripts and see for yourself! But here's a quick one-line explanation of everything in here so far, and why you might find it useful:\n\n#### The Holy Trinity\n- [fzf](https://github.com/junegunn/fzf): **Fuzzy search _anything_.** The best thing since sliced bread. I love `fzf` so much I have [a whole blog post](https://andrew-quinn.me/fzf/) about it!\n  - Before you ask, **yes, this comes with the keybindings too!** `Ctrl+R` search in fish and `Alt-C` should work out of the box.\n- [fd](https://github.com/sharkdp/fd): **Fastest find in the West.** A simple, fast, and user-friendly alternative to the classic \"find\" command.\n  - Works _exceptionally_ well with `fzf` to find that specific file, whose name you know but just can't pin down, 7 or 8 subdirectories deep!\n  - ⚠️ Note that we **_do_ symlink this to the `fd` command**, which you have to do as an extra step on Ubuntu. (Otherwise it's just linked as `fdfind`, and really, who's going to go to the effort of typing _two more letters_ just to use something better than `find`?)\n- [ripgrep](https://github.com/BurntSushi/ripgrep): **Fastest grep in the West.** A line-oriented search tool that recursively searches your current directory for a regex pattern, faster than most other tools.\n  - Works _exceptionally_ well with `fzf` to find that specific line, in that specific file, 7 or 8 subdirectories deep!\n  - ⚠️ Note that **it is called `rg` at the command line**, as in `grep whatever` == `rg whatever`. _Not_ `ripgrep whatever`!\n\n#### Shells and Terminal Utilities\n- [fish](https://fishshell.com/): The **nicest out-of-the-box shell I've ever used**. Gives you autocomplete, in-shell highlighting, the works!\n- [starship](https://starship.rs): A **minimal, blazing-fast, and infinitely customizable prompt** for any shell! Shows the info you need while staying sleek and minimal. I like it especially because it works with bash, fish, PowerShell, elvish, you name it!\n- [tmux](https://github.com/tmux/tmux/wiki): A terminal multiplexer. Lets you work with **multiple terminal sessions in one window** and **long-running, detachable SSH sessions**, if, like me, you sometimes just want to remote into a machine once every 2 weeks for 6 months at a time without losing your place.\n- [kitty](https://sw.kovidgoyal.net/kitty/): A fast, feature-rich, GPU-based terminal emulator. (And the best one I know of which **supports ligatures!**)\n  - And to _get_ those ligatures, we set Kitty up to use [Fira Code by default](https://github.com/tonsky/FiraCode) everywhere!\n- [xclip](https://github.com/astrand/xclip): A command-line interface to the X11 clipboard, allowing you to **copy and paste between the terminal and GUI apps by piping to it.** Comes in handy way too often for me to live without!\n\n#### Help Text ... Helpers\n- [tldr](https://tldr.sh/): **Simplified and community-driven man pages**. It offers quick references to common command-line tasks.\n- [cheat](https://github.com/cheat/cheat): Allows you to **create and view interactive cheatsheets** on the command-line. It was designed to help remind *nix system administrators of options for commands that they use frequently, but not frequently enough to remember.\n\n#### File and Directory Utilities\n- [zoxide](https://github.com/ajeetdsouza/zoxide): **A smarter `cd`** that learns your habits and preferences over time!\n- [lsd](https://github.com/Peltoche/lsd): A **modern version of the `ls` command** with a lot of improvements such as color support, icons, and more.\n- [tree](http://mama.indstate.edu/users/ice/tree/): Displays directories as trees (with optional color and HTML output). I'm just always surprised this isn't installed by default!\n\n#### Text Editors and Viewers\n- [bat](https://github.com/sharkdp/bat): **cat but with syntax highlighting**. I'm entirely serious, it's a big improvement!\n- [micro](https://github.com/zyedidia/micro): **Finally, a command-line editor for non-Vimmers!** A modern and intuitive terminal-based text editor, similar to (but much nicer than!) the default `nano`.\n- [vim](https://www.vim.org/): **The OG.** An advanced text editor that's been around for decades, allowing efficient text editing with keyboard shortcuts.\n- [neovim](https://neovim.io/): A modern refactor of Vim, which has since spawned its own _huge_ community.\n  - ⚠️ **This installs the latest _unstable_ Neovim version,** not the woefully out-of-date one that comes by default with Ubuntu. We need this because we also install...\n    - [LazyVim](https://www.lazyvim.org), the only \"full-featured\" Neovim setup that actually [has instructions on how to install Copilot](https://www.lazyvim.org/extras/coding/copilot). (It's possible in all of them, but actually being documented was what won me over!)\n- [helix](https://helix-editor.com/): **Post-modern, zero-config.** A terminal-based text editor that's _actually_ modern and intuitive, with a focus on speed and minimalism.\n\n#### Development and Coding Tools\n- [git](https://git-scm.com/): **The GOAT.** The most widely used distributed VCS on the planet. Always surprised this doesn't come pre-installed!\n  - [git-delta](https://github.com/dandavison/delta): Never get confused by `git diff` again! A viewer for git and diff output with syntax highlighting and line numbers.\n- [entr](https://github.com/eradman/entr): **Run $COMMAND when $FILE changes.** _Crazy_ useful for setting up quick little auto-compiling/testing loops during development, especially if you're using [tmux](https://github.com/tmux/tmux/wiki) or [kitty](https://sw.kovidgoyal.net/kitty/)'s tabs.\n\n#### Data Manipulation and Viewing\n- [jq](https://stedolan.github.io/jq/): A lightweight and flexible command-line JSON processor. A must-have for parsing and manipulating JSON data.\n- [gron](https://github.com/tomnomnom/gron): **Make JSON greppable!** by transforming it into discrete, greppable assignments. Pairs surprisingly nicely with `jq` if you use it to figure out what to actually _write_ in `jq`.\n- [csvkit](https://csvkit.readthedocs.io/en/latest/): **Your CSV scalpels,** because we all know what file format the business world _really_ runs on. (Plenty of other great options here! `xsv`, `miller`, and `csv-to-sqlite` to name a few! I chose this just because I like having separate commands for `csvjoin`, `csvcut`, etc.)\n\n#### System Monitoring and Search\n- [htop](https://hisham.hm/htop/): An interactive process viewer, providing a real-time, color-coded overview of running processes.\n- [lnav](https://lnav.org/): An **advanced log file viewer** for the small-scale. It helps you navigate through your log files, and it can automatically identify and color-highlight different log file structures.\n- [bottom](https://github.com/ClementTsang/bottom): **CPU usage graphs? In _my_ terminal?** It's more likely than you think.\n\n\n#### Things Other Things Here Need To Work Right\n- [curl](https://curl.se/): A command-line tool for getting or sending data using URL syntax. It supports multiple protocols, making it a go-to for many web operations. Needed to, well, `curl` the scripts here.\n- [gcc](https://gcc.gnu.org/): The GNU Compiler Collection, providing compilers for various programming languages. Needed for some of the stuff [LazyVim](https://www.lazyvim.org) installs.\n- [make](https://www.gnu.org/software/make/): A utility that automatically builds executable programs and libraries from source code. Needed for one of the packages [LazyVim](https://www.lazyvim.org) installs.\n- [g++](https://gcc.gnu.org/): The **GNU C++ compiler**. It's an essential tool for compiling C++ code. Needed for some of the stuff [LazyVim](https://www.lazyvim.org) installs.\n- [nodejs](https://nodejs.org/): A **JavaScript runtime** built on Chrome's V8 JavaScript engine. Essential for a variety of JavaScript tasks and development workflows. Needed for LazyVim's Copilot server.\n\n\nIf I've forgotten anything, let me know!\n\n### Can I run this on a live USB?\n\n**I don't recommend it**; for some reason, every time I've tried these on a Live USB in a VM with 8 GB of RAM allocated to it, the VM shuts down mysteriously. Running `watch free -h` hasn't revealed to me any obvious out of RAM error, so I'm stumped! Can _you_ help me debug this mysterious issue?\n\n### Does this work on Ubuntu Server?\n\n**Yes!** Here's a Raspberry Pi SSH connection (using `kitty +kitten ssh` for [true convenience](https://sw.kovidgoyal.net/kitty/kittens/ssh/)) running Ubuntu Server 23.10. I had no issues at all installing it:\n\n![image](https://github.com/hiAndrewQuinn/shell-bling-ubuntu/assets/53230903/a560e67d-27d2-4563-915b-2f3f40213851)\n\n![image](https://github.com/hiAndrewQuinn/shell-bling-ubuntu/assets/53230903/7ea13026-eddf-40be-b817-5dac1eeaf5b1)\n\n### Where else does this work?\n\nHere's a list of places your humble author has ran these scripts and found them to work unaltered:\n\n- [Laravel](https://laravel.com/)'s [Homestead](https://laravel.com/docs/8.x/homestead) VM.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FhiAndrewQuinn%2Fshell-bling-ubuntu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FhiAndrewQuinn%2Fshell-bling-ubuntu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FhiAndrewQuinn%2Fshell-bling-ubuntu/lists"}