209 Commits
Author SHA1 Message Date
Hermes Agent 7498ea4971 feat(macos): setup nix-darwin pour builder l'app Winnie
L'app se build sur le Mac en trois commandes, le toolchain restant dans le
devShell du flake winnie (jamais installé sur le Mac) :
  cd ~/git/nixos && just mac   # déploie ce setup
  winnie-sync                  # attrape ~/git/winnie depuis tower (rsync ssh)
  winnie-ios                   # simulateur ; npm ci + tauri ios init au besoin

- modules/home-mac/winnie : winnie-doctor [--fix], winnie-sync [--delete],
  winnie-shell, winnie-front, winnie-macos, winnie-build-macos, winnie-ios,
  winnie-build-ios, winnie-verify. Scripts en writeShellApplication (shellcheck
  au build) ; scripts.nix est séparé du module pour être constructible depuis
  tower avec les pkgs linux et testable sans Mac.
- profiles/macos : flakes + trusted-users dans nix.conf, et
  system.activationScripts.winnie-xcode (xcode-select -s, licence Xcode,
  -runFirstLaunch) pour que seule l'installation App Store reste manuelle.
- Embarque aussi le setup SSH entrant du Mac (sshd, clé hermes@tower, tunnel
  inverse autossh) qui était déjà dans l'arbre de travail.

