# @TODO create inventory group variables akin to structure of sukaato group's for homeserver # > representing password for Linux root user account of VPS password: "{{ lookup('password', './.tmp/' + inventory_hostname + '.pass', seed=inventory_hostname, encrypt='sha512_crypt') }}" # > representing Linux distro or OS image to be used for VPS # operating_system: "tftp://hikiki.local:69/debian.iso" operating_system: ~ # ]> of control node or local SSH key basenames ssh_keys: - ed25519@staging - ecdsa@staging # > list of administrative users (in Linux, users that can use "sudo") admins: - username: senpai # arbitrary valid user name services: ~ # ]> if linux system user, assocated servce # ]> list of control node or local SSH key basenames for this user ssh_keys: # @TODO add secondary and teriary Yubikeys - ed25519@staging - ecdsa@staging # > hashed (and maybe salted) password password: "{{ lookup('password', './.tmp/senpai@' + inventory_hostname + '.pass', seed='senpai@' + inventory_hostname, encrypt='sha512_crypt') }}" # :]> package groups pkgs: # :]> representing package groups installed by package manager via repositories mngr: # ]> representing system-level or essential packages core: - name: "zfsutils-linux" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "zfs-dkms" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: cron uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "cron-daemon-common" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "xz-utils" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: wireguard uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: wireguard - name: "wireguard-tools" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: vagrant uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "vagrant-libvirt" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "qemu-system" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "qemu-kvm" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "bridge-utils" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: libvirt uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "libvirt-clients" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "libvirt-daemon-system" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "virt-install" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "virt-viewer" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: sudo uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "kitty-terminfo" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: whois uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: smartmontools uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: snapd uri: ~ sources: ~ sigkey: ~ types: ~ suites: ~ comps: ~ handler: default - name: git uri: ~ sources: ~ sigkey: ~ types: ~ suites: ~ comps: ~ handler: git - name: "git-delta" uri: ~ sources: ~ sigkey: ~ types: ~ suites: ~ comps: ~ handler: default - name: "git-doc" uri: ~ sources: ~ sigkey: ~ types: ~ suites: ~ comps: ~ handler: default - name: "git-man" uri: ~ sources: ~ sigkey: ~ types: ~ suites: ~ comps: ~ handler: default - name: fail2ban uri: ~ sources: ~ sigkey: ~ types: ~ suites: ~ comps: ~ handler: default - name: glow uri: ~ sigkey: "https://repo.charm.sh/apt/gpg.key" sources: "https://repo.charm.sh/apt/" types: deb suites: "*" comps: "*" handler: default - name: pandoc uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: curl uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "build-essential" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: fastfetch uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: gcc uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: dpkg-dev uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: ufw uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: avahi-daemon uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: avahi-utils uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: libpam-u2f uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: pamu2fcfg uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: pcscd uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: tftpd-hpa uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: gocryptfs uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: cryfs uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: tmux uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "cpu-checker" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "libpam-doc" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: gnupg uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "gnupg-agent" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default userspace: - name: aria2 uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: aria - name: "libpam-google-authenticator" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: "libpam-google-authenticator" - name: vim uri: ~ sources: ~ sigkey: ~ types: ~ suites: ~ comps: ~ handler: vim - name: "vim-vimwiki" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "vim-doc" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: neovim uri: ~ sources: ~ sigkey: ~ types: ~ suites: ~ comps: ~ handler: neovim - name: sqlite3 uri: ~ sources: ~ sigkey: ~ types: ~ suites: ~ comps: ~ handler: default - name: podman uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: podman - name: passt uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "podman-compose" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: distrobox uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: python3.13 uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "python3-venv" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "python3-pip" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "python3-doc" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: golang uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "golang-doc" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: hugo uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "yt-dlp" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "syncthing-discosrv" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "syncthing-relaysrv" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: burp uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: rsync uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: rclone uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: proftpd uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: reprepro uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: erlang uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "erlang-hex" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: erlang-doc uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: elixir uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default - name: "libsecret-1-dev" uri: ~ sigkey: ~ sources: ~ types: ~ suites: ~ comps: ~ handler: default # :]> representing package groups installed by shell scripts script: # ]> representing user-level or supplemental shell script installations userspace: - name: radicle src: "https://radicle.dev/install" pre: ~ post: ~ handler: radicle - name: rustup src: "https://sh.rustup.rs" pre: ~ post: ~ handler: rustup - name: julia src: "https://install.julialang.org" pre: ~ post: ~ handler: julia - name: uv src: "https://astral.sh/uv/install.sh" pre: ~ post: ~ handler: uv # :]> representing package groups installed from source archives archive: # ]> representing user-level or supplemental source archives userspace: - name: surge src: "https://github.com/SurgeDM/Surge/releases/download/v0.8.6/Surge_0.8.6_linux_amd64.tar.gz" deploy: ~ pre: ~ post: ~ handler: surge - name: nvm src: "https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-x64.tar.xz" deploy: ~ pre: ~ post: ~ handler: nvm - name: difftastic src: "https://github.com/Wilfred/difftastic/releases/download/0.69.0/difft-x86_64-unknown-linux-gnu.tar.gz" deploy: ~ pre: ~ post: ~ handler: difftastic # :]> representing package groups installed from source git repositories git_repos: userspace: # # @TODO use below to build Podman container instead, to deploy with podman-compose # # @NOTE https://github.com/papis/papis and https://papis.readthedocs.io/en/latest/ # - name: papis # src: "https://github.com/papis/papis.git" # branch: main # deploy: ~ # pre: ~ # post: ~ # handler: false - name: "skato-compose" src: "https://{{ source_code.host }}/{{ source_code.user }}/{{ source_code.repos.compose.name }}.git" branch: main deploy: ~ pre: ~ post: ~ handler: skato_compose - name: skato-cli src: "https://{{ source_code.host }}/{{ source_code.user }}/{{ source_code.repos.cli.name }}.git" branch: main deploy: ~ pre: ~ post: ~ handler: skato_cli - name: "skato-blog-theme" src: "https://{{ source_code.host }}/{{ source_code.user }}/{{ source_code.repos.blog_theme.name }}.git" branch: main deploy: ~ pre: ~ post: ~ handler: skato_blog_theme - name: "skato-blog" src: "https://{{ source_code.host }}/{{ source_code.user }}/{{ source_code.repos.blog.name }}.git" branch: main deploy: ~ pre: ~ post: ~ handler: skato_blog - name: sukaato src: "https://{{ source_code.host }}/{{ source_code.user }}/{{ source_code.repos.site.name }}.git" branch: main deploy: ~ pre: ~ post: ~ handler: sukaato - name: quartz src: "https://github.com/jackyzha0/quartz.git" branch: v5.0.0 deploy: ~ pre: ~ post: ~ handler: quartz