Compare commits

...

32 Commits

Author SHA1 Message Date
df05e6101d prunetwork, & docker 2017-01-01 18:44:13 +01:00
72eaf19f95 déplacement des options de profils dans + spécifique 2017-01-01 18:31:33 +01:00
f632193558 création profil prunetwork && workstation 2017-01-01 18:23:59 +01:00
05b5da4319 suppression option inutilisée (même si interessante) 2017-01-01 18:22:59 +01:00
64d0765e40 xray n'est pas sous nixos 2017-01-01 18:17:25 +01:00
587e91fe61 la config locate est spécique aux domaines 2017-01-01 18:14:35 +01:00
Yves Dubromelle
0f4355d382 désactivation yubikey 2017-01-01 16:15:18 +01:00
Yves Dubromelle
8c18caab2e déplacement programmes dans fichiers spécifiques 2017-01-01 16:14:41 +01:00
Yves Dubromelle
2bee4131ed commentaires 2017-01-01 16:14:25 +01:00
Yves Dubromelle
49b86fb898 dev: programmes inutiles 2017-01-01 15:37:14 +01:00
6dd9251f07 activation de locate ... 2016-12-30 17:48:13 +01:00
6ca6c83898 commentaires 2016-12-30 17:20:04 +01:00
d6ff207d22 indentation 2016-12-30 17:18:37 +01:00
2a26db779f dev: ajout de hahp à l'environement haskell 2016-12-30 17:13:29 +01:00
aecfadea5f dev: suppression zeal 2016-12-30 17:11:10 +01:00
2e45bfbc05 dev: suppression des applications disponibles dans des fichiers séparés 2016-12-30 17:10:06 +01:00
cd05bec335 utilisation des variables pour activer les environements de dev 2016-12-30 17:09:15 +01:00
3aecc135c0 ajout de profiles pour le développement (haskell java rust) 2016-12-30 17:08:37 +01:00
54b8d6ce7d commande pour avoir les statistiques d'affectation des lignes de texte d'un dépôt git 2016-12-22 00:01:23 +01:00
4a81f80d8c déplacement ksnapshot 2016-12-19 18:18:32 +01:00
ec3dc220be edition-photo: un éditeur de raw n'est pas nécessaire. Il faut un appareil qui produise du raw 2016-12-19 18:16:39 +01:00
4a106a82ef edition-musique: seules les stations de travail dubronetwork ont l'option activée 2016-12-19 18:14:16 +01:00
4397b892eb cartographie: désactivation qgis 2016-12-19 18:12:58 +01:00
829aff682e bureautique: ajout section pour diagrammes 2016-12-19 18:11:32 +01:00
cff0a177d2 désactivation d'applications a priori peu utilisées 2016-12-19 18:10:42 +01:00
de2c645dbe indentation 2016-12-19 18:07:54 +01:00
0facfef3e9 réorganisation fichier app-dev 2016-12-19 18:07:04 +01:00
94c1485006 ajout commentaire 2016-12-19 18:02:13 +01:00
35322c124c ajout duplicity 2016-12-16 19:54:01 +01:00
8d9c0d830f interpreteur .net 2016-12-16 18:38:53 +01:00
bdf5e511f3 commentaires 2016-12-16 18:38:17 +01:00
386ce3b25e ajout hubicfuse 2016-12-16 18:38:03 +01:00
14 changed files with 208 additions and 136 deletions

View File

