From 2a4c036ee47fa4c2e28f3ae68b138b050ae8b3f9 Mon Sep 17 00:00:00 2001 From: Jean-Pierre PRUNARET Date: Fri, 29 Jul 2016 14:57:11 +0200 Subject: [PATCH] activation conditionnelle (workstation) pour certains ensembles d'appli --- base/config-generator.nix | 4 ++++ desktop/{ => activation-manuelle}/app-cao.nix | 2 +- .../app-developpement.nix} | 2 +- desktop/desktop-minimal.nix | 15 +++++++++++++++ desktop/desktop.nix | 6 ++++-- 5 files changed, 25 insertions(+), 4 deletions(-) rename desktop/{ => activation-manuelle}/app-cao.nix (94%) rename desktop/{app-dev.nix => activation-manuelle/app-developpement.nix} (96%) create mode 100644 desktop/desktop-minimal.nix diff --git a/base/config-generator.nix b/base/config-generator.nix index 2b18b2f..b431fe7 100644 --- a/base/config-generator.nix +++ b/base/config-generator.nix @@ -43,7 +43,9 @@ in enable = mkEnableOption "Génération de la configuration d'une machine."; awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome."; auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques."; + conception-assistee = mkEnableOption "Profil pour activer les outils de conception électronique & modélisation 3D"; database_postgres=mkEnableOption "Profil pour activer le SGBD PostgreSQL."; + developpement = mkEnableOption "Profil pour activer les outils de développement"; docker = mkEnableOption "Profil pour l'utilisation de Docker."; dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS."; dns_resolveur = mkEnableOption "Profil pour activer un résolveur DNS local."; @@ -127,6 +129,7 @@ in r6d.profiles.isDesktop = true; r6d.config-generator = { + developpement = true; docker = true; }; }) @@ -146,6 +149,7 @@ in }) (mkIf (pfl.isDubronetwork && pfl.isWorkstation) { r6d.config-generator = { + conception-assistee = true; virtualbox = true; xmonad = true; }; diff --git a/desktop/app-cao.nix b/desktop/activation-manuelle/app-cao.nix similarity index 94% rename from desktop/app-cao.nix rename to desktop/activation-manuelle/app-cao.nix index 60b7e3a..995dfc5 100644 --- a/desktop/app-cao.nix +++ b/desktop/activation-manuelle/app-cao.nix @@ -7,7 +7,7 @@ let profiles = config.r6d.profiles; in -mkIf profiles.isDesktop { +mkIf cfg.conception-assistee { environment.systemPackages = with pkgs; [ # CAO diff --git a/desktop/app-dev.nix b/desktop/activation-manuelle/app-developpement.nix similarity index 96% rename from desktop/app-dev.nix rename to desktop/activation-manuelle/app-developpement.nix index 9fb81df..bf0f7f2 100644 --- a/desktop/app-dev.nix +++ b/desktop/activation-manuelle/app-developpement.nix @@ -7,7 +7,7 @@ let profiles = config.r6d.profiles; in -mkIf profiles.isDesktop { +mkIf cfg.developpement { environment.systemPackages = with pkgs; [ # Base de données diff --git a/desktop/desktop-minimal.nix b/desktop/desktop-minimal.nix new file mode 100644 index 0000000..e7bd59b --- /dev/null +++ b/desktop/desktop-minimal.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf; + cfg = config.r6d.config-generator; + computers = config.r6d.computers; + profiles = config.r6d.profiles; +in + +mkIf profiles.isDesktop { + + environment.systemPackages = with pkgs; [ + + ]; +} diff --git a/desktop/desktop.nix b/desktop/desktop.nix index e8ebb02..f2c1ab7 100644 --- a/desktop/desktop.nix +++ b/desktop/desktop.nix @@ -11,18 +11,20 @@ in imports = [ # applications : # commandées par config-generator ./activation-manuelle/app-awesome.nix # pour les profils awesome + ./activation-manuelle/app-cao.nix # de conception assisté par ordinateur & modélisation + ./activation-manuelle/app-developpement.nix # utilisée pour développer des programmes/scripts ./activation-manuelle/app-docker.nix # pour activer docker ./activation-manuelle/app-jeux.nix # permettant de jouer ;) ./activation-manuelle/app-virtualbox.nix # pour exploiter virtualbox ./activation-manuelle/laptop.nix # appli & configuration adaptée pour un PC portable$ ./activation-manuelle/xmonad.nix # gestionnaire de fenêtres xmonad # installées systématiquement + ./desktop-minimal.nix ./app-adminsys.nix # pour gérer le système dans son ensemble et les services ./app-bureautique.nix # dédiée à la bureautique (traitement de texte, dessin, ...) - ./app-cao.nix # de conception assisté par ordinateur & modélisation + # A ajouter dans config-generator & revoir le contenu pour le mettre si nécessaire dans minimal ./app-cartographie.nix # utilisée pour manipuler les données géographiques & cartes ./app-client-internet.nix # pour accéder & utiliser des ressources par le réseau - ./app-dev.nix # utilisée pour développer des programmes/scripts ./app-multimedia.nix # pour gérer le son, l'image et la vidéo ./app-network.nix # de gestion, de diagnostique & surveillance réseau ./app-securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...)