This commit is contained in:
Yann Esposito (Yogsototh) 2023-02-28 22:48:29 +01:00
parent 357f942ccc
commit 3e97a7a4bf
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646
20 changed files with 1584 additions and 3178 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

BIN
DI_Provisioning Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
DI_provisioning.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
Onboarding_endpoint.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
PIAM_onboarding_flow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
PIAM_vision_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View file

@ -9006,3 +9006,452 @@ DEADLINE: <2023-01-02 Mon 15:00>
- State "CANCELED" from "TODO" [2023-01-04 Wed 10:50]
:END:
[2022-12-13 Tue 08:29]
* DONE Appeler Steff Etanchéité pour RDV réparation terrasse
DEADLINE: <2023-02-17 Fri 12:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-17 Fri 10:37]
* DONE Vérifier les horraires d'ouverture pour faire la peinture, y aller ce soir ?
DEADLINE: <2023-02-17 Fri 15:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-17 Fri 08:56]
* DONE Envoyer un mail à la notaire
DEADLINE: <2023-02-17 Fri 11:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-17 Fri 08:55]
Chère Maître,
Voici un mail pour faire un point sur la situation concernant les deux dégats
des eaux. Nous n'avons pas reçu de nouvelle par des voies officielles, mais en
contactant les divers intervenants, nous savons que les travaux de réparation du
toit et de la terrasse ont été effectués par Steff Etanchéité.
L'artisan qui doit faire les réparations (Arnoux) a envoyé un devis à l'expert
de notre assurance. L'expert n'a malheureusement pas fait suivre ce devis. En
passant par l'artisan qui avait le numéro personnel de l'expert, nous savons que
celui-ci est en vacances. Il reviendra lundi et il devrait nous envoyer le devis
à son retour.
J'ai informé l'artisan qu'il pouvait intervenir maintenant que les travaux de
réparations ont été effectués.
Nous demandons aussi à notre syndic de nous envoyer un mail qui atteste que les
travaux ont bien été fait ainsi que la copie des documents des interventions.
Très cordialement,
Yann Esposito.
* DONE Penser à amener la bouffe pour le chien
DEADLINE: <2023-02-17 Fri 16:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-17 Fri 08:54]
* DONE Réserver l'hotel à Sophia
DEADLINE: <2023-02-17 Fri 10:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-17 Fri 08:54]
* DONE Appeler l'assurance pour avoir le mail de l'expert
DEADLINE: <2023-02-17 Fri 10:30>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
:LOGBOOK:
CLOCK: [2023-02-17 Fri 10:22]--[2023-02-17 Fri 10:37] => 0:15
:END:
[2023-02-17 Fri 08:53]
* DONE Préparation outils: code couleur bleu peinture
DEADLINE: <2023-02-17 Fri 16:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-16 Thu 09:18]
* DONE Préparation outils dremel et colle pour plaque
DEADLINE: <2023-02-17 Fri 16:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-16 Thu 09:17]
* DONE Préparer les outils réparation prise four
DEADLINE: <2023-02-17 Fri 16:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-16 Thu 09:16]
* DONE Répondre à Luc
DEADLINE: <2023-02-13 Mon 11:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-13 Mon 10:19]
Bonjour Luc,
Merci pour ton message, en effet, après plusieurs jours un peu sous l'eau je
peux prendre le temps de te répondre pausément ;).
Tout d'abord, il nous a fallu pas mal de temps pour faire en sorte que notre
nouvelle maison soit acceptable et qu'on s'y sente à l'aise. C'est une location
que nous pensons conserver seulement temporairement, et elle était dans un état
pas terrible. Maintenant que nous avons fait tous les ajustement (environ 40h de
ménage intense à plusieurs, et pas mal de petits travaux, installé la cuisine,
acheté un nouveau frigidaire, etc…)
Le coin est plus sympa que ce à quoi je m'attendais. Cette ville est proche de
tout, les voisins sont sympa, on habite à 30m d'amis que nous nous somme fait
par le biais de l'association du chien de notre fille. Donc c'est un heureux
hasard aussi.
Toutes les commodités sont proches, et avoir un jardin c'est plus sympa que
sortir les chiens tous les soirs.
J'espère que même si je suis plus loin, on pourra conserver un contact.
Tout d'abord nous ne sommes pas parti si loin.
Nous sommes à 1h30 de voiture, et nous avons déjà prévu de revenir au moins 1j
par mois ne serait-ce que pour les médecins de ma fille.
Donc vous êtes bien sûr toujours les bienvenus et aussi, lorsque je viendrai, ça
sera l'occasion d'essayer de trouver un moment ensemble aussi.
Au delà, j'aimerai essayer de trouver un système type réseau social mais
totalement privé que je réserverai seulement aux amis proches et à la famille.
Parce qu'il y a beaucoup de choses que nous pourrions partagé avec plus de
liberté si nous savions que ça resterait entre nous.
Il y a tout un tas d'anectodes qui sont sympas entre nous, mais que je
ne me vois pas partager sur tout Internet.
Donc je vais voir si je peux arriver à, trouver un service que je peux
self-hoster, qui soit facile à partager, auxquels les gens puissent aller y
jeter un coups d'œil de temps en temps, et pourquoi pas y partaciper aussi aux
delà de quelques commentaires.
On a des groupes whatsapp, mais bon... whatsapp quoi... The great evil Facebook ;).
En général, ce genre de chose tombe toujours à l'eau, mais qui sait, j'aime bien
de toute façon, ça me fera geeker un peu.
À très bientôt !
* DONE Rebrancher Plex
SCHEDULED:Clinique Vétérinaire de Luynes du Dr POLLICARDO
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
5 avenue Robert Daugey
13080 LUYNES
France
04 42 24 00 88 <2023-02-13 Mon 16:00>
[2023-02-13 Mon 10:02]
* DONE Demander lien réunion Chien Espoir & Handicap à Lionel
DEADLINE: <2023-02-13 Mon 15:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-13 Mon 10:01]
* DONE Commander croquettes Pô
DEADLINE: <2023-02-13 Mon 11:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-13 Mon 10:01]
* DONE Envoyer le mot à Mira
DEADLINE: <2023-02-13 Mon 11:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-13 Mon 10:00]
#+begin_quote
Lors d'une balade au parc public des Bouillides à Sophia Antipolis, le 30
décembre aux alentours de 15h avec mon chien Oslo, un beagle de 4 ans, nous
avons croisé un autre chien qui avait des points au niveau des babines.
En voulant dire bonjour à ce chien, Oslo lui a donné un coup de museau dans la
gueule, ce qui a endommagé les sutures.
Les deux chiens étaient tenus en laisse.
#+end_quote
* DONE [#A] Envoyer doc avec accusé de réception agence
DEADLINE: <2023-02-09 Thu 17:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:49
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-09 Thu 14:53]
* DONE Envoyer un mail pour l'antenne satelite cassée
DEADLINE: <2023-02-08 Wed 18:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:50
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-08 Wed 14:15]
* DONE Mail Agence Etat des lieux
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:50
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-06 Mon 15:36]
Bonjour,
Nous vous remercions pour la rapidité d'intervention de votre plombier lors du
dégât des eaux survenu le jour de notre aménagement.
Lors de la remise des clés nous avions bien vu que l'état de propreté laissait à
désirer. Cependant nous étions très loin d'imaginer que celà allait nécessiter
plus d'une trentaine d'heures de nettoyage. Et il reste encore du travail.
Autant faire un coups de propre en prenant possession des lieux est normal,
autant y passer autant de temps est très regrettable.
Pendant ce nettoyage nous avons ainsi pu constater une liste de points que nous
aimerions ajouter à l'état des lieux.
Globalement, on peut souligner que la maison est sale (murs, sols, sanitaires,
nombreuses toiles d'araignées, portes, interrupteurs, fenêtres, radiateurs
pleins de poils de chiens et de poussière...).
Cuisine :
- présence de graisse sur toute la hotte aspirante, filtres sales plein de gras
ayant nécessité un gros nettoyage ;
- sur la plaque il y a une abscence de voyant ;
- l'évier est un peu rayé (ce n'est pas du calcaire) ;
- certaines façades de la cuisine ont été repeintes avec une peinture qui mence
de s'enlever lors d'un nettoyage courant ;
- certaines façades sont abîmées ;
- fenêtres (encadrement et vitres sales)
- sols sales (joints très sales)
Buanderie :
- Le robinet d'eau pour la machine à laver est cassé. Le plombier n'avait pas la
pièce pour le replacer.
Hall :
- Etat global sale (murs poussiereux, etagères du placard et fenêtres sales).
- En nettoyant, est apparu, sur la porte du placard un dessin d'enfant qui ne
part pas au nettoyage.
Séjour :
- Murs, fenêtres et encadrements très sales.
Chambre parentale :
- une prise (celle sous la fenêtre) ne marche pas et est mal fixée. C'est
sûrement celle qui est reliée à l'interupteur.
- Salle de bain: WC sale (traces d'urine)
Salle d'eau :
- WC extrêmement sale avec des coulures d'urine ayant imbibé le lino ;
- WC le robinet de remplissage fuite dès qu'il est ouvert. Celà nécessite que
nous plaçions un seau et que nous le refermions après avoir utilisé la chasse d'eau.
Chambre 1 :
- un coups sur la porte et peinture délavée.
Jardin :
- herbe non tondue ;
- nombreux excréments d'animaux dans le jardin.
- arbres nécessitant une taille
Couloir :
- Il y a une faiblesse au niveau du sol (on sent qu'il s'enfonce un peu). Pour
le moment il n'y a rien de visible mais j'ai peur qu'avec les passages celà ne
finisse par s'abîmer.
Nous vous remercions d'inclure tous ces points à l'état des lieux.
Concernant, les deux robinets cassés, ainsi que la prise de courant non
fonctionnelle pourriez-vous faire le nécessaire pour les faire réparer ?
Je tiens à souligner que le fait d'avoir fait autant de ménage nous a obligé à
perdre beaucoup de temps pour l'installation de la chambre et la salle de bain
pour notre fille handicapée ce qui a rendu son intégration dans la maison plus
difficile.
Très cordialement,
Krystelle et Yann Esposito.
* DONE [#B] Aller payer les Arrhes et chercher les cartons
DEADLINE: <2023-01-26 Thu 15:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:50
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-01-26 Thu 10:06]
* DONE [#B] Assurer la maison pour le 1er février.
DEADLINE: <2023-01-26 Thu 17:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:50
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
:LOGBOOK:
- State "DONE" from "WAITING" [2023-01-31 Tue 13:13]
- State "WAITING" from "TODO" [2023-01-26 Thu 14:45] \\
Attend que ma maman rapelle
:END:
[2023-01-26 Thu 10:05]
* DONE Déclarer Bastien non étudiant Mutuelle
DEADLINE: <2022-12-09 Fri 11:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:50
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2022-12-08 Thu 22:42]
* DONE Demander Laura pour capacité d'emprunt.
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:50
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_OLPATH: Inbox
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
Bonjour Laura,
Tout d'abord, je vous souhaite mes meilleurs vœux pour la nouvelle année.
Nous étions venus en mai pour faire une simulation de financement .
Depuis, nous avons vendu notre appartement, pour l'instant il est sous
compromis, avec l'aide d'Anthony Barrière.
Nous aurions aimé avoir une idée notre capacité d'emprunt avec seulement
mon salaire (même si nous ferions la demande de prêt avec nous deux).
En effet mon épouse commence un nouvel emploi mi-février près de Marseille.
Sa période d'essai sera de 2 mois.
Elle conserve néanmoins son CDI à l'hôpital sans être rémunérée.
Plutôt que démissionner on lui a proposé de se mettre dans un dispositif qui
ressemble à une mise en disponibilité.
Ce qui nous bloque actuellement c'est de savoir à partir de quand nous pourrons
commencer à faire des visites pour lesquelles nous pourrons faire des offres.
Notre situation financière n'a que très peu évolué depuis notre dernière
rencontre.
Devons nous prévoir un autre rendez-vous ?
Très cordialement,
Yann Esposito.
* DONE Réparer prise électrique four
DEADLINE: <2023-02-18 Sat 10:00>--<2023-02-18 Sat 11:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:50
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-01 Wed 15:54]
* DONE Poste transfert dadresse
DEADLINE: <2023-02-09 Thu 11:00>
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:50
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
[2023-02-09 Thu 09:31]
* DONE Mercer pour Bastien :chore:
:PROPERTIES:
:ARCHIVE_TIME: 2023-02-23 Thu 17:50
:ARCHIVE_FILE: ~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/inbox.org
:ARCHIVE_CATEGORY: inbox
:ARCHIVE_TODO: DONE
:END:
:LOGBOOK:
CLOCK: [2023-01-11 Wed 16:38]--[2023-01-11 Wed 20:38] => 4:00
:END:
[2023-01-11 Wed 16:37]

