Compare commits

..

4 Commits

Author SHA1 Message Date
Yves Dubromelle
745d2cd171 on peut se passer de passer lib en paramètre 2017-05-25 23:30:50 +02:00
Yves Dubromelle
259a1a0aa6 cible make pour juste builder NixOS sans appliquer 2017-05-25 02:18:07 +02:00
Yves Dubromelle
854eed9227 ébauche de fonction pour générer un profil 2017-05-25 02:17:42 +02:00
8ee09217cb une machine hydra-builder doit faire du garbage-collection régulièrement 2017-05-22 10:42:16 +02:00
3 changed files with 52 additions and 9 deletions

View File

@@ -23,6 +23,9 @@ full-auto: submodules-update upgrade clean optimise
optimise:
$(TIME) nix-store --optimise
rebuild-build:
$(TIME) time nixos-rebuild build --fallback --show-trace
rebuild-switch:
$(TIME) time nixos-rebuild switch --fallback --show-trace

30
lib.nix Normal file
View File

@@ -0,0 +1,30 @@
let
lib = with import <nixpkgs> {}; pkgs.lib;
profiles = {
isDesktopEnvironment = {
awesome = true;
internetSuite = true;
multimediaSuite = true;
officeSuite = true;
pulseaudio = true;
securitySuite = true;
};
isWorkstation = {
graphical = true;
docker = true;
};
isServer = {
};
};
in
rec {
applyProfilesToDirectory = customProfiles: directory:
lib.mapAttrs (applyProfilesToMachine customProfiles) directory;
applyProfilesToMachine = customProfiles: machineName: machineOptions:
machineOptions;
#lib.recursiveUpdate {} machineOptions;
}

View File

@@ -11,22 +11,32 @@ mkIf flags.hydra-builder {
# Paquets
environment.systemPackages = with pkgs; [
qemu
kvm
qemu
virtualbox
];
# Services
## Services de virtualisation utilisé pour les tests hydra
virtualisation.docker.enable = true;
virtualisation.libvirtd.enable = true;
virtualisation.libvirtd.enableKVM = true;
#virtualisation.virtualbox.guest.enable = true;
virtualisation.virtualbox.host.enable = true;
virtualisation.virtualbox.host.headless = true;
virtualisation = {
docker.enable = true;
libvirtd = {
enable = true;
enableKVM = true;
};
virtualbox = {
#guest.enable = true;
host.enable = true;
host.headless = true;
};
};
## Ménage automatique tous les jours
nix.gc.automatic = true;
## Ménage automatique tous les jours - Frequent garbage collection is a good idea for build machines.
nix.gc = {
automatic = true;
dates = "*:0/30";
};
# users.users."hydrabld" = {
# description = "Execution des jobs hydra";