Vérifié depuis tower : nix eval du darwinConfigurations.macos (toplevel et
home-manager-generation) + build des scripts en x86_64-linux (shellcheck) et
rsync de bout en bout depuis le dépôt de tower.
2026-10-24 14:33:35 -04:00
Hermes Agent 08547e5cf8 fix(home): force .gtkrc-2.0 pour que l'activation passe
gtk.enable genere le fichier, mais l'ancien ~/.gtkrc-2.0 n'est pas un
lien vers le store : checkLinkTargets echouait sans force = true.
2026-10-19 02:07:33 -04:00
Hermes Agent 161cd8e4d9 feat(hermes-skins): pack Hermes Menagerie pour le Mac
Input brut hermes-menagerie (github:ZakiChair/hermes-catppuccin),
module home-mac/hermes-skins qui installe les palettes dans
~/.hermes/skins, active dans la home de marc@macos.
2026-10-19 02:07:18 -04:00
Hermes Agent f3e600a471 chore(home): retire warnings d'éval (gtk4, catppuccin, zsh.dotDir, pkgs.system, proton-vpn)
gtk.gtk4.theme = config.gtk.theme;            # GTK4 suit Catppuccin
catppuccin.autoEnable = true;                 # valeur explicite = enable
programs.zsh.dotDir = config.home.homeDirectory; # .zshrc dans ~
pkgs.system -> pkgs.stdenv.hostPlatform.system  # backtest, portfolio-optimizer, option-pricer
protonvpn-gui -> proton-vpn                    # renommé dans nixpkgs
2026-10-11 19:40:55 -04:00
Hermes Agent 35d79ccde9 fix(users): anki + addon MCP via le flake ankimcp/anki-mcp-server-addon
ankiAddons.anki-mcp-server n'existe pas dans nixpkgs, et l'appel à
withAddons sans parenthèses insérait une fonction dans home.packages.
2026-10-11 19:36:40 -04:00
Hermes Agent 1ecafcba6a feat(users): anki + ssh deck/tower-rack alias ; secrets tower rotation 2026-10-06 21:42:11 -04:00
Hermes Agent 3b6b531102 revert(home-manager): retour au profil standalone, herdr posé côté système
home-manager.useGlobalPkgs=true (test perf, évite d'évaluer nixpkgs 2x) est
revenu trop cher/instable en pratique. Retour à home-manager.users.marc
totalement désactivé côté système (profil standalone via `HM=marc just home`
uniquement). Conséquences :
- modules/home/gtk : catppuccin.autoEnable repasse à sa valeur par défaut
- modules/home/zen-browser : l'overlay nur revient dans son propre module
- profiles/common : commentaire nettoyé (n'a plus besoin d'expliquer le piège
  useGlobalPkgs, qui ne s'applique plus)
- herdr : posé côté système (modules/nixos/herdr, symlink store ->
  ~/.config/herdr/config.toml) puisque le home-manager systeme ne construit
  plus la conf de marc ; modules/home/herdr et son import dans
  users/marc/home.nix restent (profil standalone), mais ne sont plus le
  mécanisme actif sur tower.
2026-09-27 21:21:00 -04:00
Hermes Agent 4c0cdc14d9 feat(hermes): partager l'état avec les sessions hermes lancées par marc
Les sessions hermes ouvertes dans un pane herdr tournent sous marc, pas sous le
compte de service : HERMES_HOME=/var/lib/hermes/.hermes (users/marc/home.nix) pour
qu'elles lisent et écrivent le même état (sessions, mémoire, lazy-python) que le
service hermes-agent.

Accès : groupe secondaire hermes pour marc (users.nix) et ACL tmpfiles sur
/var/lib/hermes (traversée) puis .hermes et .hermes/plugins (rwx + défauts ACL),
pour que les fichiers créés par marc restent lisibles côté service. C'est ce qui
rend le plugin herdr-agent-state utilisable : il parle au socket herdr de marc.
2026-09-27 13:00:55 -04:00
Hermes Agent 3c05597360 refactor(herdr): config posée par home-manager, HM de marc activée sur tower
herdr n'a ni option NixOS ni module home-manager dans l'input épinglé : sa config
(sidebar qui affiche le modèle hermes de chaque pane) passe par xdg.configFile dans
modules/home/herdr, importé par users/marc/home.nix. force = true car le premier
switch remplace le symlink posé avant par systemd.tmpfiles, que check-link-targets
ne reconnaît pas comme un fichier home-manager-files (activation en status 1 sinon).

tower active home-manager.users.marc = users/marc/home.nix, le même profil que
`HM=marc just home` : herdr et le reste des dotfiles arrivent avec `just nixos`.
backupFileExtension = hm-backup pour la première bascule. Entre `just nixos` et
`just home`, c'est le dernier switch qui écrit les liens.
2026-09-27 13:00:55 -04:00
Hermes Agent a94571df8b feat(home): add kitty terminal module 2026-09-26 18:27:02 -04:00
Hermes Agent 535d1c9892 feat(youtube-music): 4 clients TUI (ytm-player, yututui, yt-collate, youtube-music-cli)
- module par outil dans modules/home/, importés par users/marc/home.nix
- ytm-player: suit unstable (dbus-fast >= 5.0.0, absent de 26.05)
- yututui (ytt): doCheck = false, 11 tests FS échouent en sandbox nix
- yt-collate: buildPythonApplication python313, deps textual/ytmusicapi
- youtube-music-cli (ymc): binaire Bun standalone de la release
2026-09-26 18:08:25 -04:00
Hermes Agent db098efdf5 feat(postgres): add music database service
Introduces a dedicated PostgreSQL database and schema for music data,
including playlists, tracks, and various analytical views. This service
is designed for importing Spotify playlists into YouTube Music.

Updates the codeberg-mcp dependency hash to SRI format. Refactors
home-manager package names for prettier and neovim-node-client.
2026-09-24 22:55:18 -04:00
Hermes Agent 8ea118aeb7 feat(users): marc/mac home and packages 2026-09-24 21:31:17 -04:00
mazex 6af189248e chore(deck): update nixpkgs for nixvim and add user tools
Pin nixvim to nixos-26.05 by updating its nixpkgs input.
Configure time zone and disable automatic-timezoned service for the deck profile.
Add numerous CLI and GUI tools for the deck user via home-manager modules.
Include direnv setup and a desktop shortcut for returning to Gaming Mode.
Update home.stateVersion and set EDITOR/VISUAL variables.
2026-09-20 23:18:34 -04:00
mazex f001356e65 home: profil deck minimal 2026-09-18 01:44:06 +00:00
mazex 3c94c3f5f9 sops: add deck key 2026-09-17 02:57:41 +00:00
mazex 802314cbfb feat(kitty): add kitty terminal configuration
Sets up basic kitty configuration, including font, colors, and window settings.
2026-09-12 23:32:31 -04:00
mazex d302102e32 chore(config): update timezone and user packages 2026-09-12 18:51:18 -04:00
mazex 4dd2dbc26b feat: add gotify service and update zitadel/services config 2026-07-30 14:43:38 +02:00
mazex 8b170a42c5 feat: add image upscaling tools and set tower hostname 2026-05-24 14:19:21 +02:00
marc c0528ef035 feat: add wireguard configuration and tools for macos 2026-05-21 23:12:26 +02:00
marc c3ecd84d9a feat: add wireguard configuration and image processing tools 2026-05-21 23:12:26 +02:00
mazex 3ffd284256 refactor: switch from sopswarden to sops and adjust ssh config 2026-05-20 00:13:08 +02:00
marc 0fc08f2125 chore: add python lsp ruff, keyboard config, nodejs package 2026-05-19 18:26:53 +02:00
marc 3541b154fe feat: add python module and update packages for mac home 2026-05-19 18:26:52 +02:00
mazex d14ce19d22 feat(config): add financial tools and sops default
add modules for backtesting, portfolio optimization, and option pricing.
include `fjo` package.
set a default SOPS secrets file to `tower.yml`.
2026-05-17 08:36:08 +02:00
marc be64d37ac3 feat: add mac configuration to sops and home-manager setup 2026-05-02 18:20:24 +02:00
marc 817e1ec829 gpg-agent-mac 2026-04-28 04:09:58 +02:00
marc 38aa999490 fix-merge 2026-04-28 04:09:16 +02:00
mazex 850befe5ed feat: add geminicommit module to marc's home configuration 2026-04-18 19:28:59 +02:00
mazex f1ee4b0dae style: format nix files and consolidate linux-specific configs 2026-04-18 19:28:27 +02:00
marc 546f5588a5 macos and linux? 2026-04-18 18:46:27 +02:00
mazex 4efdbcad80 home.nix for root 2026-04-16 04:44:49 +02:00
mazex 8b663580e5 eza 2026-04-16 04:22:07 +02:00
mazex fb32257645 refactor(config): introduce common NixOS profile
Move shared system modules and settings from host-specific
configurations into `profiles/common/default.nix`.
Rename `profiles/laptop/packages.nix` and `profiles/laptop/user.nix`
to `profiles/common/packages.nix` and `profiles/common/user.nix`.
Simplify host-specific configurations and extract root user's
home-manager setup to `users/root/default.nix`.
2026-04-16 04:11:20 +02:00
mazex 98eac320ad inputs.modules.*** in user/marc/home.nix 2026-04-16 03:43:52 +02:00
mazex f0baa001ed feat: add discord and signal-desktop to marc's home packages 2026-04-14 20:11:40 +02:00
mazex 2e816a288a feat: integrate anthropic api key with sops-nix encryption 2026-04-08 03:32:03 +02:00
mazex fe18ca87bf feat(home): add unzip package 2026-04-08 02:44:02 +02:00
mazex 5162a8848f nix develop -c zsh is too long 2026-04-07 22:40:31 +02:00
mazex ac0aa87ee1 feat(ironbar): add status bar module
Integrates the ironbar status bar with a comprehensive configuration,
custom styling for a hover-to-show effect, and a systemd user service
for automatic startup.
2026-04-02 03:55:14 +02:00
mazex c06e083551 feat(home): add invidious package 2026-04-02 02:10:53 +02:00
mazex c7885b4e38 feat(music): add music players and ytui-music module
Introduce a new Home Manager module for ytui-music, including its
configuration and a wrapper script. Also adds Spotube (Flatpak),
ytermusic, ncspot, and spotify-player to user packages.
2026-04-02 01:47:08 +02:00
mazex 70ebb0328f feat(home): add various packages and ventoy setup 2026-04-02 00:16:25 +02:00
mazex bdade5b8e0 feat(home): add joplin, eternal-terminal, and zellij 2026-03-19 11:38:57 +01:00
mazex 7b0426077b chore(users/marc): enable ib-tws, obsidian, and logseq 2026-03-12 19:24:20 +01:00
mazex 0bcd429225 feat(steam): add steam-run and steam-unwrapped
Adds `steam-run` to home.packages and both `steam-run` and `steam-unwrapped` to
nixpkgs.config.permittedInsecurePackages to enable their installation.
2026-03-12 16:54:15 +01:00
mazex 84df542306 feat(tewi): add tewi torrent client
Introduces the tewi text-based torrent client.
Defines its Nix package, including the geoip2fast dependency,
and integrates it into the home-manager configuration for user marc.
2026-03-12 15:50:51 +01:00
mazex bc49c97b0f chore(packages): comment out librechat package 2026-03-12 15:07:32 +01:00
mazex 804af595fe chore(home-packages): replace oboete with librechat 2026-03-12 15:01:55 +01:00