Compare commits

...

7 Commits

Author SHA1 Message Date
28f65522ae ajout variable pour ajouter variable d'environnement awesome 2016-07-18 12:14:00 +02:00
Yves Dubromelle
b7f05e47ac prise en compte de nomade par le générateur 2016-07-16 20:42:30 +02:00
Yves Dubromelle
350b62aef2 formattage 2016-07-16 20:41:00 +02:00
Yves Dubromelle
f6b939ffa9 ajout de politique d'énergie pour laptop 2016-07-15 11:59:39 +02:00
Yves Dubromelle
aa48575f58 déplacement de l'activation de nixos server vers phenom 2016-07-15 11:37:52 +02:00
a920200904 ajout machine xray 2016-07-13 23:19:04 +02:00
9cce1410a0 ajout d'un lien vers des raccourcis utiles pour git 2016-07-11 15:45:26 +02:00
3 changed files with 84 additions and 57 deletions

View File

@@ -0,0 +1,6 @@
{ config, pkgs, ... }:
{
# Gestion spécifique pour PC portable
powerManagement.cpuFreqGovernor = pkgs.lib.mkIf config.r6d.config-generator.laptop "powersave";
}

View File

@@ -9,69 +9,75 @@ let
host = config.networking.hostName;
in
{
imports = [
./activation-manuelle/auto-upgrade.nix
./activation-manuelle/locate.nix
./activation-manuelle/fail2ban.nix
./activation-manuelle/nix-serve-client.nix
./activation-manuelle/nix-serve-server.nix
./activation-manuelle/swap.nix
];
{
imports = [
./activation-manuelle/auto-upgrade.nix
./activation-manuelle/laptop.nix
./activation-manuelle/locate.nix
./activation-manuelle/fail2ban.nix
./activation-manuelle/nix-serve-client.nix
./activation-manuelle/nix-serve-server.nix
./activation-manuelle/swap.nix
];
###### interface
###### interface
options = {
options = {
#* Utilisé pour afecter des capacités aux machines
r6d.profiles = {
# Domaine
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).";
isServer = mkEnableOption "Pour indiquer qu'il s'agit d'un serveur.";
isWorkstation = mkEnableOption "Pour indiquer que la machine sert à travailler.";
#* Utilisé pour afecter des capacités aux machines
r6d.profiles = {
# Domaine
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).";
isServer = mkEnableOption "Pour indiquer qu'il s'agit d'un serveur.";
isWorkstation = mkEnableOption "Pour indiquer que la machine sert à travailler.";
};
#* Utilisé dans les fichiers .nix
r6d.config-generator = {
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.";
docker = mkEnableOption "Profil pour l'utilisation de Docker.";
fail2ban = mkEnableOption "Profil pour activer Fail2ban.";
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.";
nix-serve-client= mkEnableOption "Profil pour que la machine soit un serveur de cache nix.";
nix-serve-server= mkEnableOption "Profil pour que la machine soit un serveur de cache nix.";
swap = mkEnableOption "Profil pour que le swap soit activé.";
virtualbox = mkEnableOption "Profil pour l'utilisation de VirtualBox.";
};
#* Utilisé pour avoir des raccourcis de machine
r6d.computers = {
isLatitude = mkEnableOption "Identification du nom de machine.";
isMonstre = mkEnableOption "Identification du nom de machine.";
isNeoNomade = mkEnableOption "Identification du nom de machine.";
isNomade = mkEnableOption "Identification du nom de machine.";
isPhenom = mkEnableOption "Identification du nom de machine.";
isRadx = mkEnableOption "Identification du nom de machine.";
isXray = mkEnableOption "Identification du nom de machine.";
};
};
#* Utilisé dans les fichiers .nix
r6d.config-generator = {
enable = mkEnableOption "Génération de la configuration d'une machine.";
auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques.";
docker = mkEnableOption "Profil pour l'utilisation de Docker.";
fail2ban = mkEnableOption "Profil pour activer Fail2ban.";
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.";
nix-serve-client= mkEnableOption "Profil pour que la machine soit un serveur de cache nix.";
nix-serve-server= mkEnableOption "Profil pour que la machine soit un serveur de cache nix.";
swap = mkEnableOption "Profil pour que le swap soit activé.";
virtualbox = mkEnableOption "Profil pour l'utilisation de VirtualBox.";
};
#* Utilisé pour avoir des raccourcis de machine
r6d.computers = {
isLatitude = mkEnableOption "Identification du nom de machine.";
isMonstre = mkEnableOption "Identification du nom de machine.";
isNeoNomade = mkEnableOption "Identification du nom de machine.";
isPhenom = mkEnableOption "Identification du nom de machine.";
isRadx = mkEnableOption "Identification du nom de machine.";
};
};
###### implementation
# https://nixos.org/releases/nixos/14.12-small/nixos-14.12.374.61adf9e/manual/sec-writing-modules.html
# https://nixos.org/wiki/NixOS:extend_NixOS
config = mkMerge
[ # Unconditional stuff.
###### implementation
# https://nixos.org/releases/nixos/14.12-small/nixos-14.12.374.61adf9e/manual/sec-writing-modules.html
# https://nixos.org/wiki/NixOS:extend_NixOS
config = mkMerge
[ # Unconditional stuff.
{
r6d.config-generator.enable = true;
r6d.computers = {
isLatitude = host == "latitude.dubronetwork.fr";
isMonstre = host == "monstre.dubronetwork.fr";
isNeoNomade = host == "neo-nomade.dubronetwork.fr";
isNomade = host == "nomade.dubronetwork.fr";
isPhenom = host == "phenom.dubronetwork.fr";
isRadx = host == "radx.prunetwork.fr";
isXray = host == "xray.prunetwork.fr";
};
}
@@ -79,6 +85,7 @@ in
## Définition des profils génériques
(mkIf pfl.isDesktop {
r6d.config-generator.awesome = true;
})
(mkIf pfl.isHome {
r6d.profiles.isDesktop = true;
@@ -88,10 +95,10 @@ in
})
(mkIf pfl.isWorkstation {
r6d.profiles.isDesktop = true;
r6d.config-generator.docker = true;
})
(mkIf pfl.isDubronetwork {
(mkIf pfl.isDubronetwork {
r6d.config-generator.auto-upgrade = true;
r6d.config-generator.nix-serve-client = true;
})
@@ -102,7 +109,6 @@ in
r6d.config-generator.nix-serve-server = true;
})
(mkIf (pfl.isDubronetwork && pfl.isWorkstation) {
r6d.config-generator.nix-serve-server = true;
r6d.config-generator.virtualbox = true;
})
(mkIf pfl.isPrunetwork {
@@ -111,8 +117,8 @@ in
r6d.config-generator.nix-serve-client = true;
r6d.config-generator.swap = true;
})
## Affectation des profils aux machines
(mkIf comp.isRadx {
r6d.profiles.isHome = true;
@@ -124,6 +130,10 @@ in
virtualbox = true;
};
})
(mkIf comp.isXray {
r6d.profiles.isPrunetwork = true;
r6d.profiles.isServer = true;
})
(mkIf comp.isLatitude {
r6d.profiles.isDubronetwork = true;
@@ -134,7 +144,7 @@ in
laptop = true;
};
})
(mkIf comp.isMonstre {
(mkIf comp.isMonstre {
r6d.profiles.isDubronetwork = true;
r6d.profiles.isServer = true;
@@ -148,10 +158,19 @@ in
laptop = true;
};
})
(mkIf comp.isPhenom {
(mkIf comp.isNomade{
r6d.profiles.isDubronetwork = true;
r6d.config-generator = {
laptop = true;
};
})
(mkIf comp.isPhenom {
r6d.profiles.isDubronetwork = true;
r6d.profiles.isHome = true;
r6d.profiles.isWorkstation = true;
r6d.config-generator.nix-serve-server = true;
})
];
}

View File

@@ -1,3 +1,4 @@
# http://www.git-attitude.fr/2014/09/15/30-options-git-qui-gagnent-a-etre-connues/
[color]
diff = auto
branch = auto
@@ -10,6 +11,7 @@
ci = commit
co = checkout
ff = pull --ff-only
oops = commit --amend --no-edit
# Show files ignored by git
ignored = ls-files -o -i --exclude-standard
ls = ls-files