Merge remote-tracking branch 'origin/nixos-unstable'
commit
023857ba73
@ -0,0 +1,18 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.graphical {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Gestion de FS
|
||||||
|
parted # Gestion graphique de partitions
|
||||||
|
unetbootin # création de clefs USB bootables
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf (cfg.officeSuite && cfg.graphical) {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Bureautique
|
||||||
|
gnumeric # tableur
|
||||||
|
#kde4.ksnapshot# réalisation de capture d'écran
|
||||||
|
|
||||||
|
## Cartes mentales
|
||||||
|
freemind
|
||||||
|
|
||||||
|
## Diagrammes & Schémas
|
||||||
|
dia # dessin & schéma technique
|
||||||
|
|
||||||
|
## Editeur de texte
|
||||||
|
#lyx # surcouche WISIWIM à LaTeX
|
||||||
|
#focuswriter # outil pour l'écriture
|
||||||
|
textadept # un éditeur de texte facile pour copier-coller graphique
|
||||||
|
#zim # outil de prise de notes, wiki de bureau
|
||||||
|
|
||||||
|
## Visionneuse
|
||||||
|
#kde5.okular # pdf
|
||||||
|
mcomix # livres (cbr, liste d'images), gestion d'une bibliothèque
|
||||||
|
pdfpc # pdf
|
||||||
|
qpdfview # pdf
|
||||||
|
gqview # visionneuse image & gestion basique de collection
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf (true && cfg.graphical) {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
#inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# installées systématiquement
|
||||||
|
./default-applications.nix
|
||||||
|
|
||||||
|
# commandées par config-generator
|
||||||
|
## option de configuration spécifique
|
||||||
|
./cao.nix # de conception assisté par ordinateur & modélisation
|
||||||
|
./cartographie.nix # manipuler les données géographiques & cartes
|
||||||
|
./developpement.nix # développer des programmes/scripts
|
||||||
|
./developpement-elm.nix # développer en elm
|
||||||
|
./developpement-haskell.nix # développer en haskell
|
||||||
|
./developpement-java.nix # développer en java
|
||||||
|
./developpement-jetbrains.nix # outils jetbrains
|
||||||
|
./developpement-rust.nix # développer en rust
|
||||||
|
./edition-musique.nix # modifier les fichiers musicaux
|
||||||
|
./edition-photo.nix # modifier les photos & assimilé
|
||||||
|
./edition-video.nix # modifier les vidéos
|
||||||
|
./jeux.nix # jouer, tout simplement ;)
|
||||||
|
|
||||||
|
## if isDesktop
|
||||||
|
./adminsys.nix # pour gérer le système dans son ensemble et les services
|
||||||
|
./bureau.nix # éléments pour avoir un environement graphique minimal utilisable
|
||||||
|
./bureautique.nix # dédiée à la bureautique (traitement de texte, dessin, ...)
|
||||||
|
./client-internet.nix # pour accéder & utiliser des ressources par le réseau
|
||||||
|
./multimedia.nix # pour gérer le son, l'image et la vidéo
|
||||||
|
./network.nix # de gestion, de diagnostique & surveillance réseau
|
||||||
|
./securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...)
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf (cfg.developpement-elm && cfg.graphical) {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
|
||||||
|
# Services
|
||||||
|
|
||||||
|
# Réseau
|
||||||
|
networking.firewall = {
|
||||||
|
allowedTCPPorts = [
|
||||||
|
];
|
||||||
|
allowedUDPPorts = [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf (cfg.developpement-haskell && cfg.graphical) {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
] ++ (with pkgs.haskellPackages; [
|
||||||
|
# Haskell lib
|
||||||
|
threadscope # visualisation des threads (<bidule>.eventlog)
|
||||||
|
]);
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf (cfg.developpement-rust && cfg.graphical) {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf (cfg.edition-video && cfg.graphical) {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Vidéo
|
||||||
|
#cinelerra # editeur video
|
||||||
|
pitivi # montage vidéo
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf (cfg.jeux && cfg.graphical) {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Jeux
|
||||||
|
urbanterror
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf (true && cfg.graphical) {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
## Diagnostic
|
||||||
|
wireshark
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf (cfg.securitySuite && cfg.graphical) {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gnome3.seahorse # gestionnaire graphique de clef GPG
|
||||||
|
#yubikey-personalization-gui # utilisation de la clef Yubikey
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf true {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
## Manipulation de fichier
|
||||||
|
vifm # gestionnaire de fichiers basé sur VIM (console)
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.conception-assistee {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.cartographie {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Gestion de données géographiques
|
||||||
|
expat
|
||||||
|
gpsbabel # pour convertir les données des GPS
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
# TODO: ménage
|
||||||
|
mkIf cfg.internetSuite {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Clients Internet
|
||||||
|
|
||||||
|
## Réseaux sociaux
|
||||||
|
#python27Packages.turses # client twitter en ncurse
|
||||||
|
python27Packages.rainbowstream # client twitter en console
|
||||||
|
rtv # client reddit en console
|
||||||
|
|
||||||
|
## Mail & Discussion (texte, audio)
|
||||||
|
mutt
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf true {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
bind # utilisé pour les utilitaires comme dig
|
||||||
|
byobu # permet de se déconnecter d'un terminal sans l'aréter
|
||||||
|
dhcp # client dhcp
|
||||||
|
git gitAndTools.gitSVN gitAndTools.tig gti # outil de gestion de version
|
||||||
|
gnumake # pour décrire les recettes de compilation
|
||||||
|
gnupg # GPG
|
||||||
|
gpm # prise en charge de la souris en console
|
||||||
|
htop # monitoring
|
||||||
|
lsb-release # pour les scripts qui utilisent cet outil
|
||||||
|
#libressl # librairie pour faire du TLS et les algorithmes de crypto par OpenBSD
|
||||||
|
ncdu # outil pour voir l'espace utilisé
|
||||||
|
par2cmdline # outil de récupération de fichiers corrompus - .par2
|
||||||
|
p7zip # compression de fichier
|
||||||
|
parted # partitionnement de disque
|
||||||
|
pciutils
|
||||||
|
pinentry # pour taper les mots de passe gpg
|
||||||
|
psmisc # fournis les utilitaires comme killall, fuser, pstree
|
||||||
|
python # python -- python -m SimpleHTTPServer 8000
|
||||||
|
#python34Packages.glances # monitoring
|
||||||
|
pwgen # générateur de mot de passe
|
||||||
|
rtorrent # TODO outil de téléchargement de torrent & magnet
|
||||||
|
tmux # nécessaire pour byobu
|
||||||
|
tree # affiche une arborescence de fichiers et dossiers
|
||||||
|
usbutils
|
||||||
|
(import ./vim.nix)
|
||||||
|
wget # client HTTP console
|
||||||
|
which # pour connaitre le chemin d'un exécutable
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
#inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# installées systématiquement
|
||||||
|
./default-applications.nix
|
||||||
|
|
||||||
|
# commandées par config-generator
|
||||||
|
## option de configuration spécifique
|
||||||
|
./cao.nix # de conception assisté par ordinateur & modélisation
|
||||||
|
./cartographie.nix # manipuler les données géographiques & cartes
|
||||||
|
./developpement.nix # développer des programmes/scripts
|
||||||
|
./developpement-elm.nix # développer en elm
|
||||||
|
./developpement-haskell.nix # développer en haskell
|
||||||
|
./developpement-java.nix # développer en java
|
||||||
|
./developpement-jetbrains.nix # outils jetbrains
|
||||||
|
./developpement-rust.nix # développer en rust
|
||||||
|
./edition-musique.nix # modifier les fichiers musicaux
|
||||||
|
./edition-photo.nix # modifier les photos & assimilé
|
||||||
|
./edition-video.nix # modifier les vidéos
|
||||||
|
./jeux.nix # jouer, tout simplement ;)
|
||||||
|
|
||||||
|
## if isDesktop
|
||||||
|
./adminsys.nix # pour gérer le système dans son ensemble et les services
|
||||||
|
./bureau.nix # éléments pour avoir un environement graphique minimal utilisable
|
||||||
|
./bureautique.nix # dédiée à la bureautique (traitement de texte, dessin, ...)
|
||||||
|
./client-internet.nix # pour accéder & utiliser des ressources par le réseau
|
||||||
|
./multimedia.nix # pour gérer le son, l'image et la vidéo
|
||||||
|
./network.nix # de gestion, de diagnostique & surveillance réseau
|
||||||
|
./securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...)
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.developpement-java {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Java
|
||||||
|
maven
|
||||||
|
openjdk
|
||||||
|
];
|
||||||
|
environment.variables = {
|
||||||
|
JAVA_HOME = "${pkgs.openjdk}";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.jetbrains-licensed {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.developpement {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# C / C++
|
||||||
|
gcc # pour les appels depuis les scripts
|
||||||
|
|
||||||
|
# Gestion des sources
|
||||||
|
cloc # outil pour compter les lignes de code source
|
||||||
|
git # déjà présent dans "base"
|
||||||
|
mercurial
|
||||||
|
subversion
|
||||||
|
|
||||||
|
# Mono
|
||||||
|
#mono46 # interpréteur .NET
|
||||||
|
|
||||||
|
## Visualisation & outils de diff
|
||||||
|
#vbindiff # diff de fichier hexadecimaux avec vim
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.edition-musique {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.edition-photo {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Méta données
|
||||||
|
exif
|
||||||
|
exiftags
|
||||||
|
|
||||||
|
# Retouche, modification & dessin vectoriel
|
||||||
|
imagemagick # modification image en CLI
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.multimediaSuite {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
## Audio
|
||||||
|
beep
|
||||||
|
cmus # lecteur audio console
|
||||||
|
espeak # synthèse vocale
|
||||||
|
vorbis-tools # codec
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.securitySuite {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
pass # gestionnaire de mots de passe
|
||||||
|
pwgen # générateur de mots de passe
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
#inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
|
||||||
|
# installées systématiquement
|
||||||
|
./environment.nix
|
||||||
|
./localisation.nix
|
||||||
|
./network.nix
|
||||||
|
#./network-ipv6.nix
|
||||||
|
./udev.nix
|
||||||
|
|
||||||
|
# commandées par config-generator
|
||||||
|
## option de configuration spécifique
|
||||||
|
./auto-upgrade.nix # mise à jour automatique du système
|
||||||
|
./awesome.nix # pour le gestionaire de fenêtres awesome
|
||||||
|
./laptop.nix # appli & configuration adaptée pour un PC portable
|
||||||
|
./swap.nix # définition de l'utilisation du swap
|
||||||
|
];
|
||||||
|
}
|
@ -1,40 +0,0 @@
|
|||||||
{ 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 ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkMerge mkThenElse;
|
|
||||||
cfg = config.r6d.config-generator;
|
|
||||||
computers = config.r6d.computers;
|
|
||||||
profiles = config.r6d.profiles;
|
|
||||||
in
|
|
||||||
|
|
||||||
mkIf profiles.isDesktop {
|
|
||||||
|
|
||||||
# Paquets
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# Securité
|
|
||||||
gnome3.seahorse # gestionnaire graphique de clef GPG
|
|
||||||
pass # gestionnaire de mots de passe
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,64 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
#inherit (lib) mkIf mkMerge mkThenElse;
|
|
||||||
cfg = config.r6d.config-generator;
|
|
||||||
computers = config.r6d.computers;
|
|
||||||
profiles = config.r6d.profiles;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# installées systématiquement
|
|
||||||
./environment.nix
|
|
||||||
./localisation.nix
|
|
||||||
./network.nix
|
|
||||||
#./network-ipv6.nix
|
|
||||||
./service-haveged.nix
|
|
||||||
./service-monitoring-munin.nix
|
|
||||||
./service-monitoring-smokeping.nix
|
|
||||||
./service-ssh.nix
|
|
||||||
./udev.nix
|
|
||||||
|
|
||||||
# commandées par config-generator
|
|
||||||
## option de configuration spécifique
|
|
||||||
./app-awesome.nix # pour le gestionaire de fenêtres awesome
|
|
||||||
./app-cao.nix # de conception assisté par ordinateur & modélisation
|
|
||||||
./app-cartographie.nix # manipuler les données géographiques & cartes
|
|
||||||
./app-developpement.nix # développer des programmes/scripts
|
|
||||||
./app-developpement-elm.nix # développer en elm
|
|
||||||
./app-developpement-haskell.nix # développer en haskell
|
|
||||||
./app-developpement-java.nix # développer en java
|
|
||||||
./app-developpement-jetbrains.nix # outils jetbrains
|
|
||||||
./app-developpement-rust.nix # développer en rust
|
|
||||||
./app-docker.nix # activer docker
|
|
||||||
./app-edition-musique.nix # modifier les fichiers musicaux
|
|
||||||
./app-edition-photo.nix # modifier les photos & assimilé
|
|
||||||
./app-edition-video.nix # modifier les vidéos
|
|
||||||
./app-jeux.nix # jouer, tout simplement ;)
|
|
||||||
./app-virtualbox.nix # activer virtualbox
|
|
||||||
./auto-upgrade.nix # mise à jour automatique du système
|
|
||||||
./laptop.nix # appli & configuration adaptée pour un PC portable
|
|
||||||
./print.nix # configuration de base de cups
|
|
||||||
./service-elasticsearch.nix # service de stockage et recher de données
|
|
||||||
./service-hydra-build.nix # service de construction de paquet. -> la machine compile des paquets
|
|
||||||
./service-hydra-core.nix # service pour l'instance d'hydra
|
|
||||||
./service-kibana.nix # service de visualisation de données stockées dans elasticsearch
|
|
||||||
./service-laptop.nix # services spécifiques aux pc portables
|
|
||||||
./service-locate.nix # service locate
|
|
||||||
./swap.nix # définition de l'utilisation du swap
|
|
||||||
./xmonad/xmonad.nix # pour le gestionaire de fenêtre xmonad
|
|
||||||
|
|
||||||
## if isDesktop
|
|
||||||
./app-adminsys.nix # pour gérer le système dans son ensemble et les services
|
|
||||||
./app-bureau.nix # éléments pour avoir un environement graphique minimal utilisable
|
|
||||||
./app-bureautique.nix # dédiée à la bureautique (traitement de texte, dessin, ...)
|
|
||||||
./app-client-internet.nix # pour accéder & utiliser des ressources par le réseau
|
|
||||||
./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, ...)
|
|
||||||
./hardware-scanner.nix # utilisation d'un scanner
|
|
||||||
./service-pulseaudio.nix # activation du serveur audio
|
|
||||||
./service-x11.nix # activation du serveur graphique X
|
|
||||||
];
|
|
||||||
}
|
|
@ -1,199 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkMerge mkThenElse;
|
|
||||||
cfg = config.r6d.config-generator;
|
|
||||||
computers = config.r6d.computers;
|
|
||||||
profiles = config.r6d.profiles;
|
|
||||||
in
|
|
||||||
|
|
||||||
# TODO: ajouter option
|
|
||||||
mkIf true {
|
|
||||||
|
|
||||||
# Paquets
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
bind
|
|
||||||
];
|
|
||||||
|
|
||||||
# Paquets avec setuid root
|
|
||||||
security.wrappers = {
|
|
||||||
# outil de diagnostic réseau
|
|
||||||
fping.source = "${pkgs.fping}/bin/fping";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Services
|
|
||||||
|
|
||||||
services.smokeping = {
|
|
||||||
enable = true;
|
|
||||||
probeConfig = ''
|
|
||||||
+ FPing
|
|
||||||
#binary = ${pkgs.fping}/bin/fping
|
|
||||||
binary = ${config.security.wrapperDir}/fping
|
|
||||||
|
|
||||||
+DNS
|
|
||||||
#binary = ${pkgs.bind}/bin/dig
|
|
||||||
binary = /run/current-system/sw/bin/dig
|
|
||||||
forks = 5
|
|
||||||
offset = 50%
|
|
||||||
step = 300
|
|
||||||
timeout = 15
|
|
||||||
'';
|
|
||||||
targetConfig = ''
|
|
||||||
probe = FPing
|
|
||||||
menu = Top
|
|
||||||
title = Suivi de la latence reseau
|
|
||||||
remark = Monitoring de la latence reseau. \
|
|
||||||
Here you will learn all about the latency of our network.
|
|
||||||
+ Local
|
|
||||||
probe = FPing
|
|
||||||
menu = Local
|
|
||||||
title = Local Network
|
|
||||||
++ LocalMachine
|
|
||||||
menu = Local Machine
|
|
||||||
title = This host
|
|
||||||
host = localhost
|
|
||||||
|
|
||||||
+ Grudu_Tinc
|
|
||||||
probe = FPing
|
|
||||||
title = Grudu_Tinc
|
|
||||||
menu = Grudu.net - Tinc
|
|
||||||
|
|
||||||
++ Hydra
|
|
||||||
menu = hydra.grudu.net
|
|
||||||
title = hydra.grudu.net
|
|
||||||
host = hydra.grudu.net
|
|
||||||
|
|
||||||
++ Monstre
|
|
||||||
menu = monstre.grudu.net
|
|
||||||
title = monstre.grudu.net
|
|
||||||
host = monstre.grudu.net
|
|
||||||
|
|
||||||
++ Rollo
|
|
||||||
menu = rollo.grudu.net
|
|
||||||
title = rollo.grudu.net
|
|
||||||
host = rollo.grudu.net
|
|
||||||
|
|
||||||
++ Ocean
|
|
||||||
menu = ocean.grudu.net
|
|
||||||
title = ocean.grudu.net
|
|
||||||
host = ocean.grudu.net
|
|
||||||
|
|
||||||
++ MultiHost
|
|
||||||
menu = Multihost
|
|
||||||
title = Ensemble de mesures de latence
|
|
||||||
host = /Grudu_Tinc/Monstre /Grudu_Tinc/Rollo /Grudu_Tinc/Ocean /Grudu_Tinc/Hydra
|
|
||||||
|
|
||||||
+ Grudu_DNS
|
|
||||||
title = Grudu_DNS
|
|
||||||
menu = Grudu.net - DNS
|
|
||||||
probe = DNS
|
|
||||||
pings = 5
|
|
||||||
++ Ocean
|
|
||||||
title = ocean
|
|
||||||
menu = serveur ocean
|
|
||||||
server = ocean.prunetwork.fr
|
|
||||||
+++ ocean
|
|
||||||
host = ocean.grudu.net
|
|
||||||
lookup = ocean.grudu.net
|
|
||||||
+++ rollo
|
|
||||||
host = rollo.grudu.net
|
|
||||||
lookup = rollo.grudu.net
|
|
||||||
++ Rollo
|
|
||||||
title = rollo
|
|
||||||
menu = serveur rollo
|
|
||||||
server = rollo.dubronetwork.fr
|
|
||||||
+++ ocean
|
|
||||||
host = ocean.grudu.net
|
|
||||||
lookup = ocean.grudu.net
|
|
||||||
+++ rollo
|
|
||||||
host = rollo.grudu.net
|
|
||||||
lookup = rollo.grudu.net
|
|
||||||
++ MultiHost
|
|
||||||
menu = Multihost
|
|
||||||
title = Ensemble de mesures DNS
|
|
||||||
host = /Grudu_DNS/Ocean/ocean /Grudu_DNS/Ocean/rollo /Grudu_DNS/Rollo/ocean /Grudu_DNS/Rollo/rollo
|
|
||||||
+ France
|
|
||||||
probe = FPing
|
|
||||||
title = France
|
|
||||||
menu = Operateur francais
|
|
||||||
|
|
||||||
++ Atos
|
|
||||||
menu = Atos
|
|
||||||
title = www.atos.fr
|
|
||||||
host = www.atos.fr
|
|
||||||
|
|
||||||
++ Axialys
|
|
||||||
menu = Axialys
|
|
||||||
title = www.axialys.fr
|
|
||||||
host = www.axialys.fr
|
|
||||||
|
|
||||||
++ Azurtel
|
|
||||||
menu = azurtel
|
|
||||||
title = www.azurtel.fr
|
|
||||||
host = www.azurtel.fr
|
|
||||||
|
|
||||||
++ Bouygues-Telecom
|
|
||||||
menu = Bouygues-Telecom
|
|
||||||
title = www.bouygues-telecom.fr
|
|
||||||
host = www.bouygues-telecom.fr
|
|
||||||
|
|
||||||
++ Colt
|
|
||||||
menu = Colt
|
|
||||||
title = www.colt.fr
|
|
||||||
host = www.colt.fr
|
|
||||||
|
|
||||||
++ Completel
|
|
||||||
menu = completel
|
|
||||||
title = www.completel.fr
|
|
||||||
host = www.completel.fr
|
|
||||||
|
|
||||||
++ Free
|
|
||||||
menu = Free
|
|
||||||
title = www.free.fr
|
|
||||||
host = www.free.fr
|
|
||||||
|
|
||||||
++ Kosmos
|
|
||||||
menu = Kosmos
|
|
||||||
title = www.kosmos.fr
|
|
||||||
host = www.kosmos.fr
|
|
||||||
|
|
||||||
++ Orange
|
|
||||||
menu = Orange
|
|
||||||
title = www.orange.fr
|
|
||||||
host = www.orange.fr
|
|
||||||
|
|
||||||
++ Renater
|
|
||||||
menu = Renater
|
|
||||||
title = www.renater.fr
|
|
||||||
host = www.renater.fr
|
|
||||||
|
|
||||||
++ SFR
|
|
||||||
menu = SFR
|
|
||||||
title = www.sfr.fr
|
|
||||||
host = www.sfr.fr
|
|
||||||
|
|
||||||
++ MultiHost
|
|
||||||
menu = Multihost
|
|
||||||
title = Ensemble de mesures DNS
|
|
||||||
host = /France/Atos /France/Axialys /France/Azurtel \
|
|
||||||
/France/Bouygues-Telecom \
|
|
||||||
/France/Completel \
|
|
||||||
/France/Free \
|
|
||||||
/France/Kosmos \
|
|
||||||
/France/Orange \
|
|
||||||
/France/Renater \
|
|
||||||
/France/SFR
|
|
||||||
|
|
||||||
# /France/Colt
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Réseau
|
|
||||||
networking.firewall = {
|
|
||||||
allowedTCPPorts = [
|
|
||||||
#8081 # accès depuis localhost uniquement ou à travers un proxy nginx
|
|
||||||
];
|
|
||||||
allowedUDPPorts = [
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
@ -0,0 +1,35 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
#inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# installées systématiquement
|
||||||
|
./haveged.nix
|
||||||
|
./monitoring-munin.nix
|
||||||
|
./ssh.nix
|
||||||
|
|
||||||
|
# commandées par config-generator
|
||||||
|
## option de configuration spécifique
|
||||||
|
./print.nix # configuration de base de cups
|
||||||
|
./docker.nix # activer docker
|
||||||
|
./elasticsearch.nix # service de stockage et recher de données
|
||||||
|
./hoogle.nix # service hoogle pour haskell
|
||||||
|
./hydra-build.nix # service de construction de paquet. -> la machine compile des paquets
|
||||||
|
./hydra-core.nix # service pour l'instance d'hydra
|
||||||
|
./kibana.nix # service de visualisation de données stockées dans elasticsearch
|
||||||
|
./locate.nix # service locate
|
||||||
|
./virtualbox.nix # activer virtualbox
|
||||||
|
./xmonad/xmonad.nix # pour le gestionaire de fenêtre xmonad
|
||||||
|
|
||||||
|
## if isDesktop
|
||||||
|
./pulseaudio.nix # activation du serveur audio
|
||||||
|
./scanner.nix # utilisation d'un scanner
|
||||||
|
./x11.nix # activation du serveur graphique X
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in New Issue