Compare commits

...

22 Commits

Author SHA1 Message Date
Yves Dubromelle
21d7c97c76 readme: ajustement sur le bootloader 2016-10-17 12:54:27 +02:00
Yves Dubromelle
3a8a728268 lors d'une full-auto, on ne force pas à être sur la branche master 2016-10-17 11:21:05 +02:00
a5aae179a2 Mettre à jour 'README.md' 2016-10-17 08:25:22 +00:00
95e8687609 précision sur le channel 2016-10-17 10:19:21 +02:00
8e35b38d19 Merge remote-tracking branch 'origin/master' into upgrade-16.09 2016-10-17 10:17:04 +02:00
51dd0b65f4 correction régression sur hostname 2016-10-17 10:06:24 +02:00
04038a7b16 fusion des dichiers README (oups) 2016-10-17 09:46:53 +02:00
4fbf145c78 ajout README 2016-10-17 09:29:47 +02:00
821d46befe désactivation par défaut de x11 : doit être explicitement appelé 2016-10-17 09:29:21 +02:00
807b1bc2e6 activation dbus 2016-10-16 17:28:48 +02:00
4b5eacda0f x11: paramètres non nécessaires car les valeurs par défaut sont OK 2016-10-16 01:53:42 +02:00
18f960b879 Revert "x11: paramètres non nécessaires car les valeurs par défaut sont OK"
This reverts commit a8e28e594a.
2016-10-16 01:52:49 +02:00
a8e28e594a x11: paramètres non nécessaires car les valeurs par défaut sont OK 2016-10-16 01:39:26 +02:00
758e8ba84a MaJ des nom de paquets (cf. release note) 2016-10-16 01:08:04 +02:00
1d3f46c2ec texlive nouvelle archi (2015 ...) 2016-10-16 00:10:12 +02:00
3ccc8678ce ajout outil wifi pour profil laptop 2016-10-10 22:11:44 +02:00
Yves Dubromelle
215005d927 installation des outils réseaux sur toutes les machines 2016-10-09 18:43:01 +02:00
Yves Dubromelle
9fb124116d phenom: permet de modifier les photo + profil laptop (pour carte wifi) 2016-10-06 21:47:44 +02:00
Yves Dubromelle
d65ee1bd2c bonnes pratiques selon nixos 2016-10-05 00:01:33 +02:00
Yves Dubromelle
dce7b12a33 ajout pmisc 2016-10-05 00:01:33 +02:00
826595cb6c radx peut imprimer 2016-09-27 23:08:04 +02:00
b633d3c794 les machines @home peuvent utiliser le cache sur monstre 2016-09-27 23:07:44 +02:00
15 changed files with 81 additions and 25 deletions

View File

@@ -37,7 +37,7 @@ push: submodules-push
submodules-update: submodules-update:
#git submodule update --remote #git submodule update --remote
git submodule foreach git co master #git submodule foreach git co master
git submodule foreach git ff git submodule foreach git ff
submodules-push: submodules-push:

11
README
View File

@@ -1,11 +0,0 @@
# nixos-template-base
Ce dépôt stocke une configuration générique des machines.
Une recette dite "config-generator" adapte la configuration selon le nom de la machine (FQDN).
Actuellement, les scripts contiennent un peu de configuration spécifique pour les machines des mainteneurs.
# Lien pour install sur machine distante
* https://nixos.org/wiki/How_to_install_NixOS_from_Linux#Installing_through_a_chroot
* https://github.com/NixOS/nixpkgs/issues/13305

41
README.md Normal file
View File

@@ -0,0 +1,41 @@
# nixos-template-base
Ce dépôt stocke une configuration générique des machines.
Une recette dite "config-generator" adapte la configuration selon le nom de la machine (FQDN).
Actuellement, les scripts contiennent un peu de configuration spécifique pour les machines des mainteneurs.
# Lien pour install sur machine distante
* https://nixos.org/wiki/How_to_install_NixOS_from_Linux#Installing_through_a_chroot
* https://github.com/NixOS/nixpkgs/issues/13305
# Notes pour l'upgrade de 16.03 vers 16.09
* mettre le dépôt base sur la branche upgrade-16.09
* changer le channel nixos : ```nix-channel --add https://nixos.org/channels/nixos-16.09 nixos```
* activer x11 dans le configuration.nix
~~~
services.xserver.enable = true;
~~~
* remplacer le bootloader si gummiboot était utilisé
~~~
boot.loader.gummiboot.enable = true;
~~~
devient
~~~
boot.loader.systemd-boot.enable = true;
~~~
Pour résoudre les soucis d'upgrade, il est conseillé :
* de désactiver tous les imports (sauf `hardware.nix`)
* d'ajouter `.../localisation.nix` dans les imports sous peine d'être en clavier US
* d'ajouter ```nixpkgs.config.allowUnfree = true;```
* d'ajouter `vim` aux paquets
* de réactiver petit à petit les lignes désactivées

View File

@@ -16,7 +16,7 @@ mkIf cfg.nix-serve-client {
(mkIf (profiles.isDubronetwork && (! computers.isPedro) && (! computers.isRollo)) "http://nix-cache.dubronetwork.fr:5001") (mkIf (profiles.isDubronetwork && (! computers.isPedro) && (! computers.isRollo)) "http://nix-cache.dubronetwork.fr:5001")
(mkIf profiles.isPrunetwork "https://cache.nixos.org/") (mkIf profiles.isPrunetwork "https://cache.nixos.org/")
(mkIf (profiles.isPrunetwork && !profiles.isServer) "http://192.168.1.20:5000") (mkIf (profiles.isPrunetwork && !profiles.isServer) "http://nix-cache.dubronetwork.fr:5001")
]; ];
extraOptions = '' extraOptions = ''
connect-timeout = 5 connect-timeout = 5