281
inbox.org
View file

@ -10,217 +10,90 @@
SPC y o c => DISPLAY org columns
#+end_comment
* Inbox
** TODO Répondre à Luc
DEADLINE: <2023-02-13 Mon 11:00>
[2023-02-13 Mon 10:19]
** TODO [#B] Payer le loyer
DEADLINE: <2023-02-28 Tue 17:00>
[2023-02-27 Mon 10:54]
** DONE Ajouter témoignage CE&H
DEADLINE: <2023-02-27 Mon 18:00>
[2023-02-27 Mon 10:45]
Bonjour Luc,
Leïka ma sauvé la vie.
Elle a réussie a maccompagner à un moment où personne ne pouvait.
Mais ce nest pas juste mon chien dassistance.
Cest ma partenaire de vie.
Elle est toujours là pour maider, et jai reconstruit ma vie autour delle.
On ne se quitte jamais, et si je suis là cest sûrement que Leïka est là aussi.
Merci pour ton message, en effet, après plusieurs jours un peu sous l'eau je
peux prendre le temps de te répondre pausément ;).
Tout d'abord, il nous a fallu pas mal de temps pour faire en sorte que notre
nouvelle maison soit acceptable et qu'on s'y sente à l'aise. C'est une location
que nous pensons conserver seulement temporairement, et elle était dans un état
pas terrible. Maintenant que nous avons fait tous les ajustement (environ 40h de
ménage intense à plusieurs, et pas mal de petits travaux, installé la cuisine,
acheté un nouveau frigidaire, etc…)
Le coin est plus sympa que ce à quoi je m'attendais. Cette ville est proche de
tout, les voisins sont sympa, on habite à 30m d'amis que nous nous somme fait
par le biais de l'association du chien de notre fille. Donc c'est un heureux
hasard aussi.
Toutes les commodités sont proches, et avoir un jardin c'est plus sympa que
sortir les chiens tous les soirs.
** DONE Envoyer mail au notaire (update situation)
DEADLINE: <2023-02-27 Mon 11:00>
[2023-02-27 Mon 10:40]
** DONE Appeler Géraldine pour garder les vélos.
DEADLINE: <2023-02-27 Mon 14:00>
[2023-02-27 Mon 10:40]
** TODO Appeler l'assurance pour les cartes des voitures
DEADLINE: <2023-02-24 Fri 10:30>
[2023-02-23 Thu 19:49]
** DONE Poser les plaques des chiens
SCHEDULED: <2023-02-24 Fri 10:00>
[2023-02-23 Thu 19:49]
** DONE Sync with Yuri about Secure Endpoint error logs org-level-authorization
DEADLINE: <2023-02-27 Mon 15:00>
[2023-02-23 Thu 19:02]
J'espère que même si je suis plus loin, on pourra conserver un contact.
Tout d'abord nous ne sommes pas parti si loin.
Nous sommes à 1h30 de voiture, et nous avons déjà prévu de revenir au moins 1j
par mois ne serait-ce que pour les médecins de ma fille.
Donc vous êtes bien sûr toujours les bienvenus et aussi, lorsque je viendrai, ça
sera l'occasion d'essayer de trouver un moment ensemble aussi.
A work should be done to upgrade the clients to "org-level-authorization".
Matt teams should be working on it. With the current state of affair, we might
be able to plan it for Q4 but not before due to RSA.
So for now, we should stick with non org-level authorization until this work is completed.
Au delà, j'aimerai essayer de trouver un système type réseau social mais
totalement privé que je réserverai seulement aux amis proches et à la famille.
Parce qu'il y a beaucoup de choses que nous pourrions partagé avec plus de
liberté si nous savions que ça resterait entre nous.
Il y a tout un tas d'anectodes qui sont sympas entre nous, mais que je
ne me vois pas partager sur tout Internet.
The details is, that the proxy of the module will check the JWT received, and
the client-id is trusted (typically DI client) and is configured with the
org-level-authorization then, we ignore the setting of the Secure Endpoint
module to "Act as the User".
Donc je vais voir si je peux arriver à, trouver un service que je peux
self-hoster, qui soit facile à partager, auxquels les gens puissent aller y
jeter un coups d'œil de temps en temps, et pourquoi pas y partaciper aussi aux
delà de quelques commentaires.
On a des groupes whatsapp, mais bon... whatsapp quoi... The great evil Facebook ;).
En général, ce genre de chose tombe toujours à l'eau, mais qui sait, j'aime bien
de toute façon, ça me fera geeker un peu.
À très bientôt !
** TODO Rebrancher Plex
SCHEDULED: <2023-02-13 Mon 16:00>
[2023-02-13 Mon 10:02]
** TODO Demander lien réunion Chien Espoir & Handicap à Lionel
DEADLINE: <2023-02-13 Mon 15:00>
[2023-02-13 Mon 10:01]
** DONE Commander croquettes Pô
DEADLINE: <2023-02-13 Mon 11:00>
[2023-02-13 Mon 10:01]
** DONE Envoyer le mot à Mira
DEADLINE: <2023-02-13 Mon 11:00>
[2023-02-13 Mon 10:00]
#+begin_quote
Lors d'une balade au parc public des Bouillides à Sophia Antipolis, le 30
décembre aux alentours de 15h avec mon chien Oslo, un beagle de 4 ans, nous
avons croisé un autre chien qui avait des points au niveau des babines.
En voulant dire bonjour à ce chien, Oslo lui a donné un coup de museau dans la
gueule, ce qui a endommagé les sutures.
Les deux chiens étaient tenus en laisse.
#+end_quote
** DONE [#A] Envoyer doc avec accusé de réception agence
DEADLINE: <2023-02-09 Thu 17:00>
[2023-02-09 Thu 14:53]
** DONE Envoyer un mail pour l'antenne satelite cassée
DEADLINE: <2023-02-08 Wed 18:00>
[2023-02-08 Wed 14:15]
** TODO Mail Agence Etat des lieux
[2023-02-06 Mon 15:36]
Bonjour,
Nous vous remercions pour la rapidité d'intervention de votre plombier lors du
dégât des eaux survenu le jour de notre aménagement.
Lors de la remise des clés nous avions bien vu que l'état de propreté laissait à
désirer. Cependant nous étions très loin d'imaginer que celà allait nécessiter
plus d'une trentaine d'heures de nettoyage. Et il reste encore du travail.
Autant faire un coups de propre en prenant possession des lieux est normal,
autant y passer autant de temps est très regrettable.
Pendant ce nettoyage nous avons ainsi pu constater une liste de points que nous
aimerions ajouter à l'état des lieux.
Globalement, on peut souligner que la maison est sale (murs, sols, sanitaires,
nombreuses toiles d'araignées, portes, interrupteurs, fenêtres, radiateurs
pleins de poils de chiens et de poussière...).
Cuisine :
- présence de graisse sur toute la hotte aspirante, filtres sales plein de gras
ayant nécessité un gros nettoyage ;
- sur la plaque il y a une abscence de voyant ;
- l'évier est un peu rayé (ce n'est pas du calcaire) ;
- certaines façades de la cuisine ont été repeintes avec une peinture qui mence
de s'enlever lors d'un nettoyage courant ;
- certaines façades sont abîmées ;
- fenêtres (encadrement et vitres sales)
- sols sales (joints très sales)
Buanderie :
- Le robinet d'eau pour la machine à laver est cassé. Le plombier n'avait pas la
pièce pour le replacer.
Hall :
- Etat global sale (murs poussiereux, etagères du placard et fenêtres sales).
- En nettoyant, est apparu, sur la porte du placard un dessin d'enfant qui ne
part pas au nettoyage.
Séjour :
- Murs, fenêtres et encadrements très sales.
Chambre parentale :
- une prise (celle sous la fenêtre) ne marche pas et est mal fixée. C'est
sûrement celle qui est reliée à l'interupteur.
- Salle de bain: WC sale (traces d'urine)
Salle d'eau :
- WC extrêmement sale avec des coulures d'urine ayant imbibé le lino ;
- WC le robinet de remplissage fuite dès qu'il est ouvert. Celà nécessite que
nous plaçions un seau et que nous le refermions après avoir utilisé la chasse d'eau.
Chambre 1 :
- un coups sur la porte et peinture délavée.
Jardin :
- herbe non tondue ;
- nombreux excréments d'animaux dans le jardin.
- arbres nécessitant une taille
Couloir :
- Il y a une faiblesse au niveau du sol (on sent qu'il s'enfonce un peu). Pour
le moment il n'y a rien de visible mais j'ai peur qu'avec les passages celà ne
finisse par s'abîmer.
Nous vous remercions d'inclure tous ces points à l'état des lieux.
Concernant, les deux robinets cassés, ainsi que la prise de courant non
fonctionnelle pourriez-vous faire le nécessaire pour les faire réparer ?
Je tiens à souligner que le fait d'avoir fait autant de ménage nous a obligé à
perdre beaucoup de temps pour l'installation de la chambre et la salle de bain
pour notre fille handicapée ce qui a rendu son intégration dans la maison plus
difficile.
Très cordialement,
Krystelle et Yann Esposito.
** DONE Appeler Bastien pour le velo et la mutuelle
DEADLINE: <2023-02-23 Thu 18:15>
[2023-02-23 Thu 17:49]
** DONE Créer l'attestation pour Gaya.
DEADLINE: <2023-02-23 Thu 18:30>
:LOGBOOK:
- State "DONE" from "HOLD" [2023-02-23 Thu 19:49]
- State "HOLD" from "TODO" [2023-02-23 Thu 19:49] \\
Krystelle s'en occupe
:END:
[2023-02-23 Thu 17:48]
** TODO Appeler Bastien pour samedi
[2023-02-17 Fri 08:56]
** TODO Supprimer Assurance Habitation Valbonne
DEADLINE: <2023-03-01 Wed>
[2023-01-31 Tue 12:05]
** TODO couper l'électricité Valbonne
** CANCELED couper l'électricité Valbonne
DEADLINE: <2023-03-06 Mon>
[2023-01-31 Tue 12:04]
** DONE [#B] Aller payer les Arrhes et chercher les cartons
DEADLINE: <2023-01-26 Thu 15:00>
[2023-01-26 Thu 10:06]
** DONE [#B] Assurer la maison pour le 1er février.
DEADLINE: <2023-01-26 Thu 17:00>
:LOGBOOK:
- State "DONE" from "WAITING" [2023-01-31 Tue 13:13]
- State "WAITING" from "TODO" [2023-01-26 Thu 14:45] \\
Attend que ma maman rapelle
- State "CANCELED" from "TODO" [2023-02-27 Mon 10:41] \\
Les nouveaux propriétaires vont déplacer les contrats.
:END:
[2023-01-26 Thu 10:05]
** DONE Déclarer Bastien non étudiant Mutuelle
DEADLINE: <2022-12-09 Fri 11:00>
[2022-12-08 Thu 22:42]
[2023-01-31 Tue 12:04]
** TODO Regarder sans soleil https://www.youtube.com/watch?v=fdusEgrbhgA
SCHEDULED: <2023-02-14 Tue 22:00>
SCHEDULED: <2023-03-12 Sun 21:00>
[2022-11-26 Sat 11:04]
** DONE Demander Laura pour capacité d'emprunt.
Bonjour Laura,
Tout d'abord, je vous souhaite mes meilleurs vœux pour la nouvelle année.
Nous étions venus en mai pour faire une simulation de financement .
Depuis, nous avons vendu notre appartement, pour l'instant il est sous
compromis, avec l'aide d'Anthony Barrière.
Nous aurions aimé avoir une idée notre capacité d'emprunt avec seulement
mon salaire (même si nous ferions la demande de prêt avec nous deux).
En effet mon épouse commence un nouvel emploi mi-février près de Marseille.
Sa période d'essai sera de 2 mois.
Elle conserve néanmoins son CDI à l'hôpital sans être rémunérée.
Plutôt que démissionner on lui a proposé de se mettre dans un dispositif qui
ressemble à une mise en disponibilité.
Ce qui nous bloque actuellement c'est de savoir à partir de quand nous pourrons
commencer à faire des visites pour lesquelles nous pourrons faire des offres.
Notre situation financière n'a que très peu évolué depuis notre dernière
rencontre.
Devons nous prévoir un autre rendez-vous ?
Très cordialement,
Yann Esposito.
** TODO DL The good place
SCHEDULED: <2023-03-01 Wed>
* Perso :perso:
** Habits :habit:
*** TODO Reading List notes
SCHEDULED: <2023-01-16 Mon 09:00 .+1d>
SCHEDULED: <2023-02-22 Wed 09:00 .+1d>
:PROPERTIES:
:STYLE: habit
:LAST_REPEAT: [2023-01-15 Sun 09:40]
:LAST_REPEAT: [2023-02-21 Tue 14:22]
:END:
:LOGBOOK:
- State "CANCELED" from "TODO" [2023-02-21 Tue 14:22]
- State "CANCELED" from "TODO" [2023-02-17 Fri 08:57] \\
Trop à faire aujourd'hui
- State "CANCELED" from "TODO" [2023-02-16 Thu 18:14]
- State "CANCELED" from "TODO" [2023-02-14 Tue 15:47]
- State "CANCELED" from "TODO" [2023-01-15 Sun 09:40]
- State "CANCELED" from "TODO" [2023-01-11 Wed 20:19]
- State "CANCELED" from "TODO" [2022-11-29 Tue 15:56]
@ -280,11 +153,15 @@ CLOCK: [2022-06-08 Wed 09:37]--[2022-06-08 Wed 09:59] => 0:22
* Famille :family:
** Daily :daily:
*** TODO Attention gentille
SCHEDULED: <2023-02-14 Tue .+1d>
SCHEDULED: <2023-02-23 Thu .+1d>
:PROPERTIES:
:LAST_REPEAT: [2023-02-13 Mon 10:02]
:LAST_REPEAT: [2023-02-22 Wed 18:36]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2023-02-22 Wed 18:36]
- State "DONE" from "TODO" [2023-02-21 Tue 14:21]
- State "DONE" from "TODO" [2023-02-17 Fri 08:57]
- State "DONE" from "TODO" [2023-02-15 Wed 14:22]
- State "DONE" from "TODO" [2023-02-13 Mon 10:02]
- State "DONE" from "TODO" [2023-02-10 Fri 15:06]
- State "DONE" from "TODO" [2023-02-08 Wed 14:16]
@ -299,12 +176,13 @@ SCHEDULED: <2023-02-14 Tue .+1d>
:END:
** Weekly :weekly:
*** TODO litieres
DEADLINE: <2023-02-06 Mon .+2w -1d>
DEADLINE: <2023-03-03 Fri .+2w -1d>
:PROPERTIES:
:LAST_REPEAT: [2023-01-23 Mon 17:33]
:LAST_REPEAT: [2023-02-17 Fri 14:33]
:STYLE: habit
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2023-02-17 Fri 14:33]
- State "DONE" from "TODO" [2023-01-23 Mon 17:33]
- State "DONE" from "TODO" [2023-01-04 Wed 10:50]
- State "CANCELED" from "TODO" [2022-11-28 Mon 12:05]
@ -581,19 +459,4 @@ CLOCK: [2020-09-01 Tue 12:13]--[2020-09-01 Tue 12:13] => 0:00
#+begin_comment
- =SPC m s c=
=- org-clone-subtree-with-time-shift=
#+end_comment
* IN-PROGRESS Mercer pour Bastien :chore:
:LOGBOOK:
CLOCK: [2023-01-11 Wed 16:38]--[2023-01-11 Wed 20:38] => 4:00
:END:
[2023-01-11 Wed 16:37]
* DONE Réparer prise électrique four
DEADLINE: <2023-02-18 Sat 10:00>--<2023-02-18 Sat 11:00>
[2023-02-01 Wed 15:54]
* TODO DL The good place
SCHEDULED: <2023-02-14 Tue>
[2023-02-01 Wed 20:32]
* DONE Poste transfert dadresse
DEADLINE: <2023-02-09 Thu 11:00>
[2023-02-09 Thu 09:31]
=- org-clone-subtree-with-time-shift= #+end_comment

View file

@ -1,595 +0,0 @@
#+Title:TODO
#+Author: Yann Esposito
#+ARCHIVE: archives/TODO.archive.org::
#+TODO: TODO(t) IN-PROGRESS(p) HOLD(h@/!) WAITING(w@/!) | DONE(d) CANCELED(c@/!) HANDLED(l@/!)
#+COLUMNS: %TODO %3PRIORITY %40ITEM(Task) %CLOCKSUM %8TAGS(TAG)
#+STARTUP: overview
#+LANG: fr
#+begin_comment
SPC y o c => DISPLAY org columns
#+end_comment
* Inbox
** TODO Répondre à Luc
DEADLINE: <2023-02-13 Mon 11:00>
[2023-02-13 Mon 10:19]
Bonjour Luc,
Merci pour ton message, en effet, après plusieurs jours un peu sous l'eau je
peux prendre le temps de te répondre pausément ;).
Tout d'abord, il nous a fallu pas mal de temps pour faire en sorte que notre
nouvelle maison soit acceptable et qu'on s'y sente à l'aise. C'est une location
que nous pensons conserver seulement temporairement, et elle était dans un état
pas terrible. Maintenant que nous avons fait tous les ajustement (environ 40h de
ménage intense à plusieurs, et pas mal de petits travaux, installé la cuisine,
acheté un nouveau frigidaire, etc…)
Le coin est plus sympa que ce à quoi je m'attendais. Cette ville est proche de
tout, les voisins sont sympa, on habite à 30m d'amis que nous nous somme fait
par le biais de l'association du chien de notre fille. Donc c'est un heureux
hasard aussi.
Toutes les commodités sont proches, et avoir un jardin c'est plus sympa que
sortir les chiens tous les soirs.
J'espère que même si je suis plus loin, on pourra conserver un contact.
Tout d'abord nous ne sommes pas parti si loin.
Nous sommes à 1h30 de voiture, et nous avons déjà prévu de revenir au moins 1j
par mois ne serait-ce que pour les médecins de ma fille.
Donc vous êtes bien sûr toujours les bienvenus et aussi, lorsque je viendrai, ça
sera l'occasion d'essayer de trouver un moment ensemble aussi.
Au delà, j'aimerai essayer de trouver un système type réseau social mais
totalement privé que je réserverai seulement aux amis proches et à la famille.
Parce qu'il y a beaucoup de choses que nous pourrions partagé avec plus de
liberté si nous savions que ça resterait entre nous.
Il y a tout un tas d'anectodes qui sont sympas entre nous, mais que je
ne me vois pas partager sur tout Internet.
Donc je vais voir si je peux arriver à, trouver un service que je peux
self-hoster, qui soit facile à partager, auxquels les gens puissent aller y
jeter un coups d'œil de temps en temps, et pourquoi pas y partaciper aussi aux
delà de quelques commentaires.
On a des groupes whatsapp, mais bon... whatsapp quoi... The great evil Facebook ;).
** TODO Rebrancher Plex
SCHEDULED: <2023-02-13 Mon 16:00>
[2023-02-13 Mon 10:02]
** TODO Demander lien réunion Chien Espoir & Handicap à Lionel
DEADLINE: <2023-02-13 Mon 15:00>
[2023-02-13 Mon 10:01]
** DONE Commander croquettes Pô
DEADLINE: <2023-02-13 Mon 11:00>
[2023-02-13 Mon 10:01]
** DONE Envoyer le mot à Mira
DEADLINE: <2023-02-13 Mon 11:00>
[2023-02-13 Mon 10:00]
#+begin_quote
Lors d'une balade au parc public des Bouillides à Sophia Antipolis, le 30
décembre aux alentours de 15h avec mon chien Oslo, un beagle de 4 ans, nous
avons croisé un autre chien qui avait des points au niveau des babines.
En voulant dire bonjour à ce chien, Oslo lui a donné un coup de museau dans la
gueule, ce qui a endommagé les sutures.
Les deux chiens étaient tenus en laisse.
#+end_quote
** DONE [#A] Envoyer doc avec accusé de réception agence
DEADLINE: <2023-02-09 Thu 17:00>
[2023-02-09 Thu 14:53]
** DONE Envoyer un mail pour l'antenne satelite cassée
DEADLINE: <2023-02-08 Wed 18:00>
[2023-02-08 Wed 14:15]
** TODO Mail Agence Etat des lieux
[2023-02-06 Mon 15:36]
Bonjour,
Nous vous remercions pour la rapidité d'intervention de votre plombier lors du
dégât des eaux survenu le jour de notre aménagement.
Lors de la remise des clés nous avions bien vu que l'état de propreté laissait à
désirer. Cependant nous étions très loin d'imaginer que celà allait nécessiter
plus d'une trentaine d'heures de nettoyage. Et il reste encore du travail.
Autant faire un coups de propre en prenant possession des lieux est normal,
autant y passer autant de temps est très regrettable.
Pendant ce nettoyage nous avons ainsi pu constater une liste de points que nous
aimerions ajouter à l'état des lieux.
Globalement, on peut souligner que la maison est sale (murs, sols, sanitaires,
nombreuses toiles d'araignées, portes, interrupteurs, fenêtres, radiateurs
pleins de poils de chiens et de poussière...).
Cuisine :
- présence de graisse sur toute la hotte aspirante, filtres sales plein de gras
ayant nécessité un gros nettoyage ;
- sur la plaque il y a une abscence de voyant ;
- l'évier est un peu rayé (ce n'est pas du calcaire) ;
- certaines façades de la cuisine ont été repeintes avec une peinture qui mence
de s'enlever lors d'un nettoyage courant ;
- certaines façades sont abîmées ;
- fenêtres (encadrement et vitres sales)
- sols sales (joints très sales)
Buanderie :
- Le robinet d'eau pour la machine à laver est cassé. Le plombier n'avait pas la
pièce pour le replacer.
Hall :
- Etat global sale (murs poussiereux, etagères du placard et fenêtres sales).
- En nettoyant, est apparu, sur la porte du placard un dessin d'enfant qui ne
part pas au nettoyage.
Séjour :
- Murs, fenêtres et encadrements très sales.
Chambre parentale :
- une prise (celle sous la fenêtre) ne marche pas et est mal fixée. C'est
sûrement celle qui est reliée à l'interupteur.
- Salle de bain: WC sale (traces d'urine)
Salle d'eau :
- WC extrêmement sale avec des coulures d'urine ayant imbibé le lino ;
- WC le robinet de remplissage fuite dès qu'il est ouvert. Celà nécessite que
nous plaçions un seau et que nous le refermions après avoir utilisé la chasse d'eau.
Chambre 1 :
- un coups sur la porte et peinture délavée.
Jardin :
- herbe non tondue ;
- nombreux excréments d'animaux dans le jardin.
- arbres nécessitant une taille
Couloir :
- Il y a une faiblesse au niveau du sol (on sent qu'il s'enfonce un peu). Pour
le moment il n'y a rien de visible mais j'ai peur qu'avec les passages celà ne
finisse par s'abîmer.
Nous vous remercions d'inclure tous ces points à l'état des lieux.
Concernant, les deux robinets cassés, ainsi que la prise de courant non
fonctionnelle pourriez-vous faire le nécessaire pour les faire réparer ?
Je tiens à souligner que le fait d'avoir fait autant de ménage nous a obligé à
perdre beaucoup de temps pour l'installation de la chambre et la salle de bain
pour notre fille handicapée ce qui a rendu son intégration dans la maison plus
difficile.
Très cordialement,
Krystelle et Yann Esposito.
** TODO Supprimer Assurance Habitation Valbonne
DEADLINE: <2023-03-01 Wed>
[2023-01-31 Tue 12:05]
** TODO couper l'électricité Valbonne
DEADLINE: <2023-03-06 Mon>
[2023-01-31 Tue 12:04]
** DONE [#B] Aller payer les Arrhes et chercher les cartons
DEADLINE: <2023-01-26 Thu 15:00>
[2023-01-26 Thu 10:06]
** DONE [#B] Assurer la maison pour le 1er février.
DEADLINE: <2023-01-26 Thu 17:00>
:LOGBOOK:
- State "DONE" from "WAITING" [2023-01-31 Tue 13:13]
- State "WAITING" from "TODO" [2023-01-26 Thu 14:45] \\
Attend que ma maman rapelle
:END:
[2023-01-26 Thu 10:05]
** DONE Déclarer Bastien non étudiant Mutuelle
DEADLINE: <2022-12-09 Fri 11:00>
[2022-12-08 Thu 22:42]
** TODO Regarder sans soleil https://www.youtube.com/watch?v=fdusEgrbhgA
SCHEDULED: <2023-02-14 Tue 22:00>
[2022-11-26 Sat 11:04]
** DONE Demander Laura pour capacité d'emprunt.
Bonjour Laura,
Tout d'abord, je vous souhaite mes meilleurs vœux pour la nouvelle année.
Nous étions venus en mai pour faire une simulation de financement .
Depuis, nous avons vendu notre appartement, pour l'instant il est sous
compromis, avec l'aide d'Anthony Barrière.
Nous aurions aimé avoir une idée notre capacité d'emprunt avec seulement
mon salaire (même si nous ferions la demande de prêt avec nous deux).
En effet mon épouse commence un nouvel emploi mi-février près de Marseille.
Sa période d'essai sera de 2 mois.
Elle conserve néanmoins son CDI à l'hôpital sans être rémunérée.
Plutôt que démissionner on lui a proposé de se mettre dans un dispositif qui
ressemble à une mise en disponibilité.
Ce qui nous bloque actuellement c'est de savoir à partir de quand nous pourrons
commencer à faire des visites pour lesquelles nous pourrons faire des offres.
Notre situation financière n'a que très peu évolué depuis notre dernière
rencontre.
Devons nous prévoir un autre rendez-vous ?
Très cordialement,
Yann Esposito.
* Perso :perso:
** Habits :habit:
*** TODO Reading List notes
SCHEDULED: <2023-01-16 Mon 09:00 .+1d>
:PROPERTIES:
:STYLE: habit
:LAST_REPEAT: [2023-01-15 Sun 09:40]
:END:
:LOGBOOK:
- State "CANCELED" from "TODO" [2023-01-15 Sun 09:40]
- State "CANCELED" from "TODO" [2023-01-11 Wed 20:19]
- State "CANCELED" from "TODO" [2022-11-29 Tue 15:56]
- State "CANCELED" from "TODO" [2022-11-18 Fri 15:17]
- State "CANCELED" from "TODO" [2022-11-14 Mon 10:42]
- State "DONE" from "TODO" [2022-11-14 Mon 10:42]
- State "CANCELED" from "TODO" [2022-11-10 Thu 18:00]
- State "CANCELED" from "TODO" [2022-11-09 Wed 19:28]
- State "DONE" from "TODO" [2022-11-09 Wed 19:28]
- State "CANCELED" from "TODO" [2022-11-02 Wed 09:57]
- State "CANCELED" from "TODO" [2022-11-01 Tue 12:58]
- State "CANCELED" from "TODO" [2022-10-25 Tue 17:51] \\
not today
- State "CANCELED" from "TODO" [2022-10-24 Mon 16:27]
- State "DONE" from "TODO" [2022-09-19 Mon 10:59]
- State "DONE" from "TODO" [2022-09-17 Sat 11:53]
- State "DONE" from "TODO" [2022-08-31 Wed 09:24]
- State "CANCELED" from "TODO" [2022-07-05 Tue 15:50]
- State "CANCELED" from "TODO" [2022-07-04 Mon 12:00]
- State "CANCELED" from "TODO" [2022-07-04 Mon 12:00]
- State "CANCELED" from "TODO" [2022-07-04 Mon 12:00]
- State "DONE" from "TODO" [2022-07-01 Fri 20:53]
- State "DONE" from "TODO" [2022-06-30 Thu 17:57]
- State "DONE" from "TODO" [2022-06-30 Thu 17:57]
- State "DONE" from "TODO" [2022-06-30 Thu 17:57]
- State "DONE" from "TODO" [2022-06-30 Thu 17:57]
- State "DONE" from "TODO" [2022-06-30 Thu 17:56]
- State "CANCELED" from "TODO" [2022-06-26 Sun 11:33] \\
Another day
- State "DONE" from "TODO" [2022-06-24 Fri 10:41]
- State "DONE" from "TODO" [2022-06-24 Fri 10:41]
- State "DONE" from "TODO" [2022-06-24 Fri 10:41]
- State "DONE" from "TODO" [2022-06-24 Fri 10:41]
- State "DONE" from "TODO" [2022-06-20 Mon 16:00]
- State "DONE" from "TODO" [2022-06-19 Sun 19:08]
- State "DONE" from "TODO" [2022-06-19 Sun 19:08]
- State "DONE" from "TODO" [2022-06-17 Fri 11:06]
- State "CANCELED" from "TODO" [2022-06-14 Tue 15:04] \\
Not today
- State "CANCELED" from "TODO" [2022-06-13 Mon 11:15]
- State "CANCELED" from "TODO" [2022-06-13 Mon 11:15]
- State "DONE" from "TODO" [2022-06-11 Sat 09:59]
- State "DONE" from "TODO" [2022-06-11 Sat 09:59]
- State "DONE" from "IN-PROGRESS" [2022-06-09 Thu 11:54]
CLOCK: [2022-06-09 Thu 08:54]--[2022-06-09 Thu 09:32] => 0:38
- State "DONE" from "TODO" [2022-06-08 Wed 09:59]
CLOCK: [2022-06-08 Wed 09:37]--[2022-06-08 Wed 09:59] => 0:22
- State "CANCELED" from "TODO" [2022-06-07 Tue 10:06] \\
I don't have time today
- State "DONE" from "TODO" [2022-06-07 Tue 09:44]
- State "DONE" from "TODO" [2022-06-07 Tue 09:44]
- State "DONE" from "TODO" [2022-06-07 Tue 09:44]
- State "CANCELED" from "TODO" [2022-06-07 Tue 09:44]
- State "DONE" from "TODO" [2022-06-02 Thu 15:33]
:END:
** Maybe :maybe:
* Famille :family:
** Daily :daily:
*** TODO Attention gentille
SCHEDULED: <2023-02-14 Tue .+1d>
:PROPERTIES:
:LAST_REPEAT: [2023-02-13 Mon 10:02]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2023-02-13 Mon 10:02]
- State "DONE" from "TODO" [2023-02-10 Fri 15:06]
- State "DONE" from "TODO" [2023-02-08 Wed 14:16]
- State "DONE" from "TODO" [2023-01-27 Fri 10:03]
- State "DONE" from "TODO" [2023-01-24 Tue 14:47]
- State "DONE" from "TODO" [2023-01-15 Sun 09:40]
- State "DONE" from "TODO" [2022-12-21 Wed 14:20]
- State "DONE" from "TODO" [2022-11-29 Tue 15:56]
- State "DONE" from "TODO" [2022-11-26 Sat 10:16]
- State "DONE" from "TODO" [2022-11-18 Fri 22:22]
- State "DONE" from "TODO" [2022-11-17 Thu 18:10]
:END:
** Weekly :weekly:
*** TODO litieres
DEADLINE: <2023-02-06 Mon .+2w -1d>
:PROPERTIES:
:LAST_REPEAT: [2023-01-23 Mon 17:33]
:STYLE: habit
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2023-01-23 Mon 17:33]
- State "DONE" from "TODO" [2023-01-04 Wed 10:50]
- State "CANCELED" from "TODO" [2022-11-28 Mon 12:05]
- State "CANCELED" from "TODO" [2022-11-14 Mon 10:42]
- State "DONE" from "TODO" [2022-10-26 Wed 12:15]
- State "DONE" from "TODO" [2022-10-12 Wed 10:02]
- State "DONE" from "TODO" [2022-09-17 Sat 08:57]
- State "DONE" from "TODO" [2022-09-02 Fri 08:19]
- State "DONE" from "TODO" [2022-07-27 Wed 08:53]
- State "DONE" from "TODO" [2022-06-08 Wed 17:06]
- State "DONE" from "TODO" [2022-05-17 Tue 19:02]
- State "DONE" from "TODO" [2022-05-03 Tue 10:45]
- State "DONE" from "TODO" [2022-04-19 Tue 09:54]
- State "DONE" from "TODO" [2022-03-24 Thu 17:21]
- State "DONE" from "TODO" [2022-03-01 Tue 10:55]
- State "DONE" from "TODO" [2022-02-09 Wed 09:23]
- State "DONE" from "TODO" [2022-01-18 Tue 09:42]
- State "DONE" from "TODO" [2021-12-01 Wed 14:11]
- State "DONE" from "TODO" [2021-10-18 Mon 10:00]
- State "DONE" from "TODO" [2021-09-24 Fri 09:44]
- State "DONE" from "TODO" [2021-08-29 Sun 11:33]
- State "CANCELED" from "TODO" [2021-08-11 Wed 18:52]
- State "DONE" from "TODO" [2021-07-08 Thu 09:26]
- State "DONE" from "TODO" [2021-05-27 Thu 08:09]
- State "CANCELED" from "TODO" [2021-05-05 Wed 10:18]
- State "DONE" from "TODO" [2021-04-07 Wed 16:30]
- State "DONE" from "TODO" [2021-02-28 Sun 12:01]
- State "DONE" from "TODO" [2021-01-18 Mon 14:26]
- State "DONE" from "TODO" [2021-01-04 Mon 15:49]
- State "DONE" from "TODO" [2020-11-27 Fri 10:32]
- State "DONE" from "TODO" [2020-11-05 Thu 15:43]
- State "DONE" from "TODO" [2020-10-23 Fri 10:22]
- State "DONE" from "TODO" [2020-10-08 Thu 11:18]
- State "DONE" from "TODO" [2020-09-11 Fri 09:07]
- State "DONE" from "TODO" [2020-06-08 Mon 23:00]
- State "DONE" from "TODO" [2020-05-19 Tue 22:04]
- State "DONE" from "TODO" [2020-08-22 Sat 09:18]
- State "DONE" from "TODO" [2020-06-21 Sun 16:00]
- State "CANCELED" from "TODO" [2020-06-15 Mon 10:28] \\
Done not so long ago
:END:
*** TODO Appeler Papa
SCHEDULED: <2023-02-20 Mon 14:00 .+1w>
:PROPERTIES:
:STYLE: habit
:LAST_REPEAT: [2023-02-13 Mon 10:02]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2023-02-13 Mon 10:02]
- State "DONE" from "TODO" [2023-01-23 Mon 17:31]
- State "DONE" from "TODO" [2023-01-04 Wed 10:49]
- State "DONE" from "TODO" [2022-12-02 Fri 19:10]
:END:
*** TODO Appeler Maman
SCHEDULED: <2023-02-15 Wed 12:00 .+1w>
:PROPERTIES:
:STYLE: habit
:LAST_REPEAT: [2023-02-08 Wed 14:16]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2023-02-08 Wed 14:16]
- State "DONE" from "TODO" [2023-01-31 Tue 13:14]
- State "DONE" from "TODO" [2023-01-24 Tue 15:15]
- State "DONE" from "TODO" [2023-01-09 Mon 15:57]
- State "DONE" from "TODO" [2023-01-01 Sun 19:04]
- State "DONE" from "TODO" [2022-12-04 Sun 19:23]
- State "DONE" from "TODO" [2022-11-26 Sat 10:16]
:END:
** Yearly :yearly:
*** TODO [#A] revision chaudiere
DEADLINE : <2023-02-15 Wed +1y -2w>
:PROPERTIES:
:LAST_REPEAT: [2022-02-25 Fri 18:10]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2022-02-25 Fri 18:10]
- State "DONE" from "IN-PROGRESS" [2021-03-06 Sat 23:48]
:END:
[2020-05-23 Sat 10:26]
*** TODO vaccination leichmaniose Oslo
DEADLINE: <2024-01-20 Sat +1y>
:PROPERTIES:
:LAST_REPEAT: [2023-01-27 Fri 09:43]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2023-01-27 Fri 09:43]
- State "DONE" from "TODO" [2022-01-18 Tue 10:18]
- State "DONE" from "TODO" [2021-01-18 Mon 14:25]
:END:
[2020-05-23 Sat 10:27]
*** TODO Nettoyage barbecue
SCHEDULED: <2023-09-19 Tue +1y>
:PROPERTIES:
:LAST_REPEAT: [2023-01-23 Mon 17:32]
:END:
:LOGBOOK:
- State "HOLD" from "TODO" [2023-01-15 Sun 09:40]
:END:
[2020-05-23 Sat 10:32]
*** TODO [#A] Cadeau Rencontre Krystelle (1995) :yearly:
DEADLINE: <2023-04-08 Sat +1y -2w>
:PROPERTIES:
:LAST_REPEAT: [2022-04-07 Thu 11:56]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2022-04-07 Thu 11:56]
:END:
*** TODO [#A] Cadeau Mariage Krystelle (2000) :yearly:
DEADLINE: <2023-08-12 Sat +1y -2w>
:PROPERTIES:
:LAST_REPEAT: [2022-08-13 Sat 19:43]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2022-08-13 Sat 19:43]
- State "CANCELED" from "TODO" [2021-08-11 Wed 18:52]
- State "DONE" from "TODO" [2020-08-10 Mon 12:19]
:END:
*** TODO [#A] Cadeau Anniversaire Krystelle :yearly:
DEADLINE: <2023-04-26 Wed +1y -2w>
:PROPERTIES:
:LAST_REPEAT: [2022-04-26 Tue 18:53]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2022-04-26 Tue 18:53]
:END:
*** Fête des mères
**** [2020-06-07 Sun]
**** [2021-05-30 Sun]
***** DONE [#A] Acheter cadeau fête des mères Krystelle :krystelle:
CLOSED: [2021-05-30 Sun 09:26] DEADLINE: <2021-05-30 Sun -2w>
***** DONE [#A] Acheter cadeau fête des mères Maman
CLOSED: [2021-05-30 Sun 09:26] DEADLINE: <2021-05-30 Sun -2w>
**** [2022-06-07 Tue]
***** DONE [#A] Acheter cadeau fête des mères Krystelle :krystelle:
DEADLINE: <2022-05-29 Sun -2w>
***** DONE [#A] Acheter cadeau fête des mères Maman
DEADLINE: <2022-05-30 Mon -2w>
*** TODO Appeler Thierry
DEADLINE: <2024-01-04 Thu +1y>
:PROPERTIES:
:LAST_REPEAT: [2023-01-06 Fri 11:14]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2023-01-06 Fri 11:14]
- State "CANCELED" from "TODO" [2022-01-18 Tue 09:42]
- State "DONE" from "TODO" [2021-02-28 Sun 11:56]
- State "DONE" from "TODO" [2021-02-28 Sun 11:55]
- State "DONE" from "TODO" [2021-01-07 Thu 11:52]
:END:
[2020-12-26 Sat 13:03]
** Krystelle :krystelle:
** Anna :anna:
*** CANCELED Voir si on doit faire une demande PCH (aide pour le chien) :ATTACH:anna:
SCHEDULED: <2022-12-18 Sun>
:PROPERTIES:
:ID: 8163f2ed-7106-4b4a-93b0-7009fe316172
:END:
:LOGBOOK:
- State "CANCELED" from "TODO" [2022-12-21 Wed 14:19]
:END:
[2022-06-08 Wed 10:01]
Début du message transféré :
De: francoisem06@free.fr
Date: 1 juin 2022 à 18:23:37 UTC+2
À: krystelle esposito <krystelle.esposito@gmail.com>
Objet: PCH

reBonjour Krystelle,
Je te joins le tableau des remboursements pour la PCH (tableau 1 pour l'aide humaine et tableau 7 pour les aides animalières). Il faut donc prévoir de faire une demande de PCH auprès de la MDPH.
Pour la demande de PCH
La loi n°2020-220 du 6 mars 2020 vise à améliorer l'accès à la PCH.
L'article 3 (Article L245-6) parle des modalités et de la durée d'attribution de la PCH. Lorsque le handicap n'est pas susceptible d'évoluer favorablement, un droit à la PCH est ouvert sans limitation de durée, sans préjudice des révisions du plan personnalisé de compensation qu'appellent les besoins de la personne.
Source : https://www.legifrance.gouv.fr/codes/id/LEGIARTI000041700020/2020-03-08
Autres infos :
- Article sur ce qui change au 1 janvier 2022 en cas de handicap: https://informations.handicap.fr/a-janvier-2022-change-cas-handicap-32099.php/true
- Togi Santé : https://www.togisante.com/agence/agence-togi-sante-nice-06/
A bientôt
Françoise
** Bastien :bastien:
* Memory
:PROPERTIES:
:ID: 1644E007-AFBE-4F4B-9307-B007C60548E8
:END:
** client TG dans le config.edn :fc:cisco:
:PROPERTIES:
:FC_CREATED: 2020-05-23T17:33:07Z
:FC_TYPE: normal
:ID: 8B092321-BA1F-47F9-A927-76D2E232CF51
:END:
:REVIEW_DATA:
| position | ease | box | interval | due |
|----------+------+-----+----------+----------------------|
| front | 3.25 | 7 | 449.62 | 2022-04-20T04:53:05Z |
:END:
Ne pas oublier le client de TG est dans le config.edn
** Searh within org notes :fc:org:
:PROPERTIES:
:FC_CREATED: 2020-06-05T07:09:22Z
:FC_TYPE: normal
:ID: 49981B50-AFBD-4C93-A9C2-8D88550AB425
:END:
:REVIEW_DATA:
| position | ease | box | interval | due |
|----------+------+-----+----------+----------------------|
| front | 2.65 | 7 | 289.32 | 2021-11-04T20:35:12Z |
:END:
=helm-org-rifle= (~SPC y o s~)
** update ~[/]~ and ~[%]~ in org mode :fc:org:
:PROPERTIES:
:FC_CREATED: 2020-06-13T12:35:49Z
:FC_TYPE: normal
:ID: 90110976-520D-4B0C-B1D9-3798323C370E
:END:
:REVIEW_DATA:
| position | ease | box | interval | due |
|----------+------+-----+----------+----------------------|
| front | 2.35 | 7 | 265.02 | 2021-10-17T14:36:23Z |
:END:
use ~SPC m #~ (~org-update-statistics-cookies~)
** projectile toggle from implementation to test file :fc:
:PROPERTIES:
:FC_CREATED: 2020-07-02T13:16:56Z
:FC_TYPE: normal
:ID: 2110820C-4877-40B3-A351-2DEDE0F222C6
:END:
:REVIEW_DATA:
| position | ease | box | interval | due |
|----------+------+-----+----------+----------------------|
| front | 2.65 | 7 | 287.31 | 2021-11-08T21:22:55Z |
:END:
=SPC p y=
** Create inactive timestmap ([DATE]) :fc:org:doom:
:PROPERTIES:
:FC_CREATED: 2020-09-01T10:16:26Z
:FC_TYPE: normal
:ID: a4ebd43b-b589-499e-85e1-7ebea0abf3af
:END:
:REVIEW_DATA:
| position | ease | box | interval | due |
|----------+------+-----+----------+----------------------|
| front | 2.65 | 6 | 117.50 | 2021-03-16T20:55:04Z |
:END:
:LOGBOOK:
CLOCK: [2020-09-01 Tue 12:13]--[2020-09-01 Tue 12:13] => 0:00
:END:
[2020-09-01 Tue 12:13]
~SPC m d T~
** Clone sub tree with time shift :fc:
:PROPERTIES:
:FC_CREATED: 2020-12-02T13:54:51Z
:FC_TYPE: normal
:ID: 9207b53a-e38e-4996-abc6-140c31f2960a
:END:
:REVIEW_DATA:
| position | ease | box | interval | due |
|----------+------+-----+----------+----------------------|
| front | 2.35 | 3 | 6.00 | 2021-01-31T14:02:51Z |
:END:
=org-clone-subtree-with-time-shift=
* Work :work:
#+begin_comment
- =SPC m s c=
=- org-clone-subtree-with-time-shift=
#+end_comment
* IN-PROGRESS Mercer pour Bastien :chore:
:LOGBOOK:
CLOCK: [2023-01-11 Wed 16:38]--[2023-01-11 Wed 20:38] => 4:00
:END:
[2023-01-11 Wed 16:37]
* DONE Réparer prise électrique four
DEADLINE: <2023-02-18 Sat 10:00>--<2023-02-18 Sat 11:00>
[2023-02-01 Wed 15:54]
* TODO DL The good place
SCHEDULED: <2023-02-14 Tue>
[2023-02-01 Wed 20:32]
* DONE Poste transfert dadresse
DEADLINE: <2023-02-09 Thu 11:00>
[2023-02-09 Thu 09:31]

Binary file not shown.

View file

@ -0,0 +1,536 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="Yann Esposito" />
<title>Composable shell.nix</title>
<style>
html {
line-height: 1.5;
font-family: Georgia, serif;
font-size: 20px;
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 1em;
}
h1 {
font-size: 1.8em;
}
}
@media print {
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
font-size: 85%;
margin: 0;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { color: #008000; } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { color: #008000; font-weight: bold; } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<header id="title-block-header">
<h1 class="title">Composable shell.nix</h1>
<p class="author">Yann Esposito</p>
<p class="date">[2023-02-10 Fri]</p>
</header>
<dl>
<dt>tags</dt>
<dd>
<a href="id:6e4c4d62-215d-4e0d-9361-0ff64af6f4a9">nix</a>
</dd>
</dl>
<p>So I work on a project for which we used Docker to locally run
integration tests. More precisely we used <code
class="verbatim">docker-compose</code> to launch different services,
most of them being databases. The project is big enough that we need
many different databases and other services.</p>
<p>It's been a while that I am following nix, and in particular I use
nix on macOS to create local development environments. But I never used
NixOS, even if I plan to do so on my remote server. In fact, I use nix
on a very old Linux distro to run recent softwares.</p>
<p>Anyway, after Docker started to change its licensing on macOS I
wanted to get rid of it. In fact, even before the licensing issue, I
wanted to get rid of docker for Mac.</p>
<p>So I tried many time to replace <code
class="verbatim">docker-compose</code> by <code
class="verbatim">nix</code>. And even if I am interested in nix I never
really dug into it. So my knowledge about it is incomplete and
imprecise. But I know just enough to be able to start write script with
nix taking care of dependencies, and similarly, I can write quick and
dirty <code class="verbatim">shell.nix</code> for all my personal
projects. Recently I started to add <code
class="verbatim">flake.nix</code> files around too.</p>
<p>So here is how to easily replace docker-compose with nix. Which
should also compose.</p>
<h1 id="nix-shell-fu-level-1-lesson"><code
class="verbatim">nix-shell-fu</code> level 1 lesson</h1>
<p>Let's start with a basic <code class="verbatim">shell.nix</code>
example:</p>
<div class="sourceCode" id="cb1"><pre
class="sourceCode nix"><code class="sourceCode nix"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="op">{</span> <span class="va">pkgs</span> <span class="op">?</span> <span class="bu">import</span> <span class="op">(</span><span class="bu">fetchTarball</span> <span class="va">https</span><span class="op">://</span><span class="ss">github.com/NixOS/nixpkgs/archive/22.11.tar.gz</span><span class="op">)</span> <span class="op">{}</span> <span class="op">}</span>:</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="kw">with</span> <span class="va">pkgs</span><span class="op">:</span> mkShell</span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a> <span class="op">{</span> <span class="va">buildInputs</span> <span class="op">=</span> <span class="op">[</span> hello <span class="op">];</span></span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a> <span class="va">shellHook</span> <span class="op">=</span> <span class="st">&#39;&#39;</span></span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="st"> echo &quot;Using </span><span class="sc">${</span>hello.name<span class="sc">}</span><span class="st">.&quot;</span></span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="st"> &#39;&#39;</span><span class="op">;</span></span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span></code></pre></div>
<p>And this could be understood in plain English as:</p>
<blockquote>
<p>In the packages of nix version 22.11, create a new shell into which
the package <code class="verbatim">hello</code> will be installed. At
the end of the install, run a script that will print the package name.
(Cf <a href="#digression">4.1</a>)</p>
</blockquote>
<p>And indeed, if you copy/paste this nix block in a file and run
<code>nix-shell</code> here is the result:</p>
<pre><code>&gt; nix-shell
nix-shell shell.nix
these 53 paths will be fetched (84.69 MiB download, 524.77 MiB unpacked):
/nix/store/08pckaqznwh0s3822cjp5aji6y1lsm27-libcxx-11.1.0
...
/nix/store/zqcs5xahjxij0c8vfw60lnfb6d979rn2-zlib-1.2.13
copying path &#39;/nix/store/49wn01k9yikhjlxc1ym5b6civ29zz3gv-bash-5.1-p16&#39; from &#39;https://cache.nixos.org&#39;...
...
copying path &#39;/nix/store/4w2rv6s96fwsb4qyw8b9w394010gxriz-stdenv-darwin&#39; from &#39;https://cache.nixos.org&#39;...
Using hello-2.12.1.
[nix-shell:~/tmp/nixplayground]$
</code></pre>
<p>If you close the session and run it again, it will be much faster and
will only show this:</p>
<pre><code> nix-shell
Using hello-2.12.1.
[nix-shell:~/tmp/nixplayground]$
</code></pre>
<p>This is because all dependencies will be cached. OK so, this is level
1 of <em>nix-shell-fu</em>.</p>
<p>Now, let's start level 2.</p>
<h1 id="nix-shell-fu-level-2-lesson-scripting-and-configuring"><code
class="verbatim">nix-shell-fu</code> level 2 lesson; scripting and
configuring</h1>
<p>This time, we want to launch a full service, as a redis docker would
do. So here is a basic shell script which is similar to the previous one
but will request <code class="verbatim">redis</code> as a dependency
instead of <code class="verbatim">hello</code> and also as a launching
script. From there will add a little bit more features.</p>
<div class="sourceCode" id="cb4"><pre
class="sourceCode nix"><code class="sourceCode nix"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="op">{</span> <span class="va">pkgs</span> <span class="op">?</span> <span class="bu">import</span> <span class="op">(</span><span class="bu">fetchTarball</span> <span class="va">https</span><span class="op">://</span><span class="ss">github.com/NixOS/nixpkgs/archive/22.11.tar.gz</span><span class="op">)</span> <span class="op">{}</span> <span class="op">}</span>:</span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a> pkgs.mkShell <span class="op">{</span></span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a> <span class="co"># must contain buildInputs, nativeBuildInputs and shellHook</span></span>
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a> <span class="va">buildInputs</span> <span class="op">=</span> <span class="op">[</span> pkgs.redis <span class="op">];</span></span>
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a> <span class="co"># Post Shell Hook</span></span>
<span id="cb4-7"><a href="#cb4-7" aria-hidden="true" tabindex="-1"></a> <span class="va">shellHook</span> <span class="op">=</span> <span class="st">&#39;&#39;</span></span>
<span id="cb4-8"><a href="#cb4-8" aria-hidden="true" tabindex="-1"></a><span class="st"> echo &quot;Using </span><span class="sc">${</span>pkgs.redis.name<span class="sc">}</span><span class="st"> on port: </span><span class="sc">${</span>port<span class="sc">}</span><span class="st">&quot;</span></span>
<span id="cb4-9"><a href="#cb4-9" aria-hidden="true" tabindex="-1"></a><span class="st"> redis-server</span></span>
<span id="cb4-10"><a href="#cb4-10" aria-hidden="true" tabindex="-1"></a><span class="st"> &#39;&#39;</span><span class="op">;</span></span>
<span id="cb4-11"><a href="#cb4-11" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span></code></pre></div>
<p>Again if you run <code>nix-shell</code> here is the result:</p>
<pre><code> nix-shell
these 2 paths will be fetched (2.08 MiB download, 6.99 MiB unpacked):
/nix/store/6w4vnaxdx12ccq172i8j5l830mlp8jlg-redis-7.0.5
/nix/store/b47gmsx9qx0c9vh75wsg8bqq9qd0ad6f-openssl-3.0.7
copying path &#39;/nix/store/b47gmsx9qx0c9vh75wsg8bqq9qd0ad6f-openssl-3.0.7&#39; from &#39;https://cache.nixos.org&#39;...
copying path &#39;/nix/store/6w4vnaxdx12ccq172i8j5l830mlp8jlg-redis-7.0.5&#39; from &#39;https://cache.nixos.org&#39;...
Using redis-7.0.5
97814:C 10 Feb 2023 20:44:36.960 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
97814:C 10 Feb 2023 20:44:36.960 # Redis version=7.0.5, bits=64, commit=00000000, modified=0, pid=97814, just started
97814:C 10 Feb 2023 20:44:36.960 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
97814:M 10 Feb 2023 20:44:36.961 * Increased maximum number of open files to 10032 (it was originally set to 256).
97814:M 10 Feb 2023 20:44:36.961 * monotonic clock: POSIX clock_gettime
_._
_.-``__ &#39;&#39;-._
_.-`` `. `_. &#39;&#39;-._ Redis 7.0.5 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ &#39;&#39;-._
( &#39; , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|&#39;` _.-&#39;| Port: 6379
| `-._ `._ / _.-&#39; | PID: 97814
`-._ `-._ `-./ _.-&#39; _.-&#39;
|`-._`-._ `-.__.-&#39; _.-&#39;_.-&#39;|
| `-._`-._ _.-&#39;_.-&#39; | https://redis.io
`-._ `-._`-.__.-&#39;_.-&#39; _.-&#39;
|`-._`-._ `-.__.-&#39; _.-&#39;_.-&#39;|
| `-._`-._ _.-&#39;_.-&#39; |
`-._ `-._`-.__.-&#39;_.-&#39; _.-&#39;
`-._ `-.__.-&#39; _.-&#39;
`-._ _.-&#39;
`-.__.-&#39;
97814:M 10 Feb 2023 20:44:36.962 # WARNING: The TCP backlog setting of 511 cannot be enforced because kern.ipc.somaxconn is set to the lower value of 128.
97814:M 10 Feb 2023 20:44:36.962 # Server initialized
97814:M 10 Feb 2023 20:44:36.963 * Ready to accept connections
</code></pre>
<p>Woo! Redis is started and it works!</p>
<p>But if you have multiple projects you want to have more control. For
example, we will want to run redis on a specific port. Here is how you
do it:</p>
<div class="sourceCode" id="cb6"><pre
class="sourceCode nix"><code class="sourceCode nix"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="op">{</span> <span class="va">pkgs</span> <span class="op">?</span> <span class="bu">import</span> <span class="op">(</span><span class="bu">fetchTarball</span> <span class="va">https</span><span class="op">://</span><span class="ss">github.com/NixOS/nixpkgs/archive/21.05.tar.gz</span><span class="op">)</span> <span class="op">{}</span> <span class="op">}</span>:</span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> <span class="va">iport</span> <span class="op">=</span> <span class="dv">16380</span><span class="op">;</span></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a> <span class="va">port</span> <span class="op">=</span> <span class="bu">toString</span> iport<span class="op">;</span></span>
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">in</span> pkgs.mkShell <span class="op">{</span></span>
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true" tabindex="-1"></a> <span class="co"># must contain buildInputs, nativeBuildInputs and shellHook</span></span>
<span id="cb6-6"><a href="#cb6-6" aria-hidden="true" tabindex="-1"></a> <span class="va">buildInputs</span> <span class="op">=</span> <span class="op">[</span> pkgs.redis <span class="op">];</span></span>
<span id="cb6-7"><a href="#cb6-7" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true" tabindex="-1"></a> <span class="co"># Post Shell Hook</span></span>
<span id="cb6-9"><a href="#cb6-9" aria-hidden="true" tabindex="-1"></a> <span class="va">shellHook</span> <span class="op">=</span> <span class="st">&#39;&#39;</span></span>
<span id="cb6-10"><a href="#cb6-10" aria-hidden="true" tabindex="-1"></a><span class="st"> echo &quot;Using </span><span class="sc">${</span>pkgs.redis.name<span class="sc">}</span><span class="st"> on port </span><span class="sc">${</span>port<span class="sc">}</span><span class="st">&quot;</span></span>
<span id="cb6-11"><a href="#cb6-11" aria-hidden="true" tabindex="-1"></a><span class="st"> redis-server --port </span><span class="sc">${</span>port<span class="sc">}</span></span>
<span id="cb6-12"><a href="#cb6-12" aria-hidden="true" tabindex="-1"></a><span class="st"> &#39;&#39;</span><span class="op">;</span></span>
<span id="cb6-13"><a href="#cb6-13" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span></code></pre></div>
<p>And here is the result:</p>
<pre><code>&gt; rm dump.rdb
&gt; nix-shell
Using redis-6.2.3 on port 16380
1785:C 10 Feb 2023 20:50:00.880 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1785:C 10 Feb 2023 20:50:00.880 # Redis version=6.2.3, bits=64, commit=00000000, modified=0, pid=1785, just started
1785:C 10 Feb 2023 20:50:00.880 # Configuration loaded
1785:M 10 Feb 2023 20:50:00.880 * Increased maximum number of open files to 10032 (it was originally set to 256).
1785:M 10 Feb 2023 20:50:00.880 * monotonic clock: POSIX clock_gettime
_._
_.-``__ &#39;&#39;-._
_.-`` `. `_. &#39;&#39;-._ Redis 6.2.3 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ &#39;&#39;-._
( &#39; , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|&#39;` _.-&#39;| Port: 16380
| `-._ `._ / _.-&#39; | PID: 1785
`-._ `-._ `-./ _.-&#39; _.-&#39;
|`-._`-._ `-.__.-&#39; _.-&#39;_.-&#39;|
| `-._`-._ _.-&#39;_.-&#39; | https://redis.io
`-._ `-._`-.__.-&#39;_.-&#39; _.-&#39;
|`-._`-._ `-.__.-&#39; _.-&#39;_.-&#39;|
| `-._`-._ _.-&#39;_.-&#39; |
`-._ `-._`-.__.-&#39;_.-&#39; _.-&#39;
`-._ `-.__.-&#39; _.-&#39;
`-._ _.-&#39;
`-.__.-&#39;
1785:M 10 Feb 2023 20:50:00.881 # Server initialized
1785:M 10 Feb 2023 20:50:00.881 * Ready to accept connections
</code></pre>
<p>Woo! Now we can control the port from the file. That's nice. But,
hmmm, has you might have noticed, when you quit the session it dumps the
DB as the file <code class="verbatim">dump.rdb</code>. What we would
like is to keep the state in a local file that would be easy to delete.
So here is how I did it, mainly, I just create a redis config file
locally, and run redis using this local config file. Also I do my best
to put all files created for running this local redis instance into a
local file into my project. The code is more complex this time, but I
just added a way to create a config file and declare a directory that
will contain all the state of the DB and of the nix configuration.</p>
<div class="sourceCode" id="cb8"><pre
class="sourceCode nix"><code class="sourceCode nix"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="op">{</span> <span class="va">pkgs</span> <span class="op">?</span> <span class="bu">import</span> <span class="op">(</span><span class="bu">fetchTarball</span> <span class="va">https</span><span class="op">://</span><span class="ss">github.com/NixOS/nixpkgs/archive/21.05.tar.gz</span><span class="op">)</span> <span class="op">{}</span> <span class="op">}</span>:</span>
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a><span class="kw">let</span> <span class="va">iport</span> <span class="op">=</span> <span class="dv">16380</span><span class="op">;</span></span>
<span id="cb8-3"><a href="#cb8-3" aria-hidden="true" tabindex="-1"></a> <span class="va">port</span> <span class="op">=</span> <span class="bu">toString</span> iport<span class="op">;</span></span>
<span id="cb8-4"><a href="#cb8-4" aria-hidden="true" tabindex="-1"></a><span class="kw">in</span> pkgs.mkShell <span class="op">(</span><span class="kw">rec</span> <span class="op">{</span></span>
<span id="cb8-5"><a href="#cb8-5" aria-hidden="true" tabindex="-1"></a> <span class="co"># ENV Variables the directory to put all the DATA</span></span>
<span id="cb8-6"><a href="#cb8-6" aria-hidden="true" tabindex="-1"></a> <span class="va">REDIS_DATA</span> <span class="op">=</span> <span class="st">&quot;</span><span class="sc">${</span><span class="bu">toString</span> <span class="ss">./.</span><span class="sc">}</span><span class="st">/.redis&quot;</span><span class="op">;</span></span>
<span id="cb8-7"><a href="#cb8-7" aria-hidden="true" tabindex="-1"></a> <span class="co"># the config file, as we use REDIS_DATA variable we just declared in the</span></span>
<span id="cb8-8"><a href="#cb8-8" aria-hidden="true" tabindex="-1"></a> <span class="co"># same nix set, we need to use rec</span></span>
<span id="cb8-9"><a href="#cb8-9" aria-hidden="true" tabindex="-1"></a> <span class="va">redisConf</span> <span class="op">=</span> pkgs.writeText <span class="st">&quot;redis.conf&quot;</span></span>
<span id="cb8-10"><a href="#cb8-10" aria-hidden="true" tabindex="-1"></a> <span class="st">&#39;&#39;</span></span>
<span id="cb8-11"><a href="#cb8-11" aria-hidden="true" tabindex="-1"></a><span class="st"> port </span><span class="sc">${</span>port<span class="sc">}</span></span>
<span id="cb8-12"><a href="#cb8-12" aria-hidden="true" tabindex="-1"></a><span class="st"> dbfilename redis.db</span></span>
<span id="cb8-13"><a href="#cb8-13" aria-hidden="true" tabindex="-1"></a><span class="st"> dir </span><span class="sc">${</span>REDIS_DATA<span class="sc">}</span></span>
<span id="cb8-14"><a href="#cb8-14" aria-hidden="true" tabindex="-1"></a><span class="st"> &#39;&#39;</span><span class="op">;</span></span>
<span id="cb8-15"><a href="#cb8-15" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb8-16"><a href="#cb8-16" aria-hidden="true" tabindex="-1"></a> <span class="va">buildInputs</span> <span class="op">=</span> <span class="op">[</span> pkgs.redis <span class="op">];</span></span>
<span id="cb8-17"><a href="#cb8-17" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb8-18"><a href="#cb8-18" aria-hidden="true" tabindex="-1"></a> <span class="co"># Post Shell Hook</span></span>
<span id="cb8-19"><a href="#cb8-19" aria-hidden="true" tabindex="-1"></a> <span class="va">shellHook</span> <span class="op">=</span> <span class="st">&#39;&#39;</span></span>
<span id="cb8-20"><a href="#cb8-20" aria-hidden="true" tabindex="-1"></a><span class="st"> echo &quot;Using </span><span class="sc">${</span>pkgs.redis.name<span class="sc">}</span><span class="st"> on port: </span><span class="sc">${</span>port<span class="sc">}</span><span class="st">&quot;</span></span>
<span id="cb8-21"><a href="#cb8-21" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb8-22"><a href="#cb8-22" aria-hidden="true" tabindex="-1"></a><span class="st"> [ ! -d $REDIS_DATA ] \</span></span>
<span id="cb8-23"><a href="#cb8-23" aria-hidden="true" tabindex="-1"></a><span class="st"> &amp;&amp; mkdir -p $REDIS_DATA</span></span>
<span id="cb8-24"><a href="#cb8-24" aria-hidden="true" tabindex="-1"></a><span class="st"> cat &quot;$redisConf&quot; &gt; $REDIS_DATA/redis.conf</span></span>
<span id="cb8-25"><a href="#cb8-25" aria-hidden="true" tabindex="-1"></a><span class="st"> alias redisstop=&quot;echo &#39;Stopping Redis&#39;; redis-cli -p </span><span class="sc">${</span>port<span class="sc">}</span><span class="st"> shutdown; rm -rf $REDIS_DATA&quot;</span></span>
<span id="cb8-26"><a href="#cb8-26" aria-hidden="true" tabindex="-1"></a><span class="st"> nohup redis-server $REDIS_DATA/redis.conf &gt; /dev/null 2&gt;&amp;1 &amp;</span></span>
<span id="cb8-27"><a href="#cb8-27" aria-hidden="true" tabindex="-1"></a><span class="st"> echo &quot;When finished just run redisstop &amp;&amp; exit&quot;</span></span>
<span id="cb8-28"><a href="#cb8-28" aria-hidden="true" tabindex="-1"></a><span class="st"> &#39;&#39;</span><span class="op">;</span></span>
<span id="cb8-29"><a href="#cb8-29" aria-hidden="true" tabindex="-1"></a><span class="op">})</span></span></code></pre></div>
<p>And here is a full session using this <code
class="verbatim">shell.nix</code>:</p>
<pre><code> nix-shell
Using redis-6.2.3 on port: 16380
When finished just run redisstop &amp;&amp; exit
[nix-shell:~/tmp/nixplayground]$ redis-cli -p 16380
127.0.0.1:16380&gt; help
redis-cli 6.2.3
To get help about Redis commands type:
&quot;help @&lt;group&gt;&quot; to get a list of commands in &lt;group&gt;
&quot;help &lt;command&gt;&quot; for help on &lt;command&gt;
&quot;help &lt;tab&gt;&quot; to get a list of possible help topics
&quot;quit&quot; to exit
To set redis-cli preferences:
&quot;:set hints&quot; enable online hints
&quot;:set nohints&quot; disable online hints
Set your preferences in ~/.redisclirc
127.0.0.1:16380&gt;
[nix-shell:~/tmp/nixplayground]$ ls -a
. .. .redis shell.nix
[nix-shell:~/tmp/nixplayground]$ find .redis
.redis
.redis/redis.conf
[nix-shell:~/tmp/nixplayground]$ redis-cli -p 16380 shutdown
[1]+ Done nohup redis-server $REDIS_DATA/redis.conf &gt; /dev/null 2&gt;&amp;1
[nix-shell:~/tmp/nixplayground]$ find .redis
.redis
.redis/redis.db
.redis/redis.conf
[nix-shell:~/tmp/nixplayground]$ redisstop
Stopping Redis
Could not connect to Redis at 127.0.0.1:16380: Connection refused
[nix-shell:~/tmp/nixplayground]$ ls -a
. .. shell.nix
[nix-shell:~/tmp/nixplayground]$
</code></pre>
<p>So with this version all data related to redis is saved into the
local <code class="verbatim">.redis</code> directory. And in the nix
shell we provide a command <code class="verbatim">redisstop</code> that
once invoked, shutdown redis, then purge all redis related data (as you
would like in a development environment). Also, as compared to previous
version, redis is launched in background so you could run commands in
your nix shell.</p>
<h1 id="nix-shell-fu-level-3-lesson-composability"><code
class="verbatim">nix-shell-fu</code> level 3 lesson; composability</h1>
<p>So in order for this part to be easier to follow, we'll go back to
our first example with the shell.nix that just ran hello.</p>
<h1 id="appendice">Appendice</h1>
<h2 id="digression"><span id="digression"></span>Digression</h2>
<p>In fact, this is a bit more complex than "just that". The reality is
a bit more complex. The nix language is "pure", meaning, if you run the
nix evaluation multiple times, it will always evaluate to the exact same
value. But here, this block represent a function. The function takes as
input a "nix set" (which you can see as an associative array, or a
hash-map or also a javascript object depending on your preference), and
this set is expected to contain a field named <code
class="verbatim">pkgs</code>. If <code class="verbatim">pkgs</code> is
not provided, it will us the set from the stable version 22.11 of
nixpkgs by downloading them from github archive. The second part of the
function generate "something" that is returned by an internal function
of the standard library provided by <code class="verbatim">nix</code>
which is named <code class="verbatim">mkShell</code>. So mainly, <code
class="verbatim">mkShell</code> is a helper function that will generate
what nix calls a <em><a
href="https://blog.ielliott.io/nix-docs/derivation.html">derivation</a></em>.
Mainly, we don't really care about exactly what is a
<em>derivation</em>. This is an internal to nix representation that
could be finally used by different nix tools for different things.
Typically, installing a package, running a local development environment
with nix-shell or nix develop, etc…</p>
<p>So the important detail to remember is that we can manipulate the
parameter we pass to the functions <code
class="verbatim">derivation</code>, <code
class="verbatim">mkDerivation</code> and <code
class="verbatim">mkShell</code>, but we have no mechanism to manipulate
directly <code class="verbatim">derivation</code>. So in order to make
that composable, you need to call the <code
class="verbatim">derivation</code> internal function at the very end
only.</p>
<p>The argument of all these functions are <em>nix sets</em></p>
</body>
</html>

View file

@ -7,6 +7,81 @@
- tags :: [[id:6e4c4d62-215d-4e0d-9361-0ff64af6f4a9][nix]]
TL;DR: This is how I created a =docker-compose= replacement with ~nix-shell~.
Here is a solution to have a composable nix shell representation focused on
replacing =docker-compose=.
Here is the main code:
#+begin_src nix
# imports should contain a list of nix files
{ pkgs, imports }:
let confs = map (f: import f { inherit pkgs; }) imports;
envs = map ({env ? {}}: env) confs;
# list the name of a command to stop
stops = map ({stop ? ":"}: stop) confs;
# we want to stop all services on exit
lastConfs = { shellHook = "stopall(){ " + builtins.foldl' (acc: stop: acc + " && " + stop) "" stops + "}" +
''
trap stopall EXIT
'';
};
mergedEnvs = builtins.foldl' (acc: e: acc // e) {} envs;
zeroConf = {};
mergedConfs = builtins.foldl' (acc: {buildInputs ? [], nativeBuildInputs ? [], shellHook ? "", ...}:
{ buildInputs = acc.buildInputs ++ buildInputs;
nativeBuildInputs = acc.nativeBuildInputs ++ nativeBuildInputs;
shellHook = acc.shellHook + shellHook;
}) zeroConf (confs);
in (mergedEnvs // mergedConfs)
#+end_src
#+begin_src nix
# example of nix file to be used as import
{ pkgs ? import (fetchTarball https://github.com/NixOS/nixpkgs/archive/22.11.tar.gz) {} }:
let iport = 16380;
port = toString iport;
env = {
redisConf =
pkgs.writeText "redis.conf"
''
port ${port}
dbfilename redis.db
dir ${toString ./.}/.redis
logfile redis.log
'';
# ENV Variables
REDIS_DATA = "${toString ./.}/.redis";
};
in env // {
# Warning if you add an attribute like an ENV VAR you must do it via env.
inherit env;
nativeBuildInputs = [
pkgs.redis
];
# Post Shell Hook
shellHook = ''
echo "Using ${pkgs.redis.name}. port: ${port}"
[ ! -d $REDIS_DATA ] \
&& mkdir -p $REDIS_DATA
cat "$redisConf" > $REDIS_DATA/redis.conf
function redisstop {
echo 'Stopping and Cleaning up Redis'
redis-cli -p ${port} shutdown && \
rm -rf $REDIS_DATA
}
nohup redis-server $REDIS_DATA/redis.conf > /dev/null &
trap redisstop EXIT
'';
# the function to call on EXIT
stop = "redisstop";
}
#+end_src
** Introduction
So I work on a project for which we used Docker to locally run integration tests.
More precisely we used =docker-compose= to launch different services, most of them
being databases.
@ -49,10 +124,9 @@ And this could be understood in plain English as:
#+begin_quote
In the packages of nix version 22.11, create a new shell into which the package
=hello= will be installed. At the end of the install, run a script that will print
the package name.[^1]
the package name. (Cf [[digression]])
#+end_quote
[^1]:
And indeed, if you copy/paste this nix block in a file and run ~nix-shell~ here is
the result:
@ -303,3 +377,33 @@ could run commands in your nix shell.
So in order for this part to be easier to follow, we'll go back to our first
example with the shell.nix that just ran hello.
** Appendice
*** <<digression>> Digression
In fact, this is a bit more complex than "just that".
The reality is a bit more complex.
The nix language is "pure", meaning, if you run the nix evaluation multiple
times, it will always evaluate to the exact same value.
But here, this block represent a function.
The function takes as input a "nix set" (which you can see as an associative
array, or a hash-map or also a javascript object depending on your preference),
and this set is expected to contain a field named =pkgs=. If =pkgs= is not provided,
it will us the set from the stable version 22.11 of nixpkgs by downloading them
from github archive.
The second part of the function generate "something" that is returned by an
internal function of the standard library provided by =nix= which is named
=mkShell=.
So mainly, =mkShell= is a helper function that will generate what nix calls a
/[[https://blog.ielliott.io/nix-docs/derivation.html][derivation]]/. Mainly, we don't really care about exactly what is a /derivation/.
This is an internal to nix representation that could be finally used by
different nix tools for different things. Typically, installing a package,
running a local development environment with nix-shell or nix develop, etc…
So the important detail to remember is that we can manipulate the parameter we
pass to the functions =derivation=, =mkDerivation= and =mkShell=, but we have no
mechanism to manipulate directly =derivation=. So in order to make that
composable, you need to call the =derivation= internal function at the very end only.
The argument of all these functions are /nix sets/

View file

@ -2807,6 +2807,425 @@ Added for:
- 4986f84e-745f-4f32-b840-803b97856e68
*** 2023-02-10 Friday
**** TODO Add the impersonate scope to PIAM clients :work:
**** HOLD Add the impersonate scope to PIAM clients :work:
SCHEDULED: <2023-02-13 Mon 15:00>
:LOGBOOK:
- State "HOLD" from "TODO" [2023-02-16 Thu 15:47] \\
We need to wait to know if we are going to provision internally.
:END:
[2023-02-10 Fri 15:23]
** 2023-W07
*** 2023-02-13 Monday
**** DONE Créer un meeting avec Murali et Christopher Van Der Made :work:
SCHEDULED: <2023-02-14 Tue 10:00>
[2023-02-13 Mon 17:06]
We would like to talk with you to find a way to synchronize between IROH and SXO permissions.
**** MEETING RBAC :work:meeting:
:LOGBOOK:
CLOCK: [2023-02-13 Mon 16:32]--[2023-02-13 Mon 17:32] => 1:00
:END:
[2023-02-13 Mon 16:32]
***** Agenda (to discuss about)
***** Notes
***** Actions
*** 2023-02-14 Tuesday
**** DONE Finish to answer to Paul :work:
DEADLINE: <2023-02-15 Wed 11:00> SCHEDULED: <2023-02-14 Tue>
[2023-02-14 Tue 18:32]
**** DONE Répondre à Paul Cichonski :work:
SCHEDULED: <2023-02-13 Mon 17:00>
[2023-02-14 Tue 15:46]
*** 2023-02-15 Wednesday
**** DONE Create an issue to internalize provisioning :work:
DEADLINE: <2023-02-21 Tue 17:30> SCHEDULED: <2023-02-21 Tue>
:LOGBOOK:
CLOCK: [2023-02-22 Wed 14:00]--[2023-02-22 Wed 15:00] => 1:00
:END:
[2023-02-15 Wed 19:17]
***** Epic
Epic https://github.com/advthreat/iroh/issues/7533
****** Specialized Provisioning Route for PIAM
:PROPERTIES:
:CUSTOM_ID: specialized-provisioning-route-for-piam
:END:
We should provide a route that will in the body a =NewAccount=, being
#+begin_src clojure
(s/defschema NewAccount
"The schema to create a New Account,
mainly all data needed to create a new Org,
a main admin User for this org and onboard it."
{:org NewOrg
:user NewUser})
(s/defschema NewOrg
"Org before being saved to DB"
(st/merge
{:id OrgId}
(st/optional-keys
{:name (describe s/Str "The name of the Organization specified during login.")
:enterprise-id (describe s/Str "The Cisco SBG Platform Enterprise id associated to this Org.")
:scim-status (describe SCIMStatus "Determine if your Org is activated or not (allowed values are activated or waiting-activation)")
:address OrgAddress})))
(s/defschema OrgAddress
(st/optional-keys
{:department s/Str
:street1 s/Str
:street2 s/Str
:postal-code s/Str
:city s/Str
:country-iso-code (apply s/enum country-iso-codes)}))
(s/defschema NewUser
"provisioned User before being saved to DB"
(st/merge
{:user-email s/Str
:role LegacyOrXDRRoleId
:idp-mappings [PlatformUserIdPMapping]}
(st/optional-keys
{:user-name s/Str
:user-nick s/Str})))
(s/defschema PlatformUserIdPMapping
{:idp s/Str
:user-identity-id s/Str
(s/optional-key :organization-id) s/Str
:enabled? s/Bool})
#+end_src
From there, the endpoint will create the Org and User, then call every
onboarding URL with a user session token.
#+begin_src clojure
(let [org (create-org new-org)
user (create-user (assoc new-user :org-id (:id org)))
user-session-token (gen-session-token user)
onboarding-responses ;; a JSON Object whose keys are URLs and values are HTTP responses objects
(->> iroh-integration-onboarding-urls
(pmap #(http/post % user-session-token))
(map (fn [url http-response] [url http-response]) iroh-integration-onboarding-urls)
(into {}))]
;; 201
(created {:user user
:org org
:onboarding-responses onboarding-responses}))
#+end_src
Ideally every external service should answer quickly but after having
successfully created an IROH Module. Ideally, the response should
contain the =module-id=.
In order for this work to be completed every different team should
provide a new endpoint to trigger the onboarding.
****** =/onboard= Endpoint Specification
:PROPERTIES:
:CUSTOM_ID: onboard-endpoint-specification
:END:
Provide a URL that listens to HTTP POST. It must only accept queries
containing an Authorization header that will contain a Bearer token. The
token must be a valid (correctly signed, non-expired) IROH JWT. If not,
it must return a 401.
That route should not accept any query parameter nor any body. All the
data could be retrieved from the session token passed in the
Authorization header.
Example:
#+begin_example
POST https://product.env.security.cisco.com/onboarding
Authorization: Bearer $JWT
Accept: application/json
#+end_example
#+begin_example
HTTP/2 201
server: nginx
date: Wed, 21 Feb 2023 13:43:31 GMT
content-type: text/html; charset=utf-8
content-length: 61
strict-transport-security: max-age=31536000; includeSubDomains
accept-ranges: bytes
{"module-instance-id":"1e5bb994-b2b4-11ed-9de6-325096b39f47"}
#+end_example
The server should ideally answer in less than a few seconds. If for your
product, the internal provisioning takes longer then you should simply
return a response explaining that the provisioning is in progress. The
response must be a JSON Object. Ideally, it should contain a field named
=module-instance-id= for the module-instance-id created. And potentially
other data related to the onboarding.
#+begin_example
{"module-instance-id": String, ...}
#+end_example
******* Expectations
:PROPERTIES:
:CUSTOM_ID: expectations
:END:
The expected background work to be performed after receiving this HTTP
call is:
1. Call =/iroh/oauth2/custom/tokens= with the User Session Token in
header (same Authorization header as received) and the body must
contain the =cliend-id= and =client-secret= created for your Product
in IROH. From this call, you should get back both an access and
refresh token.
2. You should save the refresh token.
3. The access token could be used to:
- retrieve needed data to provision a new tenant by calling
=/iroh/profile/whoami= for example
- create the module instance in IROH.
Here is an example diagram (for Device Insight):
#+begin_src plantuml :file Onboarding_endpoint.png
skinparam handwritten false
skinparam shadowing false
skinparam sequence {
ParticipantFontName Chalkboard;
ParticipantBackgroundColor white;
ParticipantBorderColor #37C
GroupBorderColor #888
ArrowColor #37C
LifeLineBorderColor #37C
}
participant IROH as iroh
participant "Device Insight" as di
group Provision all sub-components (should not need the IROH_TOKEN)
group#EEF #EEF Device Insights
iroh->di: POST /onboard SESSION_TOKEN
di->di: internal provisioning
di->iroh: create module
di->iroh: 201 {module-id=..., ...}
end
#+end_src
#+caption: Onboarding_endpoint
[[https://user-images.githubusercontent.com/93899/220635593-80305d45-0f32-45a5-a94c-780ed8c244da.png]]
****** IROH internal notes
We need to introduce a new notion of /onboardable module./
A module is onboardable, if its module-type contain an ~onboard~ field pointing to
a single URL that follow the previous section specification.
We should probably have an internal data structure that will associate to every
entitlement a list of /onboardable modules/.
Ideally, we should have a convention to identify internal module-type by name,
so we could refer to the device-insight module for example instead of having to
specify manually the module-id.
Once this is done, the provisioning endpoint will be able to retrieve, from a
specific entitlement, a list of onboarding URL to call.
Instead of writing all details here, we should first write a short specification
about what is the best way to achieve this.
****** Tasks
- [ ] *dependency* DI check or update the onboarding endpoint
- [ ] *dependency* CSC check or update the onboarding endpoint
- [ ] *dependency* SXO check or update the onboarding endpoint
- [ ] *dependency* SCA check or update the onboarding endpoint
- [ ] Write the design related to the configuration of the onboarding URLs
- [ ] Create the new endpoint
**** MEETING RBAC sync with SXO :work:meeting:
:LOGBOOK:
CLOCK: [2023-02-15 Wed 17:51]--[2023-02-15 Wed 18:51] => 1:00
:END:
[2023-02-15 Wed 17:51]
***** Agenda (to discuss about)
1. Explain the goal
2. Propose a technical solution
****** Explain the goals
Currently in (XDR/SecureX/CTR) IROH we only have two roles, user and admin.
We want to introduce new roles with more granular permissions, in particular for
SXO.
SXO has a matrix of Read/Write/Execute for example. The notion of Execute does
not exists in IROH.
But SXO also has some roles.
A first step will be to introduce new role to propose up to 7 roles (instead of
the current 2) in XDR.
But an issue is that we also want to provide a way for IROH (XDR/SecureX/CTR)
admin to create their own *custom roles*.
****** Propose a technical solution
******* Problematic solution (SXO uses the claim for the role in the JWT)
It will work in phase 1, as we could provide a consistent list of roles.
But as soon as IROH will introduce custom role this will stop working as these
new role will probably be random ids (both in the JWT and in /whoami).
******* Proposed Solution 1
Use the scopes in the JWT.
AO should provide IROH a list of scopes for every new role.
All starting with =ao/=
- ~ao/sxo-role-1~
~- ao/sxo-role-2~
~- ao/sxo-role-3~
or
- ~ao/admin/sub-role-2/sub-role-3~
******* Proposed Solution 2
- ~ao/sxo-permission-1~
- ~ao/sxo-permission-2~
- ~ao/sxo-permission-3~
******* Proposed Solution 3
- ~ao~ can read, write and execute
- ~ao:read~ can read, but cannot write nor execute
- ~ao/execute~ can read and execute, but cannot write
***** Notes
***** Actions
*** 2023-02-16 Thursday
**** MEETING TD&R Checking :work:meeting:
:LOGBOOK:
CLOCK: [2023-02-16 Thu 17:04]--[2023-02-17 Fri 10:22] => 17:18
:END:
[2023-02-16 Thu 17:04]
***** AJ
Address rumors:
1. Earnings, yesterday, 133M$
**** TODO Ecrire doc pour expliquer les changements RBAC à SXO :work:
SCHEDULED: <2023-02-28 Tue 16:00>
[2023-02-16 Thu 10:20]
**** DONE Upgrade Client to ribbon 2 in TEST :work:
DEADLINE: <2023-02-16 Thu 12:00> SCHEDULED: <2023-02-16 Thu>
[2023-02-16 Thu 09:15]
webexteams://im?space=db149a90-e8b4-11eb-9fdb-3b8d98a2bf4d
I'm starting to look at the process to update our ribbon to use 2.0. One of the first steps in the upgrade documentation is to reach out to IROH team to get the "investigation" and "registry/user" scopes added to our oauth client.
To start, I'd like to update the oauth client used in the test environment with client id client-b63b916a-a606-4076-9f9b-15469aec0b93.
*** 2023-02-17 Friday
**** IN-PROGRESS Fix log PR :work:
:LOGBOOK:
CLOCK: [2023-02-17 Fri 10:50]--[2023-02-22 Wed 14:31] => 123:41
:END:
[2023-02-17 Fri 10:50]
**** DONE Extraire les logs de logins pour Prerna :work:
DEADLINE: <2023-02-17 Fri 09:45> SCHEDULED: <2023-02-17 Fri>
[2023-02-17 Fri 08:53]
** 2023-W08
*** 2023-02-22 Wednesday
**** MEETING Weekly API Design Meeting :work:meeting:
:LOGBOOK:
CLOCK: [2023-02-22 Wed 18:35]--[2023-02-22 Wed 19:43] => 1:08
:END:
[2023-02-22 Wed 18:35]
***** Agenda (to discuss about)
***** Notes
***** Actions
**** MEETING RBAC weekly :work:meeting:
:LOGBOOK:
CLOCK: [2023-02-22 Wed 17:03]--[2023-02-22 Wed 17:34] => 0:31
:END:
[2023-02-22 Wed 17:03]
***** Agenda (to discuss about)
***** Notes
***** Actions
Look deeper into dependencies (3rd party scopes like sse, ao, etc…)
*** 2023-02-23 Thursday
**** HOLD Check Secure Endpoint error logs :work:
DEADLINE: <2023-02-24 Fri 10:30> SCHEDULED: <2023-02-23 Thu>
:LOGBOOK:
- State "HOLD" from "TODO" [2023-02-24 Fri 14:19] \\
En attente du retour de Matt pour tester
:END:
[2023-02-23 Thu 19:00]
Discussion in "SecureX Secure Endpoint"
webexteams://im?space=d42b0de0-48b3-11ec-924a-a3c1923cd1c3
Fix PR https://github.com/advthreat/iroh/pull/7473
**** MEETING Weekly IROH Services Meeting :work:meeting:
:LOGBOOK:
CLOCK: [2023-02-23 Thu 17:04]
:END:
[2023-02-23 Thu 17:04]
***** Agenda (to discuss about)
***** Notes
***** Actions
*** 2023-02-24 Friday
**** DONE Help Yannis to fix the Orbital Client :work:
SCHEDULED: <2023-02-24 Fri>
[2023-02-24 Fri 14:18]
** 2023-W09
*** 2023-02-27 Monday
**** MEETING Staging Env :work:meeting:
:LOGBOOK:
CLOCK: [2023-02-27 Mon 16:00]--[2023-02-27 Mon 16:39] => 0:39
:END:
[2023-02-27 Mon 16:00]
***** Agenda (to discuss about)
***** Notes
***** Actions
**** DONE Help UI beta team list the IdP used by beta org :chore:
:LOGBOOK:
CLOCK: [2023-02-27 Mon 16:39]--[2023-02-27 Mon 17:02] => 0:23
:END:
[2023-02-27 Mon 16:59]
There is a bug for user login via SMA
https://github.com/advthreat/securex-ui-shell/issues/115
In order to check if this must be resolved before going to prod, I had to check
if every org part of the beta uses TG to login. Result none.
NAM:
- SX Test org: b5935c68-c16a-4290-a49a-aad9bb2ea733 SXSO
- Cisco SBG Customer Insights: 40f4c64b-7934-4dc6-87d9-5ebf36c13d54 SXSO
- Jazz Air: 1b7024af-bc0a-4de1-8ce6-f093340ed5fb SXSO
- MEMIC: b62f0113-f26e-42f1-89e3-b45254c416a7 CSA and SXSO (did not perform the full IdP migration from CSA)
- Opus Holding: 4b1b4bba-f310-4251-88c3-bdf3b93d6456 CSA (some users used SXSO)
- Room & Board: 794047a5-b023-489e-b5ee-6407fcdf0daa SXSO (Migrated from CSA)
- Talos Energy: c074a67d-1e57-4e4f-9f9d-0b9ed7847bf8 SXSO (Migrated from CSA)
EU:
- DPD Group UK LTD: cee614cb-f35b-4147-bd27-9968d173c3ce: SXSO

File diff suppressed because it is too large Load diff