Commit Graph

973 Commits (33d2fe771522e1db0804b5ab25a498a48bf2585c)

Author SHA1 Message Date
Amir Alexander Abdelbaki 0c319b4286 audit-packages: add --fix flag to reinstall wrong-source packages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 19:38:12 +02:00
Amir Alexander Abdelbaki 4d797c537d amssh: fix FIDO2 auth; add pamtester to core; add package audit script
- amssh: use dedicated /etc/pam.d/amssh service instead of login (pam_u2f
  was commented out in login); auto-create service and register key on
  first-launch FIDO selection
- amssh: redirect pamtester stdout+stderr to /dev/tty so the tap prompt is
  visible and the success message doesn't contaminate pass=$(_get_passphrase)
- amssh: split _fido_pam_available into _fido_hardware_available (for dialog
  gating) and _fido_pam_available (runtime — requires keys file + PAM service)
- setup: add pamtester to core-packages.sh
- setup: add audit-packages.sh to verify installed packages come from the
  expected source (pacman/AUR/flatpak)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 19:09:38 +02:00
Amir Alexander Abdelbaki bdc5b55c57 setup: expand apps list, fold nettools into core, fix hyprland packages
Apps (new individual scripts):
  wireshark, localsend, onlyoffice, vintagestory

core-packages.sh: add nmap mtr tcpdump net-tools iputils ipcalc
  (bind + traceroute were already present; wireshark is now optional)

hyprland.sh:
  - pinta moved from yay to pacman (available in extra)
  - localsend removed from mandatory yay install (now an optional app)

Deprecate nettools.sh — all its packages are now in core or split out.

tui-install.sh: apps checklist gains wireshark, localsend, onlyoffice,
  vintagestory; drops nettools; dialog sized for 12 items.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:46:30 +02:00
Amir Alexander Abdelbaki 17bfa0e884 setup: add per-app install scripts and TUI apps phase
Break up gaming-packages.sh and network-developer-packages.sh into
individual scripts under optional-Modules/apps/:
  steam, vesktop (+ Vencord config), spotify (+ Spicetify config),
  prismlauncher, nettools, k8s

tui-install.sh:
  - Simplify component checklist to 5 items: pkg/core/svc/shell/de
  - Add dedicated "Applications" checklist phase after DE selection,
    covering all 9 optional apps independently
  - count_steps accounts for each selected app as a separate step
  - Confirmation summary shows components and apps in separate sections

install.sh: replace unconditional bundle calls with commented-out
  individual app lines (opt-in)

Deprecate gaming-packages.sh and network-developer-packages.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:25:50 +02:00
Amir Alexander Abdelbaki 670637f805 sway.sh: separate shell from DE, add config copy loop
- Remove all shell components (zsh, oh-my-zsh, starship, dotfile
  symlinks) — shell-setup.sh covers these and can now run independently
  of any DE selection
- Replace ln -sf DE config links with a CONFIGS copy loop (consistent
  with hyprland.sh)
- Add colors.conf and apply-theme.sh to the config deployment section
- Drop packages already handled by core/shell modules (base, git, yay,
  micro, nano, zsh, fastfetch, etc.)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:06:17 +02:00