View File

@@ -181,6 +181,7 @@ in
}; };
r6d.config-generator = { r6d.config-generator = {
print = true;
virtualbox = true; virtualbox = true;
}; };
}) })
@@ -251,6 +252,8 @@ in
r6d.config-generator = { r6d.config-generator = {
nix-serve-server = true; nix-serve-server = true;
laptop = true;
edition-photo = true;
}; };
}) })
(mkIf comp.isRollo { (mkIf comp.isRollo {

View File

@@ -1,10 +1,10 @@
{ config, pkgs, ... }: { config, lib, pkgs, ... }:
let let
cfg = config.r6d.config-generator; cfg = config.r6d.config-generator;
computers = config.r6d.computers; computers = config.r6d.computers;
profiles = config.r6d.profiles; profiles = config.r6d.profiles;
mkIf = pkgs.lib.mkIf; mkIf = lib.mkIf;
in in
{ {

View File

@@ -37,7 +37,7 @@ mkIf profiles.isDesktop {
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
texLiveFull # distribution LaTeX texlive.combined.scheme-full # distribution LaTeX
#texLive # distribution LaTeX de base #texLive # distribution LaTeX de base
#texLiveBeamer # paquets et extensions pour Beamer #texLiveBeamer # paquets et extensions pour Beamer
#texLiveModerncv # paquets pour la classe Modern CV #texLiveModerncv # paquets pour la classe Modern CV

View File

@@ -25,7 +25,7 @@ environment.systemPackages = with pkgs; [
## Mail & Discussion (texte, audio) ## Mail & Discussion (texte, audio)
clawsMail clawsMail
hexchat hexchat
kde5.quasselClient quasselClient
mumble mumble
mutt mutt
pidgin pidgin

View File

@@ -38,7 +38,7 @@ mkIf cfg.developpement {
## Rust ## Rust
cargo # récupération des dépendances + compilation projet rust cargo # récupération des dépendances + compilation projet rust
rustPlatform.rustc # pour les appels depuis les scripts 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

View File

@@ -7,7 +7,8 @@ let
profiles = config.r6d.profiles; profiles = config.r6d.profiles;
in in
mkIf profiles.isDesktop { mkIf true {
#mkIf profiles.isDesktop {
# Paquets # Paquets
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@@ -19,7 +20,7 @@ mkIf profiles.isDesktop {
## Diagnostic ## Diagnostic
arp-scan arp-scan
wireshark #wireshark
whois whois
]; ];

View File

@@ -12,7 +12,7 @@ in
nix.buildCores = 0; nix.buildCores = 0;
# The NixOS release to be compatible with for stateful data such as databases. # The NixOS release to be compatible with for stateful data such as databases.
system.stateVersion = "16.03"; system.stateVersion = "16.09";
# copies the NixOS configuration file (usually /etc/nixos/configuration.nix) and links it from the resulting system (getting to /run/current-system/configuration.nix) # copies the NixOS configuration file (usually /etc/nixos/configuration.nix) and links it from the resulting system (getting to /run/current-system/configuration.nix)
system.copySystemConfiguration = true; system.copySystemConfiguration = true;
@@ -20,6 +20,9 @@ in
# On autorise les paquets non-libres # On autorise les paquets non-libres
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
# Lancement de dbus pour les utilisateurs
services.dbus.socketActivated = true;
# Paquets # Paquets
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = with pkgs; [
@@ -39,6 +42,7 @@ in
p7zip # compression de fichier p7zip # compression de fichier
parted # partitionnement de disque parted # partitionnement de disque
pciutils pciutils
psmisc # fournis les utilitaires comme killall, fuser, pstree
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

View File

@@ -21,6 +21,7 @@ mkIf cfg.laptop {
# Paquets # Paquets
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
networkmanagerapplet networkmanagerapplet # gestionnaire réseau graphique + console (nm-applet + nmtui)
wirelesstools # fournis iwconfig
]; ];
} }

18
public/network.nix Normal file
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 true {
# fix: Hostname -s renvoie "Unknown host" alors que hostname renvoie la bonne valeur
# Il s'avère que hostname vérifie la validité du FQDN et du reverse.
# Fixer ces paramètres dans les hosts permet de faire tomber en marche
networking.extraHosts = ''
127.0.0.1 ${config.networking.hostName}
'';
}

View File

@@ -12,6 +12,7 @@ in
# installées systématiquement # installées systématiquement
./environment.nix ./environment.nix
./localisation.nix ./localisation.nix
./network.nix
#./network-ipv6.nix #./network-ipv6.nix
./sudo.nix ./sudo.nix
./service-haveged.nix ./service-haveged.nix

View File

@@ -12,13 +12,11 @@ mkIf profiles.isDesktop {
# Services # Services
# Enable the X11 windowing system. # Enable the X11 windowing system.
services.xserver = { services.xserver = {
enable = true; #enable = true;
layout = "fr"; layout = "fr";
xkbOptions = "eurosign:e"; xkbOptions = "eurosign:e";
displayManager.lightdm.enable = true; displayManager.lightdm.enable = true;
windowManager.awesome.enable = true; windowManager.awesome.enable = true;
startGnuPGAgent = true;
startOpenSSHAgent = false; # pas compatible avec l'agent GnuPG
inputClassSections = ['' inputClassSections = [''
Identifier "Marble Mouse" Identifier "Marble Mouse"
MatchProduct "Logitech USB Trackball" MatchProduct "Logitech USB Trackball"