Compare commits
17 Commits
2017-03-25
...
2017-04-27
| Author | SHA1 | Date | |
|---|---|---|---|
| ddac52530b | |||
| fe6f3136f7 | |||
| c6fc32fbe7 | |||
|
|
42db758638 | ||
|
|
07d8924ecd | ||
|
|
2dc04d849b | ||
| 184de980a5 | |||
|
|
f16e4d8934 | ||
| e204ffb841 | |||
| 8c0a18a55b | |||
| fd834eb186 | |||
| f12b21f620 | |||
| 09212b7b67 | |||
| b518d9a525 | |||
| bda5db0417 | |||
| 37ae56a380 | |||
|
|
50085c2961 |
3
Makefile
3
Makefile
@@ -41,6 +41,9 @@ download-sources:
|
||||
# https://nixos.org/wiki/Download_all_sources
|
||||
nix-store -r $$(grep -l outputHash $$(nix-store -qR $$(nix-instantiate '<nixpkgs>' -A geeqie) | grep '.drv$$'))
|
||||
|
||||
build-iso:
|
||||
nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=/etc/nixos/base/iso-image/livecd-minimal.nix
|
||||
|
||||
##--------- Commandes spécifiques pour GIT
|
||||
|
||||
push: submodules-push
|
||||
|
||||
20
applications/graphical/adminsys.nix
Normal file
20
applications/graphical/adminsys.nix
Normal 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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.graphical {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Gestion de FS
|
||||
gparted # Gestion graphique de partitions
|
||||
unetbootin # création de clefs USB bootables
|
||||
];
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf profiles.isDesktopEnvironment {
|
||||
39
applications/graphical/bureautique.nix
Normal file
39
applications/graphical/bureautique.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
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
|
||||
];
|
||||
}
|
||||
@@ -5,9 +5,11 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.conception-assistee {
|
||||
mkIf (cfg.conception-assistee && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
@@ -5,15 +5,15 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.cartographie {
|
||||
mkIf (cfg.cartographie && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Gestion de données géographiques
|
||||
expat
|
||||
gpsbabel # pour convettir les données des GPS
|
||||
josm # outil de contribution à OpenStreetMap
|
||||
#qgis # client lourd de manipulation de données géographiques
|
||||
viking # analyse de topo, gestion de données GPS
|
||||
@@ -5,9 +5,11 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
# TODO: ménage
|
||||
mkIf cfg.internetSuite {
|
||||
mkIf (cfg.internetSuite && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
@@ -17,18 +19,12 @@ environment.systemPackages = with pkgs; [
|
||||
chromium
|
||||
firefox
|
||||
|
||||
## Réseaux sociaux
|
||||
#python27Packages.turses # client twitter en ncurse
|
||||
python27Packages.rainbowstream # client twitter en console
|
||||
rtv # client reddit en console
|
||||
|
||||
## Mail & Discussion (texte, audio)
|
||||
clawsMail
|
||||
hexchat
|
||||
quassel
|
||||
quasselClient
|
||||
mumble
|
||||
mutt
|
||||
pidgin
|
||||
thunderbird
|
||||
|
||||
@@ -53,5 +49,4 @@ environment.systemPackages = with pkgs; [
|
||||
#nixpkgs.config.permittedInsecurePackages = [
|
||||
# "webkitgtk-2.4.11" # pour que le plugin fancy de claws-mail fonctionne
|
||||
#];
|
||||
|
||||
}
|
||||
17
applications/graphical/default-applications.nix
Normal file
17
applications/graphical/default-applications.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf (true && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
}
|
||||
41
applications/graphical/default.nix
Normal file
41
applications/graphical/default.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
#inherit (lib) mkIf mkMerge mkThenElse;
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
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, ...)
|
||||
];
|
||||
}
|
||||
27
applications/graphical/developpement-elm.nix
Normal file
27
applications/graphical/developpement-elm.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf (cfg.developpement-elm && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
|
||||
# Services
|
||||
|
||||
# Réseau
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
];
|
||||
};
|
||||
}
|
||||
20
applications/graphical/developpement-haskell.nix
Normal file
20
applications/graphical/developpement-haskell.nix
Normal 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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf (cfg.developpement-haskell && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
] ++ (with pkgs.haskellPackages; [
|
||||
# Haskell lib
|
||||
threadscope # visualisation des threads (<bidule>.eventlog)
|
||||
]);
|
||||
}
|
||||
19
applications/graphical/developpement-java.nix
Normal file
19
applications/graphical/developpement-java.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf (cfg.developpement-java && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# IDE
|
||||
idea.idea-community # IntelliJ IDEA
|
||||
];
|
||||
}
|
||||
21
applications/graphical/developpement-jetbrains.nix
Normal file
21
applications/graphical/developpement-jetbrains.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf (cfg.jetbrains-licensed && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
idea.idea-ultimate
|
||||
idea.clion
|
||||
idea.datagrip
|
||||
idea.pycharm-professional
|
||||
];
|
||||
}
|
||||
17
applications/graphical/developpement-rust.nix
Normal file
17
applications/graphical/developpement-rust.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf (cfg.developpement-rust && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
}
|
||||
@@ -5,9 +5,11 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.developpement {
|
||||
mkIf (cfg.developpement && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
@@ -15,29 +17,18 @@ mkIf cfg.developpement {
|
||||
pgadmin # interface d'administration de postgres
|
||||
sqlitebrowser # interface d'administration de sqlite
|
||||
|
||||
# C / C++
|
||||
gcc # pour les appels depuis les scripts
|
||||
|
||||
# Documentation
|
||||
#zeal # consulter la documentation hors ligne
|
||||
|
||||
# Gestion des sources
|
||||
cloc # outil pour compter les lignes de code source
|
||||
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
|
||||
gitAndTools.gitFull # pour gitk
|
||||
git-cola # interface pour utiliser git (historique, commit)
|
||||
mercurial
|
||||
subversion
|
||||
|
||||
# Mono
|
||||
#mono46 # interpréteur .NET
|
||||
|
||||
## Visualisation & outils de diff
|
||||
#gource # visualisation en mouvement de l'historique git
|
||||
meld # outil de comparaison graphique
|
||||
#vbindiff # diff de fichier hexadecimaux avec vim
|
||||
|
||||
# Editeur texte
|
||||
atom
|
||||
@@ -5,9 +5,11 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.edition-musique {
|
||||
mkIf (cfg.edition-musique && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
@@ -5,20 +5,17 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.edition-photo {
|
||||
mkIf (cfg.edition-photo && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Méta données
|
||||
exif
|
||||
exiftags
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Retouche, modification & dessin vectoriel
|
||||
gimp # logiciel d'édition/montage/retouche photo
|
||||
inkscape # édition d'image vectorielle (svg & autre)
|
||||
imagemagick # modification image en CLI
|
||||
#rawtherapee # développemen de photos en RAW
|
||||
|
||||
# TEST d'outil de gestion de catalogue de photos
|
||||
20
applications/graphical/edition-video.nix
Normal file
20
applications/graphical/edition-video.nix
Normal 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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf (cfg.edition-video && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Vidéo
|
||||
#cinelerra # editeur video
|
||||
pitivi # montage vidéo
|
||||
];
|
||||
}
|
||||
19
applications/graphical/jeux.nix
Normal file
19
applications/graphical/jeux.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf (cfg.jeux && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Jeux
|
||||
urbanterror
|
||||
];
|
||||
}
|
||||
@@ -5,22 +5,18 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
# TODO ranger le spécifique pulseaudio
|
||||
mkIf cfg.multimediaSuite {
|
||||
mkIf (cfg.multimediaSuite && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Multimedia
|
||||
|
||||
## Audio
|
||||
beep
|
||||
cmus # lecteur audio console
|
||||
espeak # synthèse vocale
|
||||
paprefs # préferences pulseaudio
|
||||
pavucontrol # mixer pulseaudio
|
||||
vorbis-tools # codec
|
||||
|
||||
## Video
|
||||
smplayer # lecteur vidéo
|
||||
19
applications/graphical/network.nix
Normal file
19
applications/graphical/network.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf (true && cfg.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
## Diagnostic
|
||||
wireshark
|
||||
];
|
||||
}
|
||||
19
applications/graphical/securite.nix
Normal file
19
applications/graphical/securite.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
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
|
||||
];
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
@@ -50,13 +52,5 @@ mkIf true {
|
||||
detox # The detox utility renames files to make them easier to work with.
|
||||
duff # outil de recherche de fichiers en doublons
|
||||
rdfind # recherche de fichiers doublons pour remplacement par hard/soft link
|
||||
|
||||
(mkIf profiles.isDesktopEnvironment
|
||||
## Gestion de FS
|
||||
gparted # Gestion graphique de partitions
|
||||
)
|
||||
(mkIf profiles.isDesktopEnvironment
|
||||
unetbootin # création de clefs USB bootables
|
||||
)
|
||||
];
|
||||
}
|
||||
19
applications/terminal/bureau.nix
Normal file
19
applications/terminal/bureau.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
## Manipulation de fichier
|
||||
vifm # gestionnaire de fichiers basé sur VIM (console)
|
||||
];
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.officeSuite {
|
||||
@@ -13,31 +15,10 @@ mkIf cfg.officeSuite {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Bureautique
|
||||
aspell aspellDicts.fr # correction d'ortographe
|
||||
gnumeric # tableur
|
||||
#kde4.ksnapshot# réalisation de capture d'écran
|
||||
|
||||
# Gestion de tâche
|
||||
taskwarrior # gestionnaire de tâches en console
|
||||
|
||||
## 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
|
||||
|
||||
## Convertisseurs (texte -> <autre format>)
|
||||
gnuplot # générateur de graphes à partir de données numériques
|
||||
graphviz # dot, neato : traçage de graphes (carré, rond)
|
||||
17
applications/terminal/cao.nix
Normal file
17
applications/terminal/cao.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.conception-assistee {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
}
|
||||
20
applications/terminal/cartographie.nix
Normal file
20
applications/terminal/cartographie.nix
Normal 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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.cartographie {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Gestion de données géographiques
|
||||
expat
|
||||
gpsbabel # pour convertir les données des GPS
|
||||
];
|
||||
}
|
||||
29
applications/terminal/client-internet.nix
Normal file
29
applications/terminal/client-internet.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
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
|
||||
|
||||
## Sauvegarde nuagique (cloud storage)
|
||||
rclone
|
||||
];
|
||||
}
|
||||
@@ -5,9 +5,11 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
{
|
||||
mkIf true {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
41
applications/terminal/default.nix
Normal file
41
applications/terminal/default.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
#inherit (lib) mkIf mkMerge mkThenElse;
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
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, ...)
|
||||
];
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.developpement-elm {
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.developpement-haskell {
|
||||
@@ -25,7 +27,6 @@ mkIf cfg.developpement-haskell {
|
||||
hlint # qualite de code, analyse statique de code + astuces & bonnes pratiques
|
||||
#postgrest # mapper HTTP <-> PostgreSQL
|
||||
stylish-haskell # qualité de code
|
||||
threadscope # visualisation des threads (<bidule>.eventlog)
|
||||
turtle # genre shell-scripting
|
||||
|
||||
# Application perso
|
||||
@@ -5,15 +5,14 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.developpement-java {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# IDE
|
||||
idea.idea-community # IntelliJ IDEA
|
||||
|
||||
# Java
|
||||
maven
|
||||
openjdk
|
||||
@@ -5,15 +5,13 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.jetbrains-licensed {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
idea.idea-ultimate
|
||||
idea.clion
|
||||
idea.datagrip
|
||||
idea.pycharm-professional
|
||||
];
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.developpement-rust {
|
||||
31
applications/terminal/developpement.nix
Normal file
31
applications/terminal/developpement.nix
Normal file
@@ -0,0 +1,31 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
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
|
||||
];
|
||||
}
|
||||
17
applications/terminal/edition-musique.nix
Normal file
17
applications/terminal/edition-musique.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.edition-musique {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
}
|
||||
23
applications/terminal/edition-photo.nix
Normal file
23
applications/terminal/edition-photo.nix
Normal 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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
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
|
||||
];
|
||||
}
|
||||
@@ -5,15 +5,14 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.edition-video {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Vidéo
|
||||
#cinelerra # editeur video
|
||||
pitivi # montage vidéo
|
||||
ffmpeg-full # assemblage de flux audio & video en ligne de commande
|
||||
];
|
||||
|
||||
@@ -5,13 +5,13 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.jeux {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Jeux
|
||||
urbanterror
|
||||
];
|
||||
}
|
||||
22
applications/terminal/multimedia.nix
Normal file
22
applications/terminal/multimedia.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.multimediaSuite {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
## Audio
|
||||
beep
|
||||
cmus # lecteur audio console
|
||||
espeak # synthèse vocale
|
||||
vorbis-tools # codec
|
||||
];
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
@@ -20,7 +22,6 @@ mkIf true {
|
||||
## Diagnostic
|
||||
arp-scan
|
||||
nmap # outil de scan de port réseau
|
||||
#wireshark
|
||||
whois
|
||||
];
|
||||
|
||||
@@ -5,16 +5,15 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.securitySuite {
|
||||
|
||||
# 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
|
||||
];
|
||||
}
|
||||
60
base.nix
60
base.nix
@@ -5,64 +5,20 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
{
|
||||
imports = [
|
||||
# moulinette de configuration
|
||||
./config-generator.nix
|
||||
./options.nix
|
||||
|
||||
# installées systématiquement
|
||||
./applications/default-applications.nix
|
||||
./configuration/environment.nix
|
||||
./configuration/localisation.nix
|
||||
./configuration/network.nix
|
||||
#./configuration/network-ipv6.nix
|
||||
./configuration/udev.nix
|
||||
./services/haveged.nix
|
||||
./services/monitoring-munin.nix
|
||||
./services/monitoring-smokeping.nix
|
||||
./services/ssh.nix
|
||||
|
||||
# commandées par config-generator
|
||||
## option de configuration spécifique
|
||||
./applications/cao.nix # de conception assisté par ordinateur & modélisation
|
||||
./applications/cartographie.nix # manipuler les données géographiques & cartes
|
||||
./applications/developpement.nix # développer des programmes/scripts
|
||||
./applications/developpement-elm.nix # développer en elm
|
||||
./applications/developpement-haskell.nix # développer en haskell
|
||||
./applications/developpement-java.nix # développer en java
|
||||
./applications/developpement-jetbrains.nix # outils jetbrains
|
||||
./applications/developpement-rust.nix # développer en rust
|
||||
./applications/edition-musique.nix # modifier les fichiers musicaux
|
||||
./applications/edition-photo.nix # modifier les photos & assimilé
|
||||
./applications/edition-video.nix # modifier les vidéos
|
||||
./applications/jeux.nix # jouer, tout simplement ;)
|
||||
./configuration/auto-upgrade.nix # mise à jour automatique du système
|
||||
./configuration/awesome.nix # pour le gestionaire de fenêtres awesome
|
||||
./configuration/laptop.nix # appli & configuration adaptée pour un PC portable
|
||||
./configuration/swap.nix # définition de l'utilisation du swap
|
||||
./services/print.nix # configuration de base de cups
|
||||
./services/docker.nix # activer docker
|
||||
./services/elasticsearch.nix # service de stockage et recher de données
|
||||
./services/hoogle.nix # service hoogle pour haskell
|
||||
./services/hydra-build.nix # service de construction de paquet. -> la machine compile des paquets
|
||||
./services/hydra-core.nix # service pour l'instance d'hydra
|
||||
./services/kibana.nix # service de visualisation de données stockées dans elasticsearch
|
||||
./services/locate.nix # service locate
|
||||
./services/virtualbox.nix # activer virtualbox
|
||||
./services/xmonad/xmonad.nix # pour le gestionaire de fenêtre xmonad
|
||||
|
||||
## if isDesktop
|
||||
./applications/adminsys.nix # pour gérer le système dans son ensemble et les services
|
||||
./applications/bureau.nix # éléments pour avoir un environement graphique minimal utilisable
|
||||
./applications/bureautique.nix # dédiée à la bureautique (traitement de texte, dessin, ...)
|
||||
./applications/client-internet.nix # pour accéder & utiliser des ressources par le réseau
|
||||
./applications/multimedia.nix # pour gérer le son, l'image et la vidéo
|
||||
./applications/network.nix # de gestion, de diagnostique & surveillance réseau
|
||||
./applications/securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...)
|
||||
./services/pulseaudio.nix # activation du serveur audio
|
||||
./services/scanner.nix # utilisation d'un scanner
|
||||
./services/x11.nix # activation du serveur graphique X
|
||||
# subfolders
|
||||
./applications/graphical/default.nix
|
||||
./applications/terminal/default.nix
|
||||
./configuration/default.nix
|
||||
./services/default.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -6,16 +6,18 @@ let
|
||||
pfl = config.r6d.profiles;
|
||||
comp = config.r6d.computers;
|
||||
host = config.networking.hostName;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
{
|
||||
# TODO camel case partout
|
||||
# TODO everything in english
|
||||
# TODO sortir ce qui est privé
|
||||
# TODO portage du système d'annuaire de machines de capgemini
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
#* Utilisé pour afecter des capacités aux machines
|
||||
r6d.profiles = {
|
||||
# Domaine
|
||||
@@ -49,6 +51,7 @@ in
|
||||
edition-video = mkEnableOption "Profil pour la création/édition de video.";
|
||||
elasticsearch = mkEnableOption "Profil pour activer le service elasticsearch.";
|
||||
fail2ban = mkEnableOption "Profil pour activer Fail2ban.";
|
||||
graphical = mkEnableOption "Profil pour activer les applications graphgiques.";
|
||||
hydra-builder = mkEnableOption "Profil pour une machine qui compile pour hydra.";
|
||||
hydra-core = mkEnableOption "Profil pour un serveur hydra.";
|
||||
kibana = mkEnableOption "Profil pour activer le service kibana.";
|
||||
@@ -146,6 +149,7 @@ in
|
||||
|
||||
r6d.config-generator = {
|
||||
docker = true;
|
||||
graphical = true;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -263,7 +267,7 @@ in
|
||||
kibana = true;
|
||||
nix-serve-client = true;
|
||||
nix-serve-server = true;
|
||||
rabbitmq = true;
|
||||
#rabbitmq = true;
|
||||
tincAddress = "192.168.12.3/24";
|
||||
tincExtraConfig = ''
|
||||
ConnectTo = monstre_dubronetwork_fr
|
||||
@@ -326,6 +330,7 @@ in
|
||||
|
||||
r6d.config-generator = {
|
||||
laptop = true;
|
||||
graphical = true;
|
||||
scanner = true;
|
||||
tincAddress = "192.168.12.7/24";
|
||||
tincExtraConfig = ''
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.auto-upgrade {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
# TODO: rc.lua par défaut (système)
|
||||
|
||||
29
configuration/default.nix
Normal file
29
configuration/default.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
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
|
||||
];
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
# TODO: ménage
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.laptop {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
|
||||
@@ -5,12 +5,14 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
|
||||
# Utilisation d'adresse IPv6 temporaire
|
||||
|
||||
|
||||
## https://blog.linitx.com/control-privacy-addressing-ipv6-linux/
|
||||
## http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/x1092.html
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf false {
|
||||
|
||||
7
iso-image/Makefile.installation
Normal file
7
iso-image/Makefile.installation
Normal file
@@ -0,0 +1,7 @@
|
||||
all:
|
||||
nixos-generate-config --root /mnt
|
||||
git config --global user.email "nixos-live@example.org"
|
||||
git config --global user.name "NixOS Live"
|
||||
cd /mnt/etc/nixos && git init . && git add . && git commit -m "initial commit"
|
||||
cd /mnt/etc/nixos && git submodule add http://gogs.prunetwork.fr:80/nixos-config/nixos-template-base.git base
|
||||
cd /mnt/etc/nixos && git submodule add https://gogs.prunetwork.fr/Capgemini-CDS-Arkea/template-nixos.git capgemini-cmb
|
||||
23
iso-image/configuration.nix
Normal file
23
iso-image/configuration.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
capgemini-cmb/default.nix
|
||||
/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix
|
||||
nixos-template-base/base.nix
|
||||
];
|
||||
# Custom name
|
||||
isoImage.isoName = pkgs.lib.mkForce "${config.isoImage.isoBaseName}-capgemini-${config.system.nixosLabel}-${pkgs.stdenv.system}.iso";
|
||||
# Avoid having the terminal flooded by kernel audit messages
|
||||
boot.kernelParams = [ "audit=0" ];
|
||||
|
||||
# Files to copy to the liveCD
|
||||
isoImage.contents = [
|
||||
{
|
||||
source = ./Makefile.installation;
|
||||
target = "/custom/Makefile";
|
||||
}
|
||||
];
|
||||
environment.shellAliases = { nixos-generate-custom-config = "cd /iso/custom/ && make";};
|
||||
networking.hostName = "nixos-livecd.corp.capgemini.com";
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
|
||||
78
options.nix
Normal file
78
options.nix
Normal file
@@ -0,0 +1,78 @@
|
||||
{ config, lib, pkgs, r6d, ... }:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkTextOption mkIf mkMerge mkOption singleton types;
|
||||
|
||||
# TODO: Anglish :)
|
||||
machineOptions = types.submodule {
|
||||
options = {
|
||||
|
||||
configuration-flags = types.submodule r6d.config-generator;
|
||||
profiles = types.submodule r6d.profiles;
|
||||
|
||||
ipAddress = mkOption {
|
||||
description = "Adresse IP";
|
||||
type = lib.types.string;
|
||||
};
|
||||
nix-serve-server = mkEnableOption "nix-serve server";
|
||||
nix-serve-client = mkEnableOption "nix-serve client";
|
||||
|
||||
tinc = {
|
||||
enable = mkEnableOption "Enable tinc service";
|
||||
connectToAddress = mkOption {
|
||||
default = "";
|
||||
example = "192.168.1.1";
|
||||
description = "External address to connect from another node.";
|
||||
type = lib.types.string;
|
||||
};
|
||||
vpnAddress = mkOption {
|
||||
example = "192.168.69.69/24";
|
||||
description = "VPN local node IP address.";
|
||||
type = lib.types.string;
|
||||
};
|
||||
vpnCidrLength = mkOption {
|
||||
default = 24;
|
||||
example = 24;
|
||||
description = "VPN netmask length.";
|
||||
type = lib.types.int;
|
||||
};
|
||||
extraConfig = mkOption {
|
||||
default = "";
|
||||
example = ''
|
||||
Mode = router
|
||||
ConnecTo = bar
|
||||
'';
|
||||
description = "Configuration supplémentaire pour tinc";
|
||||
type = lib.types.string;
|
||||
};
|
||||
};
|
||||
|
||||
windowsBoot = {
|
||||
enable = mkEnableOption "Activation du démarrage de Windows par Grub";
|
||||
drive = mkOption {
|
||||
description = "Lecteur sur lequel est présent le système Windows (au format GRUB)";
|
||||
type = lib.types.string;
|
||||
default = "hd0,1";
|
||||
};
|
||||
};
|
||||
windowsMount ={
|
||||
enable = mkEnableOption "Montage de la partition data Windows";
|
||||
device = mkOption {
|
||||
description = "Lecteur sur lequel est présent le disque de data Windows";
|
||||
type = lib.types.string;
|
||||
default = "/dev/sda2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
r6d.machines = mkOption {
|
||||
type = types.attrsOf machineOptions;
|
||||
description = ''
|
||||
Machines directory.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -341,11 +341,12 @@ globalkeys = awful.util.table.join(
|
||||
awful.key({ modkey }, "F5", function () awful.util.spawn("spacefm") end),
|
||||
awful.key({ modkey }, "F6", function () awful.util.spawn("vlc") end),
|
||||
awful.key({ modkey }, "F7", function () awful.util.spawn("claws-mail") end),
|
||||
awful.key({ modkey }, "F11", function () awful.util.spawn("xrandr-auto") end),
|
||||
awful.key({ modkey }, "F12", function () awful.util.spawn("slock") end),
|
||||
awful.key({ modkey, "Shift" }, "F1", function () awful.util.spawn("claws-mail") end),
|
||||
awful.key({ modkey, "Shift" }, "F3", function () awful.util.spawn("pcmanfm") end),
|
||||
awful.key({ modkey }, "F10", function () awful.util.spawn("xrandr-auto-2") end),
|
||||
awful.key({ modkey }, "F11", function () awful.util.spawn("xrandr-auto") end)
|
||||
awful.key({ modkey, "Shift" }, "F6", function () awful.util.spawn("clementine") end),
|
||||
awful.key({ modkey, "Shift" }, "F11", function () awful.util.spawn("xrandr-auto-2") end)
|
||||
-- awful.key({ modkey, "Shift" }, "F11", function () awful.util.spawn("/home/taeradan/bin/xrandr-left") end),
|
||||
-- awful.key({ modkey, "Control" }, "F11", function () awful.util.spawn("/home/taeradan/bin/xrandr-right") end),
|
||||
|
||||
|
||||
37
services/default.nix
Normal file
37
services/default.nix
Normal file
@@ -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;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
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
|
||||
];
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.docker {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.elasticsearch {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
|
||||
@@ -5,12 +5,14 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.developpement-haskell {
|
||||
|
||||
services.hoogle = {
|
||||
enable = true;
|
||||
# port 8080
|
||||
port = 10080;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
# TODO: ménage
|
||||
mkIf cfg.hydra-builder {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
|
||||
|
||||
#### https://github.com/NixOS/hydra/issues/413
|
||||
@@ -62,6 +64,8 @@ mkIf cfg.hydra-core {
|
||||
#package = hydra-src-pkg ;
|
||||
};
|
||||
|
||||
systemd.services.hydra-evaluator.serviceConfig.Nice = -19;
|
||||
|
||||
#systemd.services.hydra-evaluator = {
|
||||
# path = [ pkgs.nettools config.services.hydra.package ];
|
||||
#};
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.kibana {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.locate {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
# TODO: ajouter option
|
||||
@@ -27,6 +29,12 @@ mkIf true {
|
||||
path = with pkgs; [ munin lm_sensors ];
|
||||
serviceConfig.TimeoutStartSec = "3min";
|
||||
};
|
||||
users.extraUsers.munin = {
|
||||
#extraGroups = [ "postfix" "root" ];
|
||||
extraGroups = [ "postfix" ];
|
||||
};
|
||||
|
||||
# chmod a+rX -Rv /var/lib/postfix/queue/
|
||||
|
||||
## Munin server -- generate /var/www/munin
|
||||
services.munin-cron = {
|
||||
@@ -36,7 +44,7 @@ mkIf true {
|
||||
address 127.0.0.1
|
||||
'';
|
||||
extraGlobalConfig = ''
|
||||
contact.email.command ${pkgs.mutt}/bin/mutt -F /etc/nixos/base/public/services/munin-muttrc -s "Munin notification for ''${var:host}" jean-pierre@ocean.prunetwork.fr
|
||||
contact.email.command ${pkgs.mutt}/bin/mutt -F /etc/nixos/base/public/services/munin-muttrc -s "Munin notification for ''${var:host}" root@prunetwork.fr
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -1,198 +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 cfg.smokeping {
|
||||
|
||||
# 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 de latence
|
||||
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 = [
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.print {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.pulseaudio {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.scanner {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.virtualbox {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf profiles.isDesktopEnvironment {
|
||||
|
||||
@@ -5,6 +5,8 @@ let
|
||||
cfg = config.r6d.config-generator;
|
||||
computers = config.r6d.computers;
|
||||
profiles = config.r6d.profiles;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
in
|
||||
|
||||
mkIf cfg.xmonad {
|
||||
|
||||
Reference in New Issue
Block a user