Run:
sudo ./ubuntu_setup.sh
Among other things this makes sure the users from the wheel group have passwordless sudo.
Add those wheel users yourself, with sudo usermod -a -G wheel USERNAME for an existing USERNAME.
I've made the user toor to have a dedicated prompt with zsh, but the choice is ultimately yours.
First:
sudo adduser --encrypt-home {name}
sudo ./govern_user.sh {name}
Log in as this user in Gnome. In there:
- Launch Chromium.
- This creates its config dir.
- Close Chromium and start it again.
- This offers to set it as the default browser.
- Pin it to the dash is wanted.
- Close Chromium.
Then run:
./setup_user.sh
This should configure the Chromium profile, plus set the wallpaper and the profile pic, plus unpack user-specific files.
Done!
wget df.dima.ai -O df.zip && unzip df.zip && mv dotfiles-main dotfiles
dk launches an ephemeral Docker container with your user identity and a zsh shell.
When you run dk from inside a clean git repo, the repo is automatically available inside the container:
dkclones your current branch into.dk.tmp/upstreamand starts the container.- Inside the container you land in
/app/<repo-name>/— this is the clone. - Make commits as usual.
- When you exit the container,
dkdetects new commits and prompts:Pressing Enter (default: yes) fast-forward merges the changes into your host branch.Pull changes from dk container into <repo-name>? [Y/n]
If the host repo has uncommitted changes, dk refuses to start and lists what's dirty.
Running dk from a non-git directory gives a plain container with no repo.
Claude Code is pre-installed in the dk container. On first use you need to authenticate once and save the credentials:
- Run
dk— you'll see a message that Claude is not configured. - Inside the container, run
claudeand complete the authentication flow. - Run
save_claude_dk_setup— this snapshots your~/.claudedirectory. - Exit the container —
dkpicks up the snapshot and saves it to~/.dk.claude_keyon the host.
On subsequent runs, dk automatically restores ~/.claude inside the container.
The c alias runs claude --dangerously-skip-permissions for convenience.
To re-authenticate, delete ~/.dk.claude_key and repeat the steps above.
if [ -s ~/.ssh/id_ed25519.pub ] ; then echo "Already OK." ; else ssh-keygen -t ed25519 -C "$(whoami)-$(hostname)" ; fi
gpg --list-secret-keys --keyid-format=long
Please refer to the NOTES for deeper details.