|
|
|
@ -9,7 +9,9 @@ let
|
|
|
|
|
in
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
# TODO: ménage
|
|
|
|
|
# TODO camel case partout
|
|
|
|
|
# TODO everything in english
|
|
|
|
|
# TODO sortir ce qui est privé
|
|
|
|
|
###### interface
|
|
|
|
|
|
|
|
|
|
options = {
|
|
|
|
@ -20,8 +22,7 @@ in
|
|
|
|
|
isDubronetwork = mkEnableOption "Pour distinguer les machines dubronetwork.";
|
|
|
|
|
isPrunetwork = mkEnableOption "Pour distinguer les machines prunetwork.";
|
|
|
|
|
# Utilisation machine
|
|
|
|
|
isDesktop = mkEnableOption "Pour indiquer une machine avec interface graphique.";
|
|
|
|
|
isHome = mkEnableOption "Pour indiquer que la machine sert à la maison (divertissement & autre).";
|
|
|
|
|
isDesktopEnvironment = mkEnableOption "Pour indiquer une machine avec interface graphique.";
|
|
|
|
|
isServer = mkEnableOption "Pour indiquer qu'il s'agit d'un serveur.";
|
|
|
|
|
isWorkstation = mkEnableOption "Pour indiquer que la machine sert à travailler.";
|
|
|
|
|
};
|
|
|
|
@ -51,20 +52,24 @@ in
|
|
|
|
|
hydra-builder = mkEnableOption "Profil pour une machine qui compile pour hydra.";
|
|
|
|
|
hydra-core = mkEnableOption "Profil pour un serveur hydra.";
|
|
|
|
|
kibana = mkEnableOption "Profil pour activer le service kibana.";
|
|
|
|
|
internetSuite = mkEnableOption "Profil pour la suite de logiciels pour Internet.";
|
|
|
|
|
jetbrains-licensed = mkEnableOption "Profil pour la suite de développement Jetbrains payante (sous-ensemble).";
|
|
|
|
|
jeux = mkEnableOption "Profil pour les jeux vidéos.";
|
|
|
|
|
laptop = mkEnableOption "Profil pour les outils spécifiques aux ordinateurs portables.";
|
|
|
|
|
locate = mkEnableOption "Profil pour activer la fonction locate.";
|
|
|
|
|
mailboxes = mkEnableOption "Profil pour stocker les mails dans des boîtes aux lettres.";
|
|
|
|
|
multimediaSuite = mkEnableOption "Profil pour la suite multimédia.";
|
|
|
|
|
murmur = mkEnableOption "Profil pour activer un serveur Mumble (murmur)";
|
|
|
|
|
nix-serve-client = mkEnableOption "Profil pour que la machine soit un client de cache nix.";
|
|
|
|
|
nix-serve-server = mkEnableOption "Profil pour que la machine soit un serveur de cache nix.";
|
|
|
|
|
nixStoreProxyCache = mkEnableOption "Profil pour activer le proxy cahce nginx pour le nix store";
|
|
|
|
|
officeSuite = mkEnableOption "Profil pour la suite bureautique";
|
|
|
|
|
print = mkEnableOption "Profil pour activer cups & pouvoir imprimer.";
|
|
|
|
|
pulseaudio = mkEnableOption "Profil pour activer pulseaudio.";
|
|
|
|
|
rabbitmq = mkEnableOption "Profil pour activer le service de messagerie AMQP.";
|
|
|
|
|
radicale = mkEnableOption "Profil pour activer le service d'hébergement de calendrier + tâches & contacts.";
|
|
|
|
|
scanner = mkEnableOption "Profil pour que les scanners soient utilisable.";
|
|
|
|
|
securitySuite = mkEnableOption "Profil pour la suite de logiciels de sécurité.";
|
|
|
|
|
smokeping = mkEnableOption "Profil pour activer le monitoring réseau par smokeping.";
|
|
|
|
|
swap = mkEnableOption "Profil pour que le swap soit activé.";
|
|
|
|
|
virtualbox = mkEnableOption "Profil pour l'utilisation de VirtualBox.";
|
|
|
|
@ -108,16 +113,16 @@ in
|
|
|
|
|
config = mkMerge
|
|
|
|
|
[
|
|
|
|
|
## Définition des profils génériques
|
|
|
|
|
(mkIf pfl.isDesktop {
|
|
|
|
|
(mkIf pfl.isDesktopEnvironment {
|
|
|
|
|
r6d.config-generator = {
|
|
|
|
|
awesome = true;
|
|
|
|
|
#nix-serve-client = true;
|
|
|
|
|
internetSuite = true;
|
|
|
|
|
multimediaSuite = true;
|
|
|
|
|
officeSuite = true;
|
|
|
|
|
pulseaudio = true;
|
|
|
|
|
securitySuite = true;
|
|
|
|
|
};
|
|
|
|
|
})
|
|
|
|
|
(mkIf pfl.isHome {
|
|
|
|
|
r6d.profiles.isDesktop = true;
|
|
|
|
|
})
|
|
|
|
|
(mkIf (pfl.isServer && !comp.isMonstre) {
|
|
|
|
|
r6d.config-generator = {
|
|
|
|
|
#database_postgres = true;
|
|
|
|
@ -137,7 +142,7 @@ in
|
|
|
|
|
};
|
|
|
|
|
})
|
|
|
|
|
(mkIf pfl.isWorkstation {
|
|
|
|
|
r6d.profiles.isDesktop = true;
|
|
|
|
|
r6d.profiles.isDesktopEnvironment = true;
|
|
|
|
|
|
|
|
|
|
r6d.config-generator = {
|
|
|
|
|
docker = true;
|
|
|
|
@ -247,7 +252,6 @@ in
|
|
|
|
|
(mkIf comp.isRadx {
|
|
|
|
|
networking.hostName = "radx.prunetwork.fr"; # Define your hostname.
|
|
|
|
|
r6d.profiles = {
|
|
|
|
|
isHome = true;
|
|
|
|
|
isPrunetwork = true;
|
|
|
|
|
isWorkstation = true;
|
|
|
|
|
};
|
|
|
|
@ -275,7 +279,6 @@ in
|
|
|
|
|
networking.hostName = "latitude.dubronetwork.fr"; # Define your hostname.
|
|
|
|
|
r6d.profiles = {
|
|
|
|
|
isDubronetwork = true;
|
|
|
|
|
isHome = true;
|
|
|
|
|
isWorkstation = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -318,7 +321,7 @@ in
|
|
|
|
|
networking.hostName = "neo-nomade.dubronetwork.fr"; # Define your hostname.
|
|
|
|
|
r6d.profiles = {
|
|
|
|
|
isDubronetwork = true;
|
|
|
|
|
isHome = true;
|
|
|
|
|
isDesktopEnvironment = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
r6d.config-generator = {
|
|
|
|
@ -357,7 +360,6 @@ in
|
|
|
|
|
networking.hostName = "phenom.dubronetwork.fr"; # Define your hostname.
|
|
|
|
|
r6d.profiles = {
|
|
|
|
|
isDubronetwork = true;
|
|
|
|
|
isHome = true;
|
|
|
|
|
isWorkstation = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|