# @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 - ecdsa-37851076-sk@staging - ed25519-37851076-sk@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: 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: 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 # :]> 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