Amir Alexander Abdelbaki 0477c979e3 setup: housekeeping — rename, deprecate, fix refs
- Desktop-Enviroments/ → Desktop-Environments/ (fix typo)
- hyprland-new.sh → hyprland.sh (drop -new suffix now that it's the only installer)
- Move old symlink-based hyprland.sh to deprecated/
- Move aur-yay.sh to deprecated/ (superseded by package-managers.sh)
- Delete binary blobs: Nordzy-cursors-lefthand.tar.gz, fastfetch-linux-amd64.deb.1.old
- install.sh: fix broken shell.sh ref → shell-setup.sh; update DE paths
- tui-install.sh: update DE paths to match new names

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 15:02:25 +02:00
Amir Alexander Abdelbaki de28a2319c sway.sh: copy apply-theme.sh to ~ at install
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 14:28:29 +02:00
Amir Alexander Abdelbaki 3f813b91e5 sway.sh: copy colors.conf instead of symlinking
Consistent with hyprland installers — prevents apply-theme.sh from
writing through a symlink back into the git repo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 14:26:51 +02:00
Amir Alexander Abdelbaki 3b6e0cfff0 add apply-theme.sh and colors.conf; copy both at install
- New apply-theme.sh: reads colors.conf, diffs against saved state,
  applies changed hex values across all 26 theme files via sed.
  Refuses to run when any deployed config is symlinked back to ~/Dotfiles
  to prevent theme changes from propagating into the git repo.
- New colors.conf: editable color source with the default CyberQueer palette.
- hyprland.sh + hyprland-new.sh: copy colors.conf to ~/.config/ and
  apply-theme.sh to ~/ at install (instead of symlinking colors.conf).
- sway.sh: wire colors.conf into the sway install path.
- doc/colorcodes.md: rewritten as structured color reference with format table.

Theme source files in the repo are unchanged from upstream (E40046 palette).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 14:25:57 +02:00
Amir Alexander Abdelbaki e468ddcdae why was that repo here? 2026-05-11 13:26:45 +02:00
Amir Alexander Abdelbaki 78312e9b4d amssh now themed 2026-05-11 13:26:02 +02:00
Amir Alexander Abdelbaki 507ca5db6b amssh: rebind from Super+Alt+Ctrl+S to Super+Ctrl+R
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 11:26:48 +02:00
Amir Alexander Abdelbaki 4dbe200293 amssh: encrypted SSH manager with fzf TUI and wofi drun mode
- AES-256-CBC store with PBKDF2-SHA256 (600k iters), passphrase auth
- FIDO2/PAM opt-in second factor via pam_u2f + pamtester
- fzf TUI: vim-style nav (j/k/g/G//), a=add, d=delete, q=quit
- Full-screen tput add form with Tab/Enter field advance, star-masked password
- SSH_ASKPASS_REQUIRE=force for stored password auth (no sshpass)
- First-launch dialog to choose passphrase vs FIDO2
- Hyprland keybind: SUPER-ALT-CTRL-S

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 11:21:56 +02:00
Amir Alexander Abdelbaki c4b9c5bf92 add config-updater: config-driven update script with manifest
Replaces the hardcoded inline-generated ~/update-hypr-configs.sh with
a proper dotfiles-resident script + config file:

  config-updater/update-configs.sh  — reads updater.conf, applies
    configs, warns about untracked source items and manifest drift
  config-updater/updater.conf       — declares config/flat/ignore
    entries and SOURCE_BASE; hypr-usr is flat (contents → ~/.config/)

hyprland-new.sh step 15 now symlinks both into place instead of
generating a hardcoded script inline. The output is renamed from
~/update-hypr-configs.sh to ~/update-configs.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 09:46:02 +02:00
Amir Alexander Abdelbaki 13a1b6cff4 hyprland-new: add missing packages found in configs
Pacman: hyprpolkitagent (autostart), pavucontrol (Super+S / eww / waybar),
playerctl (media keys + scripts), wf-recorder (screenrec.sh),
sound-theme-freedesktop (timer-run alarm sound)

AUR: wofi-calc (Super+Alt+F), bri (brightness keys), chamel (annotation binds)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 09:29:43 +02:00
Amir Alexander Abdelbaki 968031ae11 timer-run: use system sound instead of generated PCM beep
Replace the Python sine-wave generator and raw PCM piping with
paplay playing alarm-clock-elapsed.oga, falling back to
canberra-gtk-play. Also export PULSE_RUNTIME_PATH for the detached
setsid process so paplay can find the PipeWire-Pulse socket.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 09:23:24 +02:00
Amir Alexander Abdelbaki d2c0c1ae1f wallpaper-picker: per-monitor support
- default selection = monitor under the mouse (cursorpos + geometry math)
- 1-9 toggle individual monitors, a toggles all
- Space/Enter both apply
- persist per-monitor state to ~/.config/wallpaper.conf using new wallpaper{} syntax
- hyprpaper.conf sources ~/.config/wallpaper.conf so picks survive reboot
2026-05-09 18:25:48 +02:00
Amir Alexander Abdelbaki 25c9e69ad2 gneral stuff 2026-05-09 17:22:55 +02:00
Amir Alexander Abdelbaki 2690f1bdd2 fixed timer size 2026-05-09 14:19:24 +02:00
Amir Alexander Abdelbaki 12e7283401 fix duplicate name in centered-L windowrule block
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 17:03:11 +02:00
Amir Alexander Abdelbaki 48c8845eb9 add wallpaper-picker script and bind to $mainMod+W
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 16:55:35 +02:00
Amir Alexander Abdelbaki e196e386b0 some general fixes 2026-05-08 16:20:53 +02:00
Amir Alexander Abdelbaki 691ce9db37 Merge branch 'main' of https://git.abdelbaki.eu/The_miro/Dotfiles 2026-05-08 15:16:06 +02:00
Amir Alexander Abdelbaki c61766960b added timer 2026-05-08 15:16:01 +02:00
Amir Alexander Abdelbaki 9d2ae9f15e setup: fix module scripts and add TUI installer
Module fixes across the board:
- package-managers.sh: add sudo, --noconfirm, idempotency guards for
  yay/rustup/nvm, mkdir -p, remove stale version comments
- core-packages.sh: add --noconfirm --needed, remove invalid 'nvim'
  package name, deduplicate ~15 repeated entries
- shell-setup.sh: move color vars to top (were defined after use, RESET
  never defined), RUNZSH=no CHSH=no for oh-my-zsh (was spawning new
  shell and halting script), --yes for starship installer
- hyprland-new.sh: mkdir -p before cd, ln -sf for xdg-terminal-exec and
  ssh-askpass, remove flatpak-system-helper enable, comment out hyprpm
  and WallRizz -w (require live session), mkdir -p ~/Pictures, add
  walker-bin/ulauncher to yay installs, --noconfirm on yay
- sway.sh: fix gitgreetd-tuigreet typo, --noconfirm --needed, yay
  idempotency, rm -f for bashrc/zshrc, ln -sf everywhere, mkdir -p for
  spotify-tui, remove hard reboot, RUNZSH=no/--yes for shell tools
- gaming-packages.sh: add missing shebang, --noconfirm, flatpak -y
- network-developer-packages.sh: --noconfirm --needed, fix inline comment
- zfs.sh / wprs.sh: add yay --noconfirm flags
- All scripts: set -euo pipefail

New: setup/tui-install.sh — dialog-based TUI installer with Cyberqueer
theme, component checklist, DE submenu, step counter, and per-module
error handling

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 10:27:43 +02:00
Amir Alexander Abdelbaki e50cb5dc50 cleanup: archive deprecated configs, remove logs and merge artifacts
- Move old hypr/kitty/xfce4 configs into deprecated/ folders
- Move proto scripts into scripts/deprecated/
- Consolidate loose .old installer into setup/deprecated/
- Rename broken symlinks (old themiro home path) to .old
- Rename duplicate .deb.1 and .bak files to .old for consistency
- Delete btop.log, nohup.out (gitignore matches), thunar merge conflict files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 10:13:12 +02:00
Amir Alexander Abdelbaki 4b8dd4f5d9 cleanup: expand gitignore, add timer scripts, update hyprland binds
Remove stale yazi backup files and credentials, expand .gitignore to
cover keys, editor temp files, and yazi timestamp backups. Add timer
notification scripts and bind Super+Ctrl+T to open timer popup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:41:49 +02:00
Amir Alexander Abdelbaki 9f30bbe5b4 Merge branch 'main' of https://git.abdelbaki.eu/The_miro/Dotfiles 2026-05-07 18:15:26 +02:00
Amir Alexander Abdelbaki dc0e964320 general stuff 2026-05-07 18:15:20 +02:00
Amir Alexander Abdelbaki 3890d360d6 Update setup/modules/FreeipaAnsible/copilot-explains.txt 2026-04-27 17:00:37 +02:00
Amir Alexander Abdelbaki 16732cc17c Add setup/modules/FreeipaAnsible/copilot-explains.txt 2026-04-27 16:59:36 +02:00
Amir Alexander Abdelbaki 6dbeca2bde Add setup/modules/FreeipaAnsible/ansible/ansipa-install-packages.sh 2026-04-27 16:44:59 +02:00
Amir Alexander Abdelbaki 9daf10888c Add setup/modules/FreeipaAnsible/ansible/deploy-ansipa-install.yml 2026-04-27 16:44:36 +02:00
Amir Alexander Abdelbaki 244d7385eb Add setup/modules/FreeipaAnsible/ansible/ansipa-install.timer 2026-04-27 16:44:18 +02:00
Amir Alexander Abdelbaki a2f3a03547 Add setup/modules/FreeipaAnsible/ansible/ansipa-install.service 2026-04-27 16:44:01 +02:00
Amir Alexander Abdelbaki 64af45d300 Add setup/modules/FreeipaAnsible/ansible/deploy-baseuser-sync.yml 2026-04-27 16:39:34 +02:00
Amir Alexander Abdelbaki 7d96df03ac Add setup/modules/FreeipaAnsible/ansible/baseuser-sync.path 2026-04-27 16:39:11 +02:00
Amir Alexander Abdelbaki f34cbd83b9 Add setup/modules/FreeipaAnsible/ansible/baseuser-sync.service 2026-04-27 16:38:37 +02:00
Amir Alexander Abdelbaki d927eb8904 Update setup/modules/FreeipaAnsible/auto-enroll-ansible.sh 2026-04-27 16:38:02 +02:00
Amir Alexander Abdelbaki 6d1d2c6083 Update setup/modules/FreeipaAnsible/ansible/auto-add-baseuser.sh 2026-04-27 16:37:39 +02:00
Amir Alexander Abdelbaki dea19b2998 Update setup/modules/FreeipaAnsible/freeipa-enroll.sh 2026-04-27 16:37:09 +02:00
Amir Alexander Abdelbaki 3bda2373c6 Add setup/modules/ansible/auto-add-baseuser.sh 2026-04-27 16:36:09 +02:00
Amir Alexander Abdelbaki e7f4507f7d Update setup/modules/auto-enroll-ansible.sh 2026-04-27 16:35:08 +02:00
Amir Alexander Abdelbaki 400bd5dc09 Add setup/modules/auto-enroll-ansible.sh 2026-04-27 16:34:44 +02:00
Amir Alexander Abdelbaki 8f591b8000 Upload files to "setup/modules" 2026-04-27 13:25:19 +02:00
Amir Alexander Abdelbaki 6eec81c9f7 q in nvim now wq 2026-04-15 22:08:16 +02:00
Amir Alexander Abdelbaki 92f4148cb1 why was i missing windowrule tag???? 2026-04-08 18:18:35 +02:00
Amir Alexander Abdelbaki b94e5b466e WallRizz needs initialisation with -w 2026-03-27 14:42:15 +01:00
Amir Alexander Abdelbaki fabce92b56 WallRizz is not a aur package 2026-03-27 14:38:18 +01:00
Amir Alexander Abdelbaki dab1cfe944 matched to .md 2026-03-26 09:45:50 +01:00