Skip to content

[MIRROR FROM GITLAB] My dotfiles, managed by Chezmoi and Ansible

Notifications You must be signed in to change notification settings

tmeijn/dotfiles

Repository files navigation

Dotfiles managed by Chezmoi and Ansible 🛠️

[toc]

Welcome to my collection of dotfiles! These configurations help personalize and streamline my development environment across various tools and applications.

Note: Only Ubuntu 24.04 is supported, In particular Ubuntu Asahi (arm64).

TL;DR

Prerequisites

Make sure you have the following installed:

  • wget
  • A terminal

Run Chezmoi

sh -c "$(wget -qO- get.chezmoi.io) -- init --apply --verbose tmeijn"

Playbook

  1. In a terminal, execute:

    sh -c "$(wget -qO- get.chezmoi.io) -- init --apply --verbose --exclude scripts tmeijn"
  2. Close the terminal and open a new terminal and execute:

    sh -c "$(wget -qO- get.chezmoi.io) -- init --apply --verbose tmeijn"

    note: this might crash during installation. In that case open a new terminal and keep running chezmoi apply.

  3. After reboot unlock Bitwarden using rbw unlock

  4. Login to Atuin:

    atuin login -u zero-mass92 -p $(rbw get "Atuin Sync") -k "$(rbw get "Atuin Sync" -f Key)"
  5. Navigate to the chezmoi dir by executing chezmoi cd

  6. Update the remote url with git remote set-url origin [email protected]:tmeijn/dotfiles.git

  7. Run the script that will generate SSH key and upload both to gitlab.com and github.com:

    bash gen_ssh_key_and_add_to_scms.sh
  8. Run the script that will clone all repositories defined by ghorg reclone:

    bash clone_repositories.sh

Configure Firefox 🦊

In a terminal, get the Firefox Account Password by running:

 rbw get "Firefox Account" | pbcopy

Open Firefox and open the top-right menu to enable sync. You will be required to login, use your email and the password you just copied to your clipboard. After logging in, all the Add-ons will be synced to the machine.

When the Bitwarden Add-on is installed, login to your vault.

Login to following sites:

Configure VS Code 🎹

down-right, login using your GitHub account. Everything should be synced afterwards.

Configure Microsoft Account

Open Settings -> Online Accounts. Click the Microsoft 365 account and add the following ID as tenant ID: 8ef61e06-9fd5-49af-9b63-6983aede4213. Source. Note that this should no longer be needed once we run Gnome 47, which has this pre-configured.

NOTE: this does not work correctly with syncing back so we started using rclone. Document this before pushing this readme again. summary steps:

https://itsfoss.com/use-onedrive-linux-rclone/ Followed this guide.

Speedrun record 🏃

I try and re-install my system about every month while measuring how long it takes to set back up again. Since this is on Ubuntu Asahi, I measure this from the point the OS is installed and a new user with my name has been set up.

Current record: 20:38:32 (- ~12min), set at 28-01-2024.

Tools Used 🧰

Everything is managed by chezmoi. The run_once_ Bash scripts install all the tools we depend upon and actually manage the machine, namely:

  • Aqua: aqua is our entrypoint and actually installs Mise and a lot of other single-binary, zero dependency tools.
  • Mise: mise manages our more involved tools like Python, Node, Go, Rust, etc. See the config.toml for all dependencies managed.
  • Ansible: Ansible manages our installed Applications using Flatpak, APT and sometimes a plain .deb file. See the Ansible Playbook for more detailed information.

References 📚

Feel free to explore and modify these dotfiles according to your preferences. Happy coding! 🚀

Inspiration for Chezmoi dotfiles

(Legacy) -- References accumulated when trying out Nix

About

[MIRROR FROM GITLAB] My dotfiles, managed by Chezmoi and Ansible

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published