Skip to content

victoriadrake/dotfiles

Folders and files

NameName
Last commit message
Last commit date
Jul 21, 2020
Oct 8, 2023
Aug 22, 2020
Jan 29, 2022
Jul 21, 2020
Oct 9, 2021
Oct 9, 2021
Jul 21, 2020
Jul 21, 2020
Oct 9, 2021
Jan 29, 2022
Oct 8, 2023

Repository files navigation

Dotfiles for Ubuntu 22.04

My preferred starting configuration. Currently using Ubuntu 22.04 + Pop_OS! Shell for tiling.

The installation script (scripts/install.sh) will install a suggested serving of programs and applications using scripts in the scripts/programs/ directory. Please verify that you want these before running the script.

Add or delete programs in scripts/install.sh and scripts/programs/ to modify your installation.

Usage

After installing your fresh OS:

  1. Create any SSH keys you need to access GitHub. See copy-able commands for doing this below. If not generating new keys, place the ones you need in .ssh/. Remember to run ssh-add as well as chmod 600 <key_name>.

  2. Then clone this repository:

    git clone [email protected]:victoriadrake/dotfiles.git
    
    # Or use HTTPS
    git clone https://github.com/victoriadrake/dotfiles.git

    You may optionally like to pass the --depth argument to clone only a few of the most recent commits.

  3. Close Firefox if it's open, then run the installation script. (Read it first so you know what it does!)

    cd dotfiles/scripts/
    ./install.sh

To install the Pop_OS! Shell for window tiling, see Installation in their repo.

Random Helpful Stuff (TM)

Clone all your remote repositories

Given a list of repository URLs, gh-repos.txt, run:

xargs -n1 git clone < gh-repos.txt

Use the firewood Bash alias (see .bashrc) to collect remote branches.

See How to write Bash one-liners for cloning and managing GitHub and GitLab repositories for more.

Terminal theme

There are plenty of themes for Gnome terminal at Mayccoll/Gogh.

For the Gogh script to work, you may need to have an existing terminal profile named Default. This will get overwritten.

Print a 256-color test pattern in your terminal:

for i in {0..255} ; do
    printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i"
    if (( i == 15 )) || (( i > 15 )) && (( (i-15) % 6 == 0 )); then
        printf "\n";
    fi
done

Saving and loading configuration settings

Where SETTINGS_BACKUP is wherever you backed up/want to back up your settings (aptly named, isn't it?), load settings.dconf with:

dconf load /org/gnome/ < $(SETTINGS_BACKUP)/.config/dconf/settings.dconf

Back up new settings with:

dconf dump /org/gnome/ > $(SETTINGS_BACKUP)/.config/dconf/settings.dconf

Run man dconf on your machine for more.

Set up SSH Keys

Commands for setting up a new SSH key.

  1. Generate the key:

    ssh-keygen -t ed25519
  2. Add it to the ssh-agent:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
  3. Set appropriate permissions:

    chmod 600 ~/.ssh/id_ed25519
  4. Show the public key so you can copy it to the service, e.g. GitHub:

    cat ~/.ssh/id_ed25519.pub

Your personal CLI tool Makefile

See the Makefile in this repository for some helpful command aliases. Read about self-documenting Makefiles on my blog.