@@ -32,8 +32,11 @@ in
auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques."; auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques.";
cartographie = mkEnableOption "Profil pour activer les outils de gestion de données géographiques."; cartographie = mkEnableOption "Profil pour activer les outils de gestion de données géographiques.";
conception-assistee = mkEnableOption "Profil pour activer les outils de conception électronique & modélisation 3D"; 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"; developpement = mkEnableOption "Profil pour activer les outils de développement";
developpement-haskell = mkEnableOption "Profil pour activer les outils de développement Haskell";
developpement-java = mkEnableOption "Profil pour activer les outils de développement Java";
developpement-rust = mkEnableOption "Profil pour activer les outils de développement Rust";
docker = mkEnableOption "Profil pour l'utilisation de Docker."; docker = mkEnableOption "Profil pour l'utilisation de Docker.";
dovecot = mkEnableOption "Profil pour activer le serveur Dovecot."; dovecot = mkEnableOption "Profil pour activer le serveur Dovecot.";
dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS."; dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS.";
@@ -51,10 +54,9 @@ in
locate = mkEnableOption "Profil pour activer la fonction locate."; locate = mkEnableOption "Profil pour activer la fonction locate.";
mailboxes = mkEnableOption "Profil pour stocker les mails dans des boîtes aux lettres."; mailboxes = mkEnableOption "Profil pour stocker les mails dans des boîtes aux lettres.";
murmur = mkEnableOption "Profil pour activer un serveur Mumble (murmur)"; 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-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."; 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"; nixStoreProxyCache = mkEnableOption "Profil pour activer le proxy cahce nginx pour le nix store";
online-ipv6 = mkEnableOption "Profil pour activer l'IPv6 de online.net";
print = mkEnableOption "Profil pour activer cups & pouvoir imprimer."; print = mkEnableOption "Profil pour activer cups & pouvoir imprimer.";
rabbitmq = mkEnableOption "Profil pour activer le service de messagerie AMQP."; 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."; radicale = mkEnableOption "Profil pour activer le service d'hébergement de calendrier + tâches & contacts.";
@@ -91,7 +93,6 @@ in
isPhenom = mkEnableOption "Identification du nom de machine."; isPhenom = mkEnableOption "Identification du nom de machine.";
isRadx = mkEnableOption "Identification du nom de machine."; isRadx = mkEnableOption "Identification du nom de machine.";
isRollo = mkEnableOption "Identification du nom de machine."; isRollo = mkEnableOption "Identification du nom de machine.";
isXray = mkEnableOption "Identification du nom de machine.";
}; };
}; };
@@ -112,7 +113,6 @@ in
isPhenom = host == "phenom.dubronetwork.fr"; isPhenom = host == "phenom.dubronetwork.fr";
isRadx = host == "radx.prunetwork.fr"; isRadx = host == "radx.prunetwork.fr";
isRollo = host == "rollo.dubronetwork.fr"; isRollo = host == "rollo.dubronetwork.fr";
isXray = host == "xray.prunetwork.fr";
}; };
} }
@@ -150,13 +150,7 @@ in
r6d.profiles.isDesktop = true; r6d.profiles.isDesktop = true;
r6d.config-generator = { r6d.config-generator = {
cartographie = true;
developpement = true;
docker = true; docker = true;
edition-musique = true;
edition-photo = true;
edition-video = true;
}; };
}) })
@@ -164,12 +158,22 @@ in
(mkIf pfl.isDubronetwork { (mkIf pfl.isDubronetwork {
r6d.config-generator = { r6d.config-generator = {
auto-upgrade = true; auto-upgrade = true;
locate = true;
print = true; print = true;
}; };
}) })
(mkIf (pfl.isDubronetwork && pfl.isWorkstation) { (mkIf (pfl.isDubronetwork && pfl.isWorkstation) {
r6d.config-generator = { r6d.config-generator = {
cartographie = true;
conception-assistee = true; conception-assistee = true;
docker = true;
developpement = true;
developpement-haskell = true;
developpement-java = true;
developpement-rust = true;
edition-musique = true;
edition-photo = true;
edition-video = true;
virtualbox = true; virtualbox = true;
xmonad = true; xmonad = true;
}; };
@@ -179,10 +183,26 @@ in
(mkIf pfl.isPrunetwork { (mkIf pfl.isPrunetwork {
r6d.config-generator = { r6d.config-generator = {
auto-upgrade = true; auto-upgrade = true;
docker = true;
locate = true;
fail2ban = true; fail2ban = true;
swap = true; swap = true;
}; };
}) })
(mkIf (pfl.isPrunetwork && pfl.isWorkstation) {
r6d.config-generator = {
cartographie = true;
developpement = true;
developpement-haskell = true;
developpement-java = true;
#developpement-rust = true;
#edition-musique = true;
edition-photo = true;
#edition-video = true;
print = true;
virtualbox = true;
};
})
## Affectation des profils aux machines ## Affectation des profils aux machines
@@ -213,7 +233,6 @@ in
hydra-builder = true; hydra-builder = true;
hydra-core = true; hydra-core = true;
kibana = true; kibana = true;
print = true;
rabbitmq = true; rabbitmq = true;
tincAddress = "192.168.12.3/24"; tincAddress = "192.168.12.3/24";
tincExtraConfig = '' tincExtraConfig = ''
@@ -221,13 +240,6 @@ in
ConnectTo = rollo_dubronetwork_fr ConnectTo = rollo_dubronetwork_fr
ConnectTo = ocean_prunetwork_fr ConnectTo = ocean_prunetwork_fr
''; '';
virtualbox = true;
};
})
(mkIf comp.isXray {
r6d.profiles = {
isPrunetwork = true;
isServer = true;
}; };
}) })
@@ -296,7 +308,6 @@ in
r6d.config-generator = { r6d.config-generator = {
fail2ban = true; fail2ban = true;
online-ipv6 = true;
}; };
}) })
(mkIf comp.isPhenom { (mkIf comp.isPhenom {
@@ -328,7 +339,6 @@ in
fail2ban = true; fail2ban = true;
mailboxes = true; mailboxes = true;
murmur = true; murmur = true;
online-ipv6 = true;
tincAddress = "192.168.12.5/24"; tincAddress = "192.168.12.5/24";
tincExtraConfig = '' tincExtraConfig = ''
ConnectTo = ocean_prunetwork_fr ConnectTo = ocean_prunetwork_fr

View File

@@ -23,6 +23,9 @@ mkIf true {
python27Packages.glances python27Packages.glances
usbutils usbutils
# Backup
duplicity # création de sauvegarde chiffrées (GPG)
# Compression # Compression
lz4 lz4
lzop lzop
@@ -30,6 +33,8 @@ mkIf true {
# Système de fichier # Système de fichier
## Montage de filesystem ## Montage de filesystem
curlftpfs # ftp curlftpfs # ftp
exfat # Pour monter les FAT avec Fuse
hubicfuse # montage hubic
ntfs3g # ntfs ntfs3g # ntfs
sshfsFuse # ssh sshfsFuse # ssh

View File

@@ -12,21 +12,24 @@ mkIf profiles.isDesktop {
# Paquets # Paquets
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Bureautique # Bureautique
aspell aspellDicts.fr aspell aspellDicts.fr # correction d'ortographe
dia gnumeric # tableur
gnumeric #kde4.ksnapshot# réalisation de capture d'écran
## Cartes mentales ## Cartes mentales
freemind freemind
## Diagrammes & Schémas
dia # dessin & schéma technique
## Editeur de texte ## Editeur de texte
lyx # surcouche WISIWIM à LaTeX #lyx # surcouche WISIWIM à LaTeX
focuswriter # outil pour l'écriture #focuswriter # outil pour l'écriture
textadept # un éditeur de texte facile pour copier-coller graphique textadept # un éditeur de texte facile pour copier-coller graphique
zim # outil de prise de notes, wiki de bureau #zim # outil de prise de notes, wiki de bureau
## Visionneuse ## Visionneuse
kde5.okular # pdf #kde5.okular # pdf
mcomix # livres (cbr, liste d'images), gestion d'une bibliothèque mcomix # livres (cbr, liste d'images), gestion d'une bibliothèque
pdfpc # pdf pdfpc # pdf
qpdfview # pdf qpdfview # pdf
@@ -35,8 +38,8 @@ mkIf profiles.isDesktop {
## Convertisseurs (texte -> <autre format>) ## Convertisseurs (texte -> <autre format>)
gnuplot # générateur de graphes à partir de données numériques gnuplot # générateur de graphes à partir de données numériques
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
odpdown # conversion md -> presentation ODP : https://github.com/thorstenb/odpdown #odpdown # conversion md -> presentation ODP : https://github.com/thorstenb/odpdown
pandoc pandoc
haskellPackages.pandoc-citeproc haskellPackages.pandoc-citeproc
texlive.combined.scheme-full # distribution LaTeX texlive.combined.scheme-full # distribution LaTeX

View File

@@ -15,7 +15,7 @@ mkIf cfg.cartographie {
expat expat
gpsbabel # pour convettir les données des GPS 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 #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

@@ -0,0 +1,23 @@
{ 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 {
# Paquets
environment.systemPackages = with pkgs; [
# Haskell
cabal-install # fournis cabal
cabal2nix # convertir les .cabal en .nix
ghc # pour les appels depuis les scripts
stack # pour les paquets en LTS de stackage
# Application perso
haskellPackages.hahp
];
}

View File

@@ -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.developpement-java {
# Paquets
environment.systemPackages = with pkgs; [
# IDE
idea.idea-community # IntelliJ IDEA
# Java
maven
];
}

View File

@@ -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-rust {
# Paquets
environment.systemPackages = with pkgs; [
# Rust
cargo # récupération des dépendances + compilation projet rust
rustc # pour les appels depuis les scripts
];
}

View File

@@ -15,37 +15,28 @@ mkIf cfg.developpement {
pgadmin # interface d'administration de postgres pgadmin # interface d'administration de postgres
sqlitebrowser # interface d'administration de sqlite sqlitebrowser # interface d'administration de sqlite
# Développement # C / C++
cloc
idea.idea-community # IntelliJ IDEA
gcc # pour les appels depuis les scripts gcc # pour les appels depuis les scripts
maven
# Documentation # Documentation
zeal # consulter la documentation hors ligne #zeal # consulter la documentation hors ligne
## Gestion des sources # Gestion des sources
# git # déjà présent dans "base" cloc # outil pour compter les lignes de code source
# gitg # interface pour utiliser git (historique, commit) git # déjà présent dans "base"
gitg # interface pour utiliser git (historique, commit)
gitstats # génère un site web statique avec des statistiques gitstats # génère un site web statique avec des statistiques
gitAndTools.gitFull # pour gitk gitAndTools.gitFull # pour gitk
git-cola # interface pour utiliser git (historique, commit) git-cola # interface pour utiliser git (historique, commit)
mercurial mercurial
subversion subversion
## Haskell # Mono
cabal-install # fournis cabal #mono46 # interpréteur .NET
cabal2nix # convertir les .cabal en .nix
ghc # pour les appels depuis les scripts
stack
## Rust
cargo # récupération des dépendances + compilation projet rust
rustc # pour les appels depuis les scripts
## Visualisation & outils de diff ## Visualisation & outils de diff
gource # visualisation en mouvement de l'historique git #gource # visualisation en mouvement de l'historique git
meld # outil de comparaison graphique meld # outil de comparaison graphique
vbindiff # diff de fichier hexadecimaux avec vim #vbindiff # diff de fichier hexadecimaux avec vim
]; ];
} }

View File

@@ -19,7 +19,7 @@ environment.systemPackages = with pkgs; [
gimp # logiciel d'édition/montage/retouche photo gimp # logiciel d'édition/montage/retouche photo
inkscape # édition d'image vectorielle (svg & autre) inkscape # édition d'image vectorielle (svg & autre)
imagemagick # modification image en CLI imagemagick # modification image en CLI
rawtherapee # développemen de photos en RAW #rawtherapee # développemen de photos en RAW
# TEST d'outil de gestion de catalogue de photos # TEST d'outil de gestion de catalogue de photos
kde4.digikam # gestionnaire de bibliothèque de photo kde4.digikam # gestionnaire de bibliothèque de photo

View File

@@ -24,7 +24,5 @@ mkIf profiles.isDesktop {
## Video ## Video
smplayer # lecteur vidéo smplayer # lecteur vidéo
vlc # lecteur vidéo vlc # lecteur vidéo
kde4.ksnapshot# réalisation de capture d'écran
]; ];
} }

View File

@@ -20,6 +20,8 @@ mkIf true {
## Diagnostic ## Diagnostic
arp-scan arp-scan
nmap # outil de scan de port réseau
mtr # outil de diagnostic réseau
#wireshark #wireshark
whois whois
]; ];

View File

@@ -16,7 +16,7 @@ mkIf profiles.isDesktop {
pass # gestionnaire de mots de passe pass # gestionnaire de mots de passe
pwgen # générateur de mots de passe pwgen # générateur de mots de passe
slock # vérouiller l''écran. "cannot disable the out-of-memory killer for this process (make sure to suid or sgid slock)" --> en root slock # vérouiller l''écran. "cannot disable the out-of-memory killer for this process (make sure to suid or sgid slock)" --> en root
yubikey-personalization-gui # utilisation de la clef Yubikey #yubikey-personalization-gui # utilisation de la clef Yubikey
]; ];
security.setuidPrograms = [ "slock" ]; security.setuidPrograms = [ "slock" ];
} }

View File

@@ -31,7 +31,6 @@ in
systemPackages = with pkgs; [ systemPackages = with pkgs; [
bind # utilisé pour les utilitaires comme dig bind # utilisé pour les utilitaires comme dig
byobu # permet de se déconnecter d'un terminal sans l'aréter byobu # permet de se déconnecter d'un terminal sans l'aréter
exfat # Pour monter les FAT avec Fuse
git gitAndTools.gitSVN gitAndTools.tig gti # outil de gestion de version git gitAndTools.gitSVN gitAndTools.tig gti # outil de gestion de version
gnumake # pour décrire les recettes de compilation gnumake # pour décrire les recettes de compilation
gnupg # GPG gnupg # GPG
@@ -40,8 +39,6 @@ in
lsb-release # pour les scripts qui utilisent cet outil lsb-release # pour les scripts qui utilisent cet outil
#libressl # librairie pour faire du TLS et les algorithmes de crypto par OpenBSD #libressl # librairie pour faire du TLS et les algorithmes de crypto par OpenBSD
ncdu # outil pour voir l'espace utilisé ncdu # outil pour voir l'espace utilisé
nmap # outil de scan de port réseau
mtr # outil de diagnostic réseau
par2cmdline # outil de récupération de fichiers corrompus - .par2 par2cmdline # outil de récupération de fichiers corrompus - .par2
p7zip # compression de fichier p7zip # compression de fichier
parted # partitionnement de disque parted # partitionnement de disque
@@ -51,7 +48,7 @@ in
python # python -- python -m SimpleHTTPServer 8000 python # python -- python -m SimpleHTTPServer 8000
python34Packages.glances # monitoring python34Packages.glances # monitoring
pwgen # générateur de mot de passe pwgen # générateur de mot de passe
rtorrent # outil de téléchargement de torrent & magnet rtorrent # TODO outil de téléchargement de torrent & magnet
tmux # nécessaire pour byobu tmux # nécessaire pour byobu
tree # affiche une arborescence de fichiers et dossiers tree # affiche une arborescence de fichiers et dossiers
usbutils usbutils
@@ -67,6 +64,8 @@ in
tree1 = "tree -d -L 1"; tree1 = "tree -d -L 1";
tree2 = "tree -d -L 2"; tree2 = "tree -d -L 2";
tree3 = "tree -d -L 3"; tree3 = "tree -d -L 3";
# https://gist.github.com/amitchhajer/4461043 : Count number of code lines in git repository per user
#git-loc = "git ls-files | while read f; do git blame --line-porcelain "${f}" | grep '^author '; done | sort -f | uniq -ic | sort -n";
grep = "grep --color=auto"; grep = "grep --color=auto";
vi = "vim"; vi = "vim";
}; };

View File

@@ -24,14 +24,17 @@ in
## option de configuration spécifique ## option de configuration spécifique
./app-awesome.nix # pour les profils awesome ./app-awesome.nix # pour les profils awesome
./app-cao.nix # de conception assisté par ordinateur & modélisation ./app-cao.nix # de conception assisté par ordinateur & modélisation
./app-cartographie.nix # utilisée pour manipuler les données géographiques & cartes ./app-cartographie.nix # manipuler les données géographiques & cartes
./app-developpement.nix # utilisée pour développer des programmes/scripts ./app-developpement.nix # développer des programmes/scripts
./app-docker.nix # pour activer docker ./app-developpement-haskell.nix # développer en haskell
./app-edition-musique.nix # pour modifier les fichiers musicaux ./app-developpement-java.nix # développer en java
./app-edition-photo.nix # pour modifier les photos & assimilé ./app-developpement-rust.nix # développer en rust
./app-edition-video.nix # pour modifier les vidéos ./app-docker.nix # activer docker
./app-jeux.nix # permettant de jouer ;) ./app-edition-musique.nix # modifier les fichiers musicaux
./app-virtualbox.nix # pour exploiter virtualbox ./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 ./auto-upgrade.nix # mise à jour automatique du système
./laptop.nix # appli & configuration adaptée pour un PC portable ./laptop.nix # appli & configuration adaptée pour un PC portable
./print.nix # configuration de base de cups ./print.nix # configuration de base de cups