# base packages sudo apt update -y sudo apt install -y git curl wget make vim xclip tmux gnupg jq unzip htop rclone vlc apt-transport-https ca-certificates flatpak # Add repos ## REGOLITH wget -qO - https://archive.regolith-desktop.com/regolith.key | gpg --dearmor | sudo tee /usr/share/keyrings/regolith-archive-keyring.gpg > /dev/null echo deb "[arch=amd64 signed-by=/usr/share/keyrings/regolith-archive-keyring.gpg] \ https://archive.regolith-desktop.com/ubuntu/stable noble v3.2" | sudo tee /etc/apt/sources.list.d/regolith.list ## 1password curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/keyrings/1password-archive-keyring.gpg echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/1password-archive-keyring.gpg] https://downloads.1password.com/linux/debian/amd64 stable main' | sudo tee /etc/apt/sources.list.d/1password.list sudo mkdir -p /etc/debsig/policies/AC2D62742012EA22/ curl -sS https://downloads.1password.com/linux/debian/debsig/1password.pol | sudo tee /etc/debsig/policies/AC2D62742012EA22/1password.pol sudo mkdir -p /usr/share/debsig/keyrings/AC2D62742012EA22 curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/debsig/keyrings/AC2D62742012EA22/debsig.gpg ## Jotta sudo curl -fsSL https://repo.jotta.cloud/public.asc -o /usr/share/keyrings/jotta.gpg echo "deb [signed-by=/usr/share/keyrings/jotta.gpg] \ https://repo.jotta.cloud/debian debian main" | sudo tee /etc/apt/sources.list.d/jotta-cli.list # INSTALL STUFF sudo apt update -y sudo apt install -y \ regolith-desktop regolith-session-flashback regolith-look-gruvbox \ i3xrocks-focused-window-name i3xrocks-info i3xrocks-weather i3xrocks-bluetooth i3xrocks-net-traffic i3xrocks-wifi i3xrocks-cpu-usage i3xrocks-nm-vpn i3xrocks-temp i3xrocks-disk-capacity i3xrocks-memory i3xrocks-battery i3xrocks-rofication i3xrocks-updates i3xrocks-volume i3xrocks-time \ 1password \ jotta-cli # Configure terminal (TODO: Not working. Regolith doesn't use the `default` profile) PROFILE_ID=$(gsettings get org.gnome.Terminal.ProfilesList default) gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/$PROFILE_ID/ use-custom-command true gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/$PROFILE_ID/ custom-command tmux # Zen sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo sudo flatpak install flathub app.zen_browser.zen xdg-settings set default-web-browser app.zen_browser.zen.desktop ## Open account page to log into zen (TODO: not sure if this is enough to log into browser?) flatpak run app.zen_browser.zen https://accounts.firefox.com/ # Snap install sudo snap install chromium moonlight mqtt-explorer spotify # Snap install classic mode sudo snap install --classic code sudo snap install --classic obsidian sudo snap install --classic rustup # n-install curl -L https://bit.ly/n-install | bash -s -- -y # Set up 1password ## Disable default gnome ssh agent (TODO: Only do this if it actually exists?) mkdir -p ~/.config/autostart cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart/gnome-keyring-ssh.desktop echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/gnome-keyring-ssh.desktop ## Add 1pasword to autostart cat < ~/.config/autostart/1password.desktop [Desktop Entry] Type=Application Exec=1password --silent Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[en_US]=1password Name=1password Comment[en_US]= Comment= EOF ## Configure 1password ssh agent mkdir -p ~/.ssh echo -e "Host *\n IdentityAgent ~/.1password/agent.sock\n" >> ~/.ssh/config export SSH_AUTH_SOCK=~/.1password/agent.sock xdg-open "https://developer.1password.com/docs/ssh/get-started/#step-3-turn-on-the-1password-ssh-agent" & 1password & sleep 5 read -p "Log into 1password and enable SSH agent, then press enter. Need the SSH key in next steps." # dotfiles (commented out key generation until I confirm the 1password setup works) #ssh-keygen -t ed25519 -C "kristjan@lund.is" #cat ~/.ssh/id_ed25519.pub | xclip -i -selection clipboard # copy key to clipboard #xdg-open "https://github.com/settings/ssh/new" #read -p "Add ssh to GitHub account, then press enter" git clone git@github.com:MiniGod/dotfiles.git ~/dotfiles (cd ~/dotfiles && git switch master) (cd ~ && dotfiles/sync) # Z git clone https://github.com/rupa/z.git ~/z ## TODO: restore z's DB at `~/.z`? # Git mkdir ~/repos ~/git ~/tmp cat <> ~/repos/.gitconfig [user] email = kristjan.lund@marel.com EOF # Jotta (docs: https://docs.jottacloud.com/en/articles/1436855-jottacloud-cli-for-linux-debian-packages) run_jottad jotta-cli login jotta-cli ignores add --pattern '**/node_modules/**' jotta-cli ignores add --pattern '**/.angular/**' jotta-cli ignores add --pattern '**/.nx/cache/**' jotta-cli ignores add --pattern '**/.mono/registry/**' jotta-cli ignores add --pattern '**/.wrangler/**' jotta-cli add ~/Documents jotta-cli add ~/git jotta-cli add ~/repos