Compare commits

...

12 Commits

13 changed files with 105 additions and 30 deletions

View File

@@ -2,7 +2,11 @@
{ {
imports = [ imports = [
# recettes
./base/base.nix ./base/base.nix
./desktop/desktop.nix ./desktop/desktop.nix
# moulinette de configuration
./config-generator.nix
]; ];
} }

View File

@@ -11,5 +11,12 @@ in {
drivers = [ drivers = [
pkgs.samsung-unified-linux-driver pkgs.samsung-unified-linux-driver
]; ];
# Suppression automatique des fichiers temporaires.
# Par défaut, cups conserve une copie de ce qui a été imprimé
# pas cool pour les mots de passe ou autre donnée sensible
extraConf = ''
PreserveJobHistory No
PreserveJobFiles No
'';
}; };
} }

View File

@@ -9,6 +9,14 @@
./services.nix ./services.nix
# inclusion conditionnelle # inclusion conditionnelle
./config-generator.nix ./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/print.nix
./activation-manuelle/swap.nix
./activation-manuelle/users.nix
]; ];
} }

View File

@@ -9,19 +9,7 @@ let
host = config.networking.hostName; host = config.networking.hostName;
in in
{ {
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/print.nix
./activation-manuelle/swap.nix
./activation-manuelle/users.nix
];
###### interface ###### interface
options = { options = {
@@ -43,7 +31,9 @@ in
enable = mkEnableOption "Génération de la configuration d'une machine."; enable = mkEnableOption "Génération de la configuration d'une machine.";
awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome."; awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome.";
auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques."; 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."; 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."; docker = mkEnableOption "Profil pour l'utilisation de Docker.";
dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS."; dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS.";
dns_resolveur = mkEnableOption "Profil pour activer un résolveur DNS local."; dns_resolveur = mkEnableOption "Profil pour activer un résolveur DNS local.";
@@ -127,6 +117,7 @@ in
r6d.profiles.isDesktop = true; r6d.profiles.isDesktop = true;
r6d.config-generator = { r6d.config-generator = {
developpement = true;
docker = true; docker = true;
}; };
}) })
@@ -146,6 +137,7 @@ in
}) })
(mkIf (pfl.isDubronetwork && pfl.isWorkstation) { (mkIf (pfl.isDubronetwork && pfl.isWorkstation) {
r6d.config-generator = { r6d.config-generator = {
conception-assistee = true;
virtualbox = true; virtualbox = true;
xmonad = true; xmonad = true;
}; };
@@ -167,6 +159,10 @@ in
isPrunetwork = true; isPrunetwork = true;
isServer = true; isServer = true;
}; };
r6d.config-generator = {
docker = true;
};
}) })
(mkIf comp.isRadx { (mkIf comp.isRadx {
r6d.profiles = { r6d.profiles = {

View File

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

View File

@@ -7,7 +7,7 @@ let
profiles = config.r6d.profiles; profiles = config.r6d.profiles;
in in
mkIf profiles.isDesktop { mkIf cfg.developpement {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Base de données # Base de données

View File

@@ -35,9 +35,9 @@ mkIf profiles.isDesktop {
graphviz # dot, neato : traçage de graphes (carré, rond) graphviz # dot, neato : traçage de graphes (carré, rond)
jekyll # générateur statique de site web jekyll # générateur statique de site web
pandoc pandoc
#texLiveFull # distribution LaTeX texLiveFull # distribution LaTeX
texLive # distribution LaTeX de base #texLive # distribution LaTeX de base
texLiveBeamer # paquets et extensions pour Beamer #texLiveBeamer # paquets et extensions pour Beamer
texLiveModerncv # paquets pour la classe Modern CV #texLiveModerncv # paquets pour la classe Modern CV
]; ];
} }

View File

@@ -11,7 +11,10 @@ mkIf profiles.isDesktop {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Gestion de données géographiques # Gestion de données géographiques
expat
gpsbabel # pour convettir les données des GPS
josm # outil de contribution à OpenStreetMap josm # outil de contribution à OpenStreetMap
qgis # client lourd de manipulation de données géographiques
viking # analyse de topo, gestion de données GPS viking # analyse de topo, gestion de données GPS
]; ];
} }

View File

@@ -11,13 +11,13 @@ mkIf profiles.isDesktop {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Multimedia # Multimedia
picard # gestion des métadonnées des fichiers musicaux
## Audio ## Audio
audacity # montage audio audacity # montage audio
beep beep
cmus # lecteur audio console cmus # lecteur audio console
easytag # gestion des métadonnées des fichiers musicaux easytag # gestion des métadonnées des fichiers musicaux
picard # gestion des métadonnées des fichiers musicaux
espeak # synthèse vocale espeak # synthèse vocale
paprefs # préferences pulseaudio paprefs # préferences pulseaudio
pavucontrol # mixer pulseaudio pavucontrol # mixer pulseaudio

View File

@@ -11,11 +11,11 @@ mkIf profiles.isDesktop {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Outils réseau # Outils réseau
iperf iperf # outil de mesure de la qualité du réseau
iptraf-ng iptraf-ng # outil de mesure de la qualité du réseau
nload nload # affichage de statisques d'utilisation instantannées du réseau
telnet telnet
vsftpd #vsftpd # serveur FTP
## Diagnostic ## Diagnostic
arp-scan arp-scan
@@ -23,10 +23,10 @@ mkIf profiles.isDesktop {
whois whois
## Routage ## Routage
quagga quagga # daemon de routage
## Tunnel ## Tunnel
openvpn # openvpn
tinc tinc
]; ];

View File

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

View File

@@ -11,18 +11,20 @@ in
imports = [ # applications : imports = [ # applications :
# commandées par config-generator # commandées par config-generator
./activation-manuelle/app-awesome.nix # pour les profils awesome ./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-docker.nix # pour activer docker
./activation-manuelle/app-jeux.nix # permettant de jouer ;) ./activation-manuelle/app-jeux.nix # permettant de jouer ;)
./activation-manuelle/app-virtualbox.nix # pour exploiter virtualbox ./activation-manuelle/app-virtualbox.nix # pour exploiter virtualbox
./activation-manuelle/laptop.nix # appli & configuration adaptée pour un PC portable$ ./activation-manuelle/laptop.nix # appli & configuration adaptée pour un PC portable$
./activation-manuelle/xmonad.nix # gestionnaire de fenêtres xmonad ./activation-manuelle/xmonad.nix # gestionnaire de fenêtres xmonad
# installées systématiquement # installées systématiquement
./desktop-minimal.nix
./app-adminsys.nix # pour gérer le système dans son ensemble et les services ./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-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-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-geo.nix # utilisée pour manipuler les données géographiques
./app-multimedia.nix # pour gérer le son, l'image et la vidéo ./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-network.nix # de gestion, de diagnostique & surveillance réseau
./app-securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...) ./app-securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...)

View File

@@ -0,0 +1,40 @@
{ stdenv, fetchurl
, boost
, bzip2
, cmake
, expat
, geos
, lua
, postgresql
, proj
, zlib
}
stdenv.mkDerivation rec {
#version = "0.87.1";
version = "0.90.1";
name = "osm2pgsql-${version}-0";
src = fetchurl {
url = "https://github.com/openstreetmap/osm2pgsql/archive/${version}.tar.gz";
sha256 = "0i0zg8di8nbh96qnyyr156ikwcsq1w9b2291bazm5whb351flmqx";
};
#nativeBuildInputs = [ ];
buildInputs = [ ];
#preConfigure = ''
'';
#buildPhase = ''jam "-j$NIX_BUILD_CORES" '';
#installPhase = ''
#'';
meta = with stdenv.lib; {
homepage = http://wiki.openstreetmap.org/wiki/Osm2pgsql;
description = "osm2pgsql is a tool for loading OpenStreetMap data into a PostgreSQL / PostGIS database suitable for applications like rendering into a map, geocoding with Nominatim, or general analysis.";
license = licenses.gpl2;
#maintainers = [ maintainers.phunehehe ];
maintainers = [ maintainers.jpierre03 ];
};
}