freeipa-image-builder.sh: TUI chooser that builds a FreeIPA server image
and exports it to four target formats:
docker — builds via podman/docker, optional registry push
lxc — exports container rootfs as .tar.zst Proxmox CT template,
generates pct import instructions
proxmox-vm — downloads Rocky/Fedora cloud image, customizes with
virt-customize, outputs QCOW2 + cloud-init user-data.yml
oci-archive — skopeo OCI tarball for air-gapped import
Keycloak TUI option generates the full constellation:
docker-compose.yml FreeIPA + Keycloak + PostgreSQL stack
.env pre-filled env template (passwords placeholder)
keycloak-configure.sh post-start Keycloak REST API config script
image/Dockerfile: Fedora 41 + freeipa-server-dns + ansible-core,
systemd-enabled container (CMD /sbin/init).
image/ipa-first-boot.{sh,service}: systemd oneshot that runs
ipa-server-install on first container/VM boot from env vars
(IPA_DOMAIN, IPA_ADMIN_PASSWORD, IPA_DM_PASSWORD, and optionals).
ConditionPathExists=!/etc/ipa/default.conf makes it idempotent.
image/keycloak-configure.sh: Keycloak REST API automation that:
- waits for Keycloak readiness
- creates a realm
- wires FreeIPA LDAP user federation (READ_ONLY, vendor=rhds)
- adds attribute mappers: email, firstName, lastName, uidNumber
- adds group mapper (IPA groups → Keycloak groups, cn=groups,cn=accounts)
- triggers an initial full user sync
image/docker-compose.yml: freeipa + postgres + keycloak services on
a private 172.30.0.0/24 bridge; FreeIPA has a fixed IP so Keycloak
can resolve it via extra_hosts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||
|---|---|---|
| clamav | ||
| desktopenvs | ||
| doc | ||
| git | ||
| gtk-themes/cyberqueer | ||
| micro | ||
| nvim | ||
| qt-themes/cyberqueer | ||
| resources | ||
| setup | ||
| spotify-tui | ||
| yazi | ||
| .bashrc | ||
| .gitignore | ||
| .vimrc | ||
| .zshrc | ||
| apply-theme.sh | ||
| colors.conf | ||
| decrypt.sh | ||
| encrypt.sh | ||
| etc-ly-config.ini | ||
| readme.md | ||
| setup-creds-missing.sh | ||
| starship.toml | ||
| update-aur-onebyone.sh | ||
| update.sh | ||
| zshplugins.sh | ||
readme.md
Dotfiles
config for using arch linux in network administration, development and gaming
Installation
!!! Please Read the instructions on Installation !!!Installation instructions
- Clone the Repository
- Navigate to Dotfiles/setup
- execute setup/autoformat.sh and accept the prompts on screen, for default partitioning layout
- execute setup/live-install.sh and accept the prompts on screen
- after being chrooted by setup/live-install.sh go to the Filesystem root and execute chroot-install.sh
- reboot
- run setup/install.sh
- if needed run setup/modules/... to install additional preconfigured modules
- reboot after running all desired installers
TODO
Prio
- Finish the new install script
Ongoing tasks
- move all config dirs that get modified after install to being copied to the client or linking individual files where relevant -> known offenders: micro, some nwg-shell components
Non-Prio
- implement the hypr-ecosystem components:
hyprpwcenter,hyprshutdown - solution for updates - Possibly using package list being read by script; Also possibly using git diff on some kind of .config manifest
- clamav Module
- eww sidebar popup menu ??? not sure on functionality yet - maybe cpu/ram/gpu usage
Completed
- add screen rotation (script, keybind, eww widget) for touchscreens
- some kind of per monitor startup script for the bar
- set cmd+F1 to show a list of keybinds (regex on binds.conf???)
- automatic monitor handling on new attatched
- default to swapping esc and capslock in input.conf
- Create Module for installing from the arch live enviroment
- bluetooth tray icon
- make toggling EWW bar less delayed -> only toggle the bar don't kill it
- optional module that installs discord, steam
- try to remove hyprland-git before installing
- hyprsleep
- make full gtk-4 theme
- input config for use with touchscreens -> install+enable hyprgrass; button that enables hyprtabs?