Compare commits

..

38 Commits

Author SHA1 Message Date
d4417b922a les commandes de push envoient également les tags 2016-06-28 20:55:28 +02:00
c4a3515aa0 ajout de commande pour produire facilement des tags 2016-06-28 20:52:05 +02:00
8d464837ec diminution de la durée de validité des IPv6 temporaires 2016-06-14 17:56:48 +02:00
e486a82be2 commentaire 2016-06-13 18:28:30 +02:00
eeae177744 séparation de push & submodules-push 2016-06-13 16:27:53 +02:00
22bd42f61f déplacement de munin-node vers services 2016-06-13 16:26:01 +02:00
092b4a8b44 ajout de cible pour pusher tous les sousmodules & dépot courant 2016-06-13 16:14:28 +02:00
5c0c2fa2ec ajout de cible pour vérifier et corriger le store 2016-06-13 16:11:36 +02:00
d71f1b7f57 ajout d'un générateur de nombres aléatoires pour ++ l'entropie du système 2016-06-13 15:12:58 +02:00
cc1d6f5859 la prise en charge de la souris en console est migrée de desktop à base 2016-06-13 00:56:08 +02:00
Yves Dubromelle
2cd5f1c03e Merge remote-tracking branch 'origin/master' 2016-06-09 16:35:59 +02:00
Yves Dubromelle
48f45f76aa ajout de cible full-auto 2016-06-09 16:35:37 +02:00
Yves Dubromelle
a228a0e52c autorisation des paquets non libres 2016-06-09 16:31:18 +02:00
Yves Dubromelle
2cf7a7a7ee ajout du numéro de version de NixOS et du nombre de jobs // 2016-06-09 16:26:01 +02:00
Yves Dubromelle
54382e757c tools -> environment 2016-06-09 16:25:43 +02:00
Yves Dubromelle
a91f81a650 activation de CUPS et des pilotes samsung 2016-06-09 16:19:24 +02:00
Yves Dubromelle
c5eeaae443 modification du make pour garder la branche master à jour 2016-06-09 16:17:54 +02:00
Yves Dubromelle
71807d038a ajout d'une expression pour les services 2016-06-09 16:11:04 +02:00
Yves Dubromelle
35b2dede57 ajout commentaire 2016-06-09 16:05:59 +02:00
2c4daa1766 ajout domaines recherchés par le DNS 2016-06-03 14:52:05 +02:00
6ae67f8e09 ajout de la mise à jour automatique du système en manuel 2016-06-03 14:38:58 +02:00
d2b4afd9d4 activation d'un noeud munin local (acessible uniquement par localhost) 2016-05-31 21:09:06 +02:00
Yves Dubromelle
c93cd28bb1 update -> upgrade 2016-05-23 19:04:15 +02:00
Yves Dubromelle
f5f92fcb07 make rule that cleans everything 2016-05-23 19:01:56 +02:00
Yves Dubromelle
4857ea1b56 règle pour optimiser le store 2016-05-23 17:09:28 +02:00
f7ac4acd54 le ménage aggressif efface plius ancien que 1 jour 2016-05-23 16:50:44 +02:00
dccec5d306 Revert "ajustement de la durée de rétention à 0 pour le ménage aggressif"
This reverts commit 58342eef57.
2016-05-23 16:50:26 +02:00
58342eef57 ajustement de la durée de rétention à 0 pour le ménage aggressif 2016-05-23 16:48:47 +02:00
Yves Dubromelle
521d362779 cible pour faire du ménage dans les logs 2016-05-23 10:04:30 +02:00
e9cf5d5472 cible de ménage aggressif 2016-05-17 20:09:04 +02:00
691b961d64 ajout configurationmanuelle du swap 2016-05-16 21:57:47 +02:00
76e075cab4 ajout de la directive pour activer svn avec git 2016-05-16 21:19:28 +02:00
Yves Dubromelle
51a3a75d74 activation exfat 2016-05-16 15:34:12 +02:00
Yves Dubromelle
6a53257409 ajout cible de MaJ sous-modules 2016-05-16 14:14:09 +02:00
78cb2f7976 ajout d'une cible clean qui "collect -d 15jours" 2016-05-14 20:59:13 +02:00
Yves Dubromelle
ddc89e6a6e ajout d'un make 2016-05-12 00:42:30 +02:00
Yves Dubromelle
f8890aa003 ajout de lspci et lsusb 2016-05-10 22:10:41 +02:00
ec72d97c8f les expressions activées "à la main" sont séparées dans un dossier 2016-05-09 22:00:26 +02:00
8 changed files with 132 additions and 7 deletions

48
Makefile Normal file
View File

