Skip to content

Instantly share code, notes, and snippets.

@jnsgruk
Last active June 24, 2025 13:58
Show Gist options
  • Select an option

  • Save jnsgruk/64b7418183bd3abfbe68e878907608e3 to your computer and use it in GitHub Desktop.

Select an option

Save jnsgruk/64b7418183bd3abfbe68e878907608e3 to your computer and use it in GitHub Desktop.
elements:
- name: 1password
packages:
- name: 1password
kind: deb
hosts: [freyja, kara, njord]
- name: 1password-cli
kind: deb
hosts: [thor]
apt-repositories:
- name: 1password
url: https://downloads.1password.com/linux/debian/amd64
release: stable
component: main
keyring: https://downloads.1password.com/linux/keys/1password.asc
- name: tailscale
packages:
- name: tailscale
kind: deb
- name: tailscale-archive-keyring
kind: deb
apt-repositories:
- name: tailscale
hosts: [kara, njord, freyja]
url: https://pkgs.tailscale.com/stable/ubuntu
release: noble
component: main
keyring: https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg
files:
- name: tailscale-ip-forwarding
hosts: [thor]
path: /etc/sysctl.d/99-tailscale.conf
permissions: 0o644
uid: 0
gid: 0
contents: |
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
post-provision: |
sysctl -p /etc/sysctl.d/99-tailscale.conf
scripts:
- name: exit-node-optimisation
hosts: [thor]
# provision-source: ./scripts/provision-tailscale
provision: |
# Enable transport layer offloads for better throughput on exit nodes
printf '#!/bin/sh\n\nethtool -K %s rx-udp-gro-forwarding on rx-gro-list off \n' "$(ip -o route get 8.8.8.8 | cut -f 5 -d " ")" | sudo tee /etc/networkd-dispatcher/routable.d/50-tailscale
chmod 755 /etc/networkd-dispatcher/routable.d/50-tailscale
# deprovision-source: ./scripts/deprovision-tailscale
deprovision: |
rm /etc/networkd-dispatcher/routable.d/50-tailscale
- name: google-chrome
hosts: [kara, njord, freyja]
packages:
- name: google-chrome-stable
kind: deb
source: https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- name: lxd
packages:
- name: lxd
kind: snap
post-install: |
lxd waitready
lxd init --minimal
sudo usermod -aG lxd $SUDO_USER
lxc config set core.https_address :8443
- name: flameshot
packages:
- name: flameshot
kind: deb
- name: dev-charms
packages:
- name: charmcraft
kind: snap
- name: rockcraft
kind: snap
- name: snapcraft
kind: snap
- name: juju
kind: snap
- name: jhack
kind: snap
connections:
- jhack:dot-local-share-juju snapd
- jhack:ssh-read snapd:ssh-keys
- name: ghostty
packages:
- name: ghostty
kind: snap
channel: latest/stable
files:
# Simple source/dest
- name: ghostty base config
source: ./configs/ghostty/config
path: $HOME/.config/ghostty/config
# Host limited source/dest
- name: ghostty config (kara)
hosts: [kara]
source: ./configs/ghostty/config-kara
path: $HOME/.config/ghostty/config-kara
# Host limited file contents
- name: ghostty config (freyja)
hosts: [freyja]
contents: |
window-decorations = false
font-size = 12
path: $HOME/.config/ghostty/config-kara-overrides
- name: gsettings
- org.gnome.desktop.default.applications.terminal:
exec: /snap/bin/ghostty
- name: gnome-extensions
- name: tactile
id: tactile@lundal.io
gsettings:
- org.gnome.shell.extensions.tactile:
gap-size: 5
grid-cols: 5
grid-rows: 2
col-0: 7
col-1: 13
col-2: 20
col-3: 10
col-4: 10
- name: emoji-copy
id: emoji-copy@felipeftn
gsettings:
- org.gnome.shell.extensions.emoji-copy:
always-show: false
emoji-keybind: "['<Super>e']"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment