Compare commits

...

46 Commits

Author SHA1 Message Date
Yves Dubromelle
87a0a9d3de options pour utiliser le cache nix de phenom 2016-07-06 16:08:32 +02:00
Yves Dubromelle
aae5d9a4cc serveur de cache nix 2016-07-04 10:56:33 +02:00
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
d7844c641c ajout du service locate (non activé dans base) 2016-05-08 18:20:15 +02:00
f0c5ce1e8c ajout d'alias git 2016-05-08 17:51:39 +02:00
542105d6e3 lien vers article "Privacy Extension IPv6 Addresses" 2016-05-06 17:25:28 +02:00
606a6738c9 activation des adresses ipv6 temporaires
-> il y a donc plusieurs @IPv6 affectées à une machine.
Une adresse qui ne devrait pas changer entre les reboot +
une adresse qui change régulièrement (préférence 1h, valide 1jour)
2016-05-06 17:20:00 +02:00
Yves Dubromelle
2227277cbb 'which', outil utile 2016-05-04 21:51:52 +02:00
Yves Dubromelle
07669adcf3 ligne rouge moche à 80c -> ligne à fond gris à 80 et à partir de 120 2016-05-04 14:56:47 +02:00
12 changed files with 182 additions and 4 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, ... }:
{
imports = [
];
services.locate= {
enable = true;
interval = "hourly";
};
}

View File

@@ -0,0 +1,7 @@
{ config, pkgs, ... }:
{
# Cache http pour le store
nix.requireSignedBinaryCaches = false;
nix.binaryCaches = [ "http://192.168.10.169:5000" ];
}

View File

@@ -0,0 +1,7 @@
{ config, pkgs, ... }:
{
# Cache http pour le store
services.nix-serve.enable = true;
networking.firewall.allowedTCPPorts = [5000];
}

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,7 +2,12 @@
{
imports = [
./tools.nix
#./activation-manuelle/auto-upgrade.nix
#./activation-manuelle/locate.nix
#./activation-manuelle/swap.nix
./environment.nix
./localisation.nix
./networking.nix
./services.nix
];
}

View File

@@ -1,27 +1,41 @@
{ 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:
# $ nix-env -qaP | grep wget
environment = {
systemPackages = with pkgs; [
bind # utilisé pour les utilitaires comme dig
byobu
git gitAndTools.tig
exfat # Pour monter les FAT avec Fuse
git gitAndTools.gitSVN gitAndTools.tig
gnumake
gnupg
gpm # prise en charge de la souris en console
htop
ncdu
nmap
mtr
p7zip
parted
pciutils
python34Packages.glances
pwgen
tmux
tree
usbutils
(import ./vim.nix)
wget
which
];
shellAliases = {
byobu = "byobu-tmux";

View File

@@ -7,9 +7,16 @@
status = auto
[alias]
a = add -p
st = status
ci = commit
co = checkout
ff = pull --ff-only
# Show files ignored by git
ignored = ls-files -o -i --exclude-standard
ls = ls-files
st = status
# Logs
lol = log --graph --decorate --pretty=oneline --abbrev-commit
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
[push]
default = simple
[core]

29
networking.nix Normal file
View File

@@ -0,0 +1,29 @@
{ 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
## https://blog.linitx.com/control-privacy-addressing-ipv6-linux/
## http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/x1092.html
boot.kernel.sysctl = {
"net.ipv6.conf.all.temp_prefered_lft" = 1800; # 30 min
"net.ipv6.conf.all.temp_valid_lft" = 3600; # 1 heure
"net.ipv6.conf.all.use_tempaddr" = 2; # activé
"net.ipv6.conf.default.temp_prefered_lft" = 3600; # 1 heure
"net.ipv6.conf.default.temp_valid_lft" = 3600; # 1 heure
"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;
};
}

3
vimrc
View File

@@ -24,10 +24,11 @@ set shiftround "Round indent to nearest shiftwidth multiple
"""""" Réglages cosmétiques
set background=dark
set cc=80
set number
highlight ColorColumn ctermbg=8
"Détection de la profondeur des couleurs (8bits)
if &t_Co > 8
colorscheme wombat256mod
let &colorcolumn="80,".join(range(120,999),",")
highlight ColorColumn ctermbg=235 guibg=#2c2d27
endif