@@ -0,0 +1,48 @@
all: rebuild-switch
date
clean:
nix-collect-garbage -d --delete-older-than 15d
clean-aggressive:
nix-collect-garbage -d --delete-older-than 1d
clean-total:
nix-collect-garbage -d
clean-log:
journalctl --vacuum-size=1G
full-auto: submodules-update upgrade clean optimise
optimise:
nix-store --optimise
push: submodules-push
git push --all
git push --tags
rebuild-switch:
nixos-rebuild switch
store-repair:
nix-store --verify --check-contents --repair
submodules-update:
#git submodule update --remote
git submodule foreach git co master
git submodule foreach git ff
submodules-push:
git submodule foreach git push --all
git submodule foreach git push --tags
submodules-tag:
git submodule foreach git tag -f "$$(date +%F)-$$(hostname -s)"
tag: submodules-tag
git tag -f "$$(date +%F)-$$(hostname -s)"
upgrade:
nixos-rebuild switch --upgrade

View File

@@ -0,0 +1,7 @@
{ config, pkgs, ... }:
{
# Automatic update & automatic clean
system.autoUpgrade.enable = true;
nix.gc.automatic = true;
}

View File

@@ -0,0 +1,11 @@
{ config, pkgs, ... }:
{
# https://en.wikipedia.org/wiki/Swappiness
boot.kernel.sysctl = {
# le swap est activé (!= 0)
# le swap est utilisé lorsque (100 - x) % de la mémoire est déja allouée
"vm.swappiness" = 10;
};
}

View File

@@ -2,8 +2,12 @@
{ {
imports = [ imports = [
./tools.nix #./activation-manuelle/auto-upgrade.nix
#./activation-manuelle/locate.nix
#./activation-manuelle/swap.nix
./environment.nix
./localisation.nix ./localisation.nix
./networking.nix ./networking.nix
./services.nix
]; ];
} }

View File

@@ -1,25 +1,38 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
# Nombre de process d'installation en parrallèle effectués par Nix
nix.buildCores = 0;
# The NixOS release to be compatible with for stateful data such as databases.
system.stateVersion = "16.03";
# On autorise les paquets non-libres
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search by name, run: # List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget # $ nix-env -qaP | grep wget
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = with pkgs; [
bind # utilisé pour les utilitaires comme dig bind # utilisé pour les utilitaires comme dig
byobu byobu
git gitAndTools.tig exfat # Pour monter les FAT avec Fuse
git gitAndTools.gitSVN gitAndTools.tig
gnumake gnumake
gnupg gnupg
gpm # prise en charge de la souris en console
htop htop
ncdu ncdu
nmap nmap
mtr mtr
p7zip p7zip
parted parted
pciutils
python34Packages.glances python34Packages.glances
pwgen pwgen
tmux tmux
tree tree
usbutils
(import ./vim.nix) (import ./vim.nix)
wget wget
which which

View File

@@ -1,18 +1,29 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
# Définition des domaines utilisés lorsque un identifiant non-FQDN est donné (ping, nslookup)
networking = {
search = [
"dubronetwork.fr"
"prunetwork.fr"
"teleragno.fr"
"teleragno.net"
];
dnsExtensionMechanism = true;
};
# Utilisation d'adresse IPv6 temporaire # Utilisation d'adresse IPv6 temporaire
# https://blog.linitx.com/control-privacy-addressing-ipv6-linux/
# http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/x1092.html ## https://blog.linitx.com/control-privacy-addressing-ipv6-linux/
## http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/x1092.html
boot.kernel.sysctl = { boot.kernel.sysctl = {
"net.ipv6.conf.all.temp_prefered_lft" = 3600; # 1 heure "net.ipv6.conf.all.temp_prefered_lft" = 1800; # 30 min
"net.ipv6.conf.all.temp_valid_lft" = 86400; # 1 jour "net.ipv6.conf.all.temp_valid_lft" = 3600; # 1 heure
"net.ipv6.conf.all.use_tempaddr" = 2; # activé "net.ipv6.conf.all.use_tempaddr" = 2; # activé
"net.ipv6.conf.default.temp_prefered_lft" = 3600; # 1 heure "net.ipv6.conf.default.temp_prefered_lft" = 3600; # 1 heure
"net.ipv6.conf.default.temp_valid_lft" = 86400; # 1 jour "net.ipv6.conf.default.temp_valid_lft" = 3600; # 1 heure
"net.ipv6.conf.default.use_tempaddr" = 2; # activé "net.ipv6.conf.default.use_tempaddr" = 2; # activé
}; };
} }

31
services.nix Normal file
View File

@@ -0,0 +1,31 @@
{ config, pkgs, ... }:
{
# Sécurité & Acces distant
## Augmentation de l'entropie du système par un générateur de nombres aléatoires
## cat /proc/sys/kernel/random/entropy_avail
services.haveged = {
enable = true;
refill_threshold = 2048;
};
## OpenSSH daemon
services.openssh = {
enable = true;
};
# Enable CUPS to print documents.
services.printing = {
enable = true;
drivers = [ pkgs.samsung-unified-linux-driver ];
};
# Monitoring
## Noeud de supervision munin = pas de stockage des données locales
services.munin-node = {
enable = true;
};
}