Compare commits

...

25 Commits

Author SHA1 Message Date
3d7b3f1106 création de variable de stockage de clef ssh 2016-08-07 11:11:05 +02:00
Yves Dubromelle
71c89d7272 l'uid n'est pas forcé. nix choisi le 1er libre. 2016-08-07 10:21:59 +02:00
Yves Dubromelle
e974e8949d ajout de clef ssh 2016-08-07 10:14:29 +02:00
a8b5ee97c6 ajout utilisateur taeradan si dubronetwork 2016-08-07 10:03:41 +02:00
45a4bc9a28 indentation 2016-08-07 09:54:25 +02:00
Yves Dubromelle
b998bea22e ouverture du port pour afficher les stats munin 2016-08-07 02:01:01 +02:00
Yves Dubromelle
a356a2f5fa Merge remote-tracking branch 'origin/master' 2016-08-07 01:38:28 +02:00
Yves Dubromelle
0e5137a236 suppression de postfix comme paquet accessible 2016-08-07 01:37:18 +02:00
Yves Dubromelle
65064f7f8b Merge remote-tracking branch 'origin/master' 2016-08-06 22:59:55 +02:00
Yves Dubromelle
12e3f20a8e ajout option de configuration pour ipv6 (EXPERIMENTAL) 2016-08-06 22:52:08 +02:00
a05ef8fbdc ajout clef ssh voyage 2016-08-06 16:41:17 +02:00
e6fc844aaf ajout de clef ssh autorisée 2016-08-05 15:25:49 +02:00
Yves Dubromelle
eaa35ac70e examples de configuration de xmonad et xmobar 2016-08-05 11:36:50 +02:00
2bcc6944b2 ajout de docker pour ocean 2016-08-04 20:59:48 +02:00
013b83c9a0 Merge branch 'master' of ssh://gogs.prunetwork.fr:10022/nixos-config/nixos-template-base 2016-08-03 16:39:40 +02:00
Yves Dubromelle
a5842e7763 réactivation de tex full 2016-08-02 13:48:58 +02:00
06ec0979dc ajout app géo 2016-08-02 13:48:36 +02:00
221bcd2dee déplacement dans dossier spécifique 2016-08-02 01:20:51 +02:00
aec2f9bfe9 ajout d'un début de création de dérivation pour osm2pgsql 2016-08-02 01:19:55 +02:00
a84ca742de déplacement de config generator 2016-08-01 15:41:12 +02:00
256ae50aea ajout de qgis 2016-08-01 15:34:17 +02:00
35e09f59d5 purge des copies des fichiers imprimés par cups 2016-07-31 23:47:36 +02:00
40f547852e commentaires + ménage dans les appli réseau 2016-07-29 15:33:33 +02:00
2a4c036ee4 activation conditionnelle (workstation) pour certains ensembles d'appli 2016-07-29 15:23:28 +02:00
ee93d2f29d renommage fichier 2016-07-29 14:51:16 +02:00
19 changed files with 244 additions and 51 deletions

View File

@@ -2,7 +2,11 @@
{
imports = [
# recettes
./base/base.nix
./desktop/desktop.nix
# moulinette de configuration
./config-generator.nix
];
}

View File

@@ -11,5 +11,12 @@ in {
drivers = [
pkgs.samsung-unified-linux-driver
];
# Suppression automatique des fichiers temporaires.
# Par défaut, cups conserve une copie de ce qui a été imprimé
# pas cool pour les mots de passe ou autre donnée sensible
extraConf = ''
PreserveJobHistory No
PreserveJobFiles No
'';
};
}

File diff suppressed because one or more lines are too long

View File

@@ -9,6 +9,14 @@
./services.nix
# inclusion conditionnelle
./config-generator.nix
./activation-manuelle/auto-upgrade.nix
./activation-manuelle/laptop.nix
./activation-manuelle/locate.nix
./activation-manuelle/fail2ban.nix
./activation-manuelle/nix-serve-client.nix
./activation-manuelle/nix-serve-server.nix
./activation-manuelle/print.nix
./activation-manuelle/swap.nix
./activation-manuelle/users.nix
];
}

View File

@@ -19,6 +19,7 @@
networking.firewall.allowedTCPPorts = [
# TODO configurer les bon ports lors de l'ouverture du service
8000
];
## Documentation

View File

@@ -9,19 +9,7 @@ let
host = config.networking.hostName;
in
{
imports = [
./activation-manuelle/auto-upgrade.nix
./activation-manuelle/laptop.nix
./activation-manuelle/locate.nix
./activation-manuelle/fail2ban.nix
./activation-manuelle/nix-serve-client.nix
./activation-manuelle/nix-serve-server.nix
./activation-manuelle/print.nix
./activation-manuelle/swap.nix
./activation-manuelle/users.nix
];
{
###### interface
options = {
@@ -43,7 +31,9 @@ in
enable = mkEnableOption "Génération de la configuration d'une machine.";
awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome.";
auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques.";
conception-assistee = mkEnableOption "Profil pour activer les outils de conception électronique & modélisation 3D";
database_postgres=mkEnableOption "Profil pour activer le SGBD PostgreSQL.";
developpement = mkEnableOption "Profil pour activer les outils de développement";
docker = mkEnableOption "Profil pour l'utilisation de Docker.";
dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS.";
dns_resolveur = mkEnableOption "Profil pour activer un résolveur DNS local.";
@@ -54,6 +44,7 @@ in
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-server= mkEnableOption "Profil pour que la machine soit un serveur de cache nix.";
online-ipv6 = mkEnableOption "Profil pour activer l'IPv6 de online.net";
print = mkEnableOption "Profil pour activer cups & pouvoir imprimer.";
rabbitmq = mkEnableOption "Profil pour activer le service de messagerie AMQP.";
swap = mkEnableOption "Profil pour que le swap soit activé.";
@@ -127,6 +118,7 @@ in
r6d.profiles.isDesktop = true;
r6d.config-generator = {
developpement = true;
docker = true;
};
})
@@ -146,6 +138,7 @@ in
})
(mkIf (pfl.isDubronetwork && pfl.isWorkstation) {
r6d.config-generator = {
conception-assistee = true;
virtualbox = true;
xmonad = true;
};
@@ -167,6 +160,10 @@ in
isPrunetwork = true;
isServer = true;
};
r6d.config-generator = {
docker = true;
};
})
(mkIf comp.isRadx {
r6d.profiles = {
@@ -244,6 +241,7 @@ in
r6d.config-generator = {
fail2ban = true;
murmur = true;
online-ipv6 = true;
};
})
];

View File

