isDesktop -> isDesktopEnvironment + groupes de logiciels

hydra
Yves Dubromelle 8 years ago
parent 156cbc8c27
commit 3963027f04

@ -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;
};

@ -51,11 +51,11 @@ mkIf true {
duff # outil de recherche de fichiers en doublons
rdfind # recherche de fichiers doublons pour remplacement par hard/soft link
(mkIf profiles.isDesktop
(mkIf profiles.isDesktopEnvironment
## Gestion de FS
gparted # Gestion graphique de partitions
)
(mkIf profiles.isDesktop
(mkIf profiles.isDesktopEnvironment
unetbootin # création de clefs USB bootables
)
];

@ -7,7 +7,7 @@ let
profiles = config.r6d.profiles;
in
mkIf profiles.isDesktop {
mkIf profiles.isDesktopEnvironment {
# Paquets
environment.systemPackages = with pkgs; [
@ -33,7 +33,7 @@ mkIf profiles.isDesktop {
];
# Polices supplémentaires
fonts.fonts = with pkgs; mkIf profiles.isDesktop [
fonts.fonts = with pkgs; [
fira # police créée pour Firefox
fira-code # idem fira-mono + ligatures pour la programmation
fira-mono # dérivée de fira en monospace
@ -46,5 +46,7 @@ mkIf profiles.isDesktop {
# pour le montage des media amovibles
devmon.source = "${pkgs.udevil}/bin/devmon";
udevil.source = "${pkgs.udevil}/bin/udevil"; # utilisé par spacefm
# vérouiller l''écran. "cannot disable the out-of-memory killer for this process (make sure to suid or sgid slock)" --> en root
slock.source = "${pkgs.slock}/bin/slock";
};
}

@ -7,7 +7,7 @@ let
profiles = config.r6d.profiles;
in
mkIf profiles.isDesktop {
mkIf cfg.officeSuite {
# Paquets
environment.systemPackages = with pkgs; [

@ -7,7 +7,7 @@ let
profiles = config.r6d.profiles;
in
# TODO: ménage
mkIf profiles.isDesktop {
mkIf cfg.internetSuite {
# Paquets
environment.systemPackages = with pkgs; [

@ -7,7 +7,8 @@ let
profiles = config.r6d.profiles;
in
mkIf profiles.isDesktop {
# TODO ranger le spécifique pulseaudio
mkIf cfg.multimediaSuite {
# Paquets
environment.systemPackages = with pkgs; [

@ -8,7 +8,6 @@ let
in
mkIf true {
#mkIf profiles.isDesktop {
# Paquets
environment.systemPackages = with pkgs; [

@ -7,7 +7,7 @@ let
profiles = config.r6d.profiles;
in
mkIf profiles.isDesktop {
mkIf cfg.securitySuite {
# Paquets
environment.systemPackages = with pkgs; [
@ -17,10 +17,4 @@ mkIf profiles.isDesktop {
pwgen # générateur de mots de passe
#yubikey-personalization-gui # utilisation de la clef Yubikey
];
# Paquets avec setui root
security.wrappers = {
# vérouiller l''écran. "cannot disable the out-of-memory killer for this process (make sure to suid or sgid slock)" --> en root
slock.source = "${pkgs.slock}/bin/slock";
};
}

@ -7,7 +7,7 @@ let
profiles = config.r6d.profiles;
in
mkIf profiles.isDesktop {
mkIf profiles.isDesktopEnvironment {
# Services
# Enable the X11 windowing system.

Loading…
Cancel
Save