Commit Graph

435 Commits (main)

Author SHA1 Message Date
Amir Alexander Abdelbaki 08c3097a70 feat(wallpaper): sync selected wallpaper to hyprlock per monitor
wallpaper-picker now calls write_hyprlock_state() on apply, writing
per-monitor background blocks to ~/.config/hypr/hyprlock-backgrounds.conf.
hyprlock.conf sources that file instead of a hardcoded background block,
with a committed default for first-boot.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 21:54:19 +02:00
Amir Alexander Abdelbaki 820a12616c fixed theming issues 2026-05-19 14:39:29 +02:00
Amir Alexander Abdelbaki 3a49ab44d9 feat(qt,gtk): overhaul theming — qt6ct style plugin, dark palette, GTK color-scheme
Qt: replace QT_STYLE_OVERRIDE/QT_STYLE_SHEET env vars with QT_QPA_PLATFORMTHEME=qt6ct +
QT_QUICK_CONTROLS_STYLE=Fusion; add cyberqueer Qt6 style plugin (QProxyStyle wrapping
Fusion with hardcoded dark palette); enable custom_palette in qt6ct.conf so qt6ct applies
the dark QPalette directly for both Qt Widgets and Qt Quick apps.

GTK: fix dark mode not applying — set gtk-application-prefer-dark-theme=1 in GTK3
settings.ini; add gsettings color-scheme=prefer-dark to install script (required by
libadwaita apps which ignore gtk-theme-name); add index.theme so the theme is recognized
by GTK theme discovery.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 13:43:13 +02:00
Amir Alexander Abdelbaki b629697ddd feat: add hyprlua config set and migrate hyprland envvars to dedicated file
Duplicates desktopenvs/hyprland/ as desktopenvs/hyprlua/ and converts all
Hyprland-specific configs (.conf) to Lua (.lua) using the 0.55+ hl.* API:
hyprland.lua, envvars.lua, monitors.lua, input.lua, autostart.lua,
windowrules.lua, binds.lua. Non-Hyprland tool configs (hyprpaper, hyprlock,
hypridle, hyprtoolkit) remain as .conf. Adds hyprlua.sh installer (user-side
.lua files install to ~/.config/hypr/ for require() resolution) and registers
HyprLua as the recommended DE option in tui-install.sh, marking the old
hyprlang-based Hyprland install as legacy.

Also consolidates hyprland (legacy) env vars into hypr-usr/envvars.conf,
removing duplicates from hyprland.conf and monitors.conf.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 08:50:23 +02:00
Amir Alexander Abdelbaki bd1c23e6b4 updated 2026-05-13 19:02:37 +02:00
Amir Alexander Abdelbaki 76b1a0160f privacy: remove hardcoded username and AWS signed URL
Replace all /home/themiro/ path references with $HOME equivalents
across .zshrc, monitorhandler.sh (now derives path from script
location), gtk bookmarks, spicetify config, ulauncher generated CSS,
and nvim init.lua.old.

Delete commented-out AWS signed URL with embedded credentials from
setup/deprecated/hyprland.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 14:17:48 +02:00
Amir Alexander Abdelbaki ac2f4c39f0 removed pinch bind for now 2026-05-12 12:45:56 +02:00
Amir Alexander Abdelbaki 61914db16b hyprland: fix screen rotation touchscreen input after 0.55.0 update
Fix touchscreen detection (section renamed from Touchscreen to Touch Device)
and device keyword syntax (device:NAME -> device[NAME]:transform). Also swap
cw/ccw in acw/wcw wrapper scripts which were inverted.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 08:33:45 +02:00
Amir Alexander Abdelbaki 0571a83567 hyprland updated 2026-05-12 08:15:37 +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 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 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 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 dc0e964320 general stuff 2026-05-07 18:15:20 +02:00
Amir Alexander Abdelbaki 92f4148cb1 why was i missing windowrule tag???? 2026-04-08 18:18:35 +02:00
Amir Alexander Abdelbaki 8712978eac is my readme a html? 2026-03-26 09:33:16 +01:00
Amir Alexander Abdelbaki 36080f464a added WallRizz 2026-03-24 13:46:34 +01:00
Amir Alexander Abdelbaki 759d2a5395 vicinae window changed clas name 2026-03-10 09:36:32 +01:00
Amir Alexander Abdelbaki bf066dab47 window resize now repeats 2026-02-25 16:27:45 +01:00
Amir Alexander Abdelbaki 8b4813e1b7 fixed some of the fn-alt function binds 2026-02-23 11:20:04 +01:00
Amir Alexander Abdelbaki 92ec5d5873 now the notif shows for just long enough 2026-02-20 11:12:40 +01:00
Amir Alexander Abdelbaki 19b3ac8e9b further improvements on the earlier 2026-02-20 11:06:00 +01:00
Amir Alexander Abdelbaki 1e47547c52 added toggle-layout and chameleos for screen annotation 2026-02-20 10:27:45 +01:00
Amir Alexander Abdelbaki 0a8683200f finally screenrec makes half a nick of sense 2026-02-18 15:17:19 +01:00
Amir Alexander Abdelbaki 8e788f624d now the screenrec notif also acts as a button to stop recordin 2026-02-18 11:06:07 +01:00
Amir Alexander Abdelbaki fbce22632d now the notif stays on screen just to be sure 2026-02-12 16:54:26 +01:00
Amir Alexander Abdelbaki d2f43a3441 now sceenrecording also works - sadly not to clipboard, but timestamped 2026-02-12 16:40:50 +01:00
Amir Alexander Abdelbaki 8950e8f42a now sceenrecording also works 2026-02-12 16:01:55 +01:00
Amir Alexander Abdelbaki a57969e26f all instances of eww now get killed before the ewwstart handler initiates 2026-02-12 10:52:53 +01:00
Amir Alexander Abdelbaki d0d8082003 launcher windows now center on cursor location 2026-02-11 15:18:10 +01:00
Amir Alexander Abdelbaki 53afafe528 autostart - export is a whole command 2026-02-11 14:36:55 +01:00
Amir Alexander Abdelbaki 6f5ea65d08 autostart - i had the polkit agent in there twice 2026-02-11 13:12:11 +01:00
Amir Alexander Abdelbaki 06972296b3 needed export not env 2026-02-11 12:39:51 +01:00
Amir Alexander Abdelbaki e6148ad3e6 now qt theme gets cleared when starting vicinae server - the font issue persists though 2026-02-11 12:29:36 +01:00
Amir Alexander Abdelbaki ed4c770f35 hyprpolkitagent 2026-02-11 10:11:04 +01:00
Amir Alexander Abdelbaki e3b9a5064d diff 2026-02-10 13:58:52 +01:00
Amir Alexander Abdelbaki 7f5e0b0648 autostart 2026-02-10 12:57:08 +01:00
Amir Alexander Abdelbaki c3d773c037 finished implementing vicinae 2026-02-10 12:56:41 +01:00