@@ -7,7 +7,7 @@ let
profiles = config.r6d.profiles;
in
mkIf profiles.isDesktop {
mkIf cfg.conception-assistee {
environment.systemPackages = with pkgs; [
# CAO

View File

@@ -7,7 +7,7 @@ let
profiles = config.r6d.profiles;
in
mkIf profiles.isDesktop {
mkIf cfg.developpement {
environment.systemPackages = with pkgs; [
# Base de données

View File

@@ -0,0 +1,32 @@
Config { font = "xft:Monospace-10:bold"
, additionalFonts = []
, border = NoBorder
, bgColor = "black"
, fgColor = "white"
, alpha = 255
, position = Top
--, textOffset = -1
--, iconOffset = -1
, lowerOnStart = False
, pickBroadest = False
, persistent = False
, hideOnStart = False
, iconRoot = "."
, allDesktops = True
, overrideRedirect = True
, commands = [ Run DynNetwork ["-L","0","-H","32","--normal","green","--high","red"] 10
, Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10
, Run Memory ["-t","Mem: <usedratio>%"] 10
, Run Battery ["-t", "Batt: <left>%, <watts>W -> <timeleft>"] 10
, Run Date "%F %H:%M:%S" "date" 10
--, Run Date "%a %b %_d %Y %H:%M:%S" "date" 10
, Run StdinReader
, Run Brightness [] 10
, Run Volume "default" "Master" [] 10
]
, sepChar = "%"
, alignSep = "}{"
, template = " %StdinReader% }\
\{ %cpu% | %memory% | %dynnetwork% | %battery% | %bright% | %default:Master% | <fc=#ee9a00>%date%</fc>"
}

View File

@@ -0,0 +1,47 @@
import Graphics.X11.ExtraTypes.XF86
import XMonad
import XMonad.Config.Desktop
import XMonad.Config.Azerty
import XMonad.Hooks.DynamicLog
import XMonad.Util.EZConfig
-- # Ligne principale
main = xmonad =<< xmobar myConfig
--main = xmonad =<< statusBar myBar myPP toggleStrutsKey myConfig
-- # Réglages de xmonad
myConfig = azertyConfig
{ terminal = "sakura"
, modMask = mod4Mask
, borderWidth = 2
, workspaces = myWorkspaces
} `additionalKeys` myKeys `removeKeys` unusefulKeys
myWorkspaces = ["1:mail","2:chat","3:web","4","5","6","7","8", "9:system"]
myKeys = [ ((0, xF86XK_MonBrightnessUp), spawn "xbacklight +10") -- +brightness
, ((0, xF86XK_MonBrightnessDown), spawn "xbacklight -10") -- -brightness
, ((0, xF86XK_AudioRaiseVolume), spawn "amixer set Master 3%+") -- +volume
, ((0, xF86XK_AudioLowerVolume), spawn "amixer set Master 3%-") -- -volume
, ((0, xF86XK_AudioMute), spawn "amixer set Master toggle") -- mute volume
, ((0, xF86XK_AudioPlay), spawn "cmus-remote -u") -- cmus play/stop
, ((0, xF86XK_AudioPrev), spawn "cmus-remote -r") -- cmus next
, ((0, xF86XK_AudioNext), spawn "cmus-remote -n") -- cmus previous
]
unusefulKeys = []
-- # Réglages de xmobar
myBar = "xmobar"
-- Custom PP, configure it as you like. It determines what is being written to the bar.
myPP = xmobarPP
{ ppCurrent = xmobarColor "black" "yellow" . wrap " " " "
}
-- Key binding to toggle the gap for the bar.
toggleStrutsKey XConfig {XMonad.modMask = modMask} = (modMask, xK_b)

View File

@@ -29,9 +29,6 @@ mkIf profiles.isDesktop {
lz4
lzop
# Mail
postfix
# Système de fichier
curlftpfs
gparted

View File

@@ -35,9 +35,9 @@ mkIf profiles.isDesktop {
graphviz # dot, neato : traçage de graphes (carré, rond)
jekyll # générateur statique de site web
pandoc
#texLiveFull # distribution LaTeX
texLive # distribution LaTeX de base
texLiveBeamer # paquets et extensions pour Beamer
texLiveModerncv # paquets pour la classe Modern CV
texLiveFull # distribution LaTeX
#texLive # distribution LaTeX de base
#texLiveBeamer # paquets et extensions pour Beamer
#texLiveModerncv # paquets pour la classe Modern CV
];
}

View File

@@ -11,7 +11,10 @@ mkIf profiles.isDesktop {
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
];
}

View File

@@ -11,13 +11,13 @@ mkIf profiles.isDesktop {
environment.systemPackages = with pkgs; [
# Multimedia
picard # gestion des métadonnées des fichiers musicaux
## Audio
audacity # montage audio
beep
cmus # lecteur audio console
easytag # gestion des métadonnées des fichiers musicaux
picard # gestion des métadonnées des fichiers musicaux
espeak # synthèse vocale
paprefs # préferences pulseaudio
pavucontrol # mixer pulseaudio

View File

@@ -11,11 +11,11 @@ mkIf profiles.isDesktop {
environment.systemPackages = with pkgs; [
# Outils réseau
iperf
iptraf-ng
nload
iperf # outil de mesure de la qualité du réseau
iptraf-ng # outil de mesure de la qualité du réseau
nload # affichage de statisques d'utilisation instantannées du réseau
telnet
vsftpd
#vsftpd # serveur FTP
## Diagnostic
arp-scan
@@ -23,10 +23,10 @@ mkIf profiles.isDesktop {
whois
## Routage
quagga
quagga # daemon de routage
## Tunnel
openvpn
# openvpn
tinc
];

View File

@@ -0,0 +1,15 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf;
cfg = config.r6d.config-generator;
computers = config.r6d.computers;
profiles = config.r6d.profiles;
in
mkIf profiles.isDesktop {
environment.systemPackages = with pkgs; [
];
}

View File

@@ -11,18 +11,20 @@ in
imports = [ # applications :
# commandées par config-generator
./activation-manuelle/app-awesome.nix # pour les profils awesome
./activation-manuelle/app-cao.nix # de conception assisté par ordinateur & modélisation
./activation-manuelle/app-developpement.nix # utilisée pour développer des programmes/scripts
./activation-manuelle/app-docker.nix # pour activer docker
./activation-manuelle/app-jeux.nix # permettant de jouer ;)
./activation-manuelle/app-virtualbox.nix # pour exploiter virtualbox
./activation-manuelle/laptop.nix # appli & configuration adaptée pour un PC portable$
./activation-manuelle/xmonad.nix # gestionnaire de fenêtres xmonad
./activation-manuelle/xmonad/xmonad.nix # gestionnaire de fenêtres xmonad
# installées systématiquement
./desktop-minimal.nix
./app-adminsys.nix # pour gérer le système dans son ensemble et les services
./app-bureautique.nix # dédiée à la bureautique (traitement de texte, dessin, ...)
./app-cao.nix # de conception assisté par ordinateur & modélisation
# A ajouter dans config-generator & revoir le contenu pour le mettre si nécessaire dans minimal
./app-cartographie.nix # utilisée pour manipuler les données géographiques & cartes
./app-client-internet.nix # pour accéder & utiliser des ressources par le réseau
./app-dev.nix # utilisée pour développer des programmes/scripts
./app-geo.nix # utilisée pour manipuler les données géographiques
./app-multimedia.nix # pour gérer le son, l'image et la vidéo
./app-network.nix # de gestion, de diagnostique & surveillance réseau
./app-securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...)

View File

@@ -0,0 +1,40 @@
{ stdenv, fetchurl
, boost
, bzip2
, cmake
, expat
, geos
, lua
, postgresql
, proj
, zlib
}
stdenv.mkDerivation rec {
#version = "0.87.1";
version = "0.90.1";
name = "osm2pgsql-${version}-0";
src = fetchurl {
url = "https://github.com/openstreetmap/osm2pgsql/archive/${version}.tar.gz";
sha256 = "0i0zg8di8nbh96qnyyr156ikwcsq1w9b2291bazm5whb351flmqx";
};
#nativeBuildInputs = [ ];
buildInputs = [ ];
#preConfigure = ''
'';
#buildPhase = ''jam "-j$NIX_BUILD_CORES" '';
#installPhase = ''
#'';
meta = with stdenv.lib; {
homepage = http://wiki.openstreetmap.org/wiki/Osm2pgsql;
description = "osm2pgsql is a tool for loading OpenStreetMap data into a PostgreSQL / PostGIS database suitable for applications like rendering into a map, geocoding with Nominatim, or general analysis.";
license = licenses.gpl2;
#maintainers = [ maintainers.phunehehe ];
maintainers = [ maintainers.jpierre03 ];
};
}