Compare commits
15 Commits
2016-07-29
...
2016-08-06
| Author | SHA1 | Date | |
|---|---|---|---|
| a05ef8fbdc | |||
| e6fc844aaf | |||
|
|
eaa35ac70e | ||
| 2bcc6944b2 | |||
| 013b83c9a0 | |||
|
|
a5842e7763 | ||
| 06ec0979dc | |||
| 221bcd2dee | |||
| aec2f9bfe9 | |||
| a84ca742de | |||
| 256ae50aea | |||
| 35e09f59d5 | |||
| 40f547852e | |||
| 2a4c036ee4 | |||
| ee93d2f29d |
4
base.nix
4
base.nix
@@ -2,7 +2,11 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
# recettes
|
||||||
./base/base.nix
|
./base/base.nix
|
||||||
./desktop/desktop.nix
|
./desktop/desktop.nix
|
||||||
|
|
||||||
|
# moulinette de configuration
|
||||||
|
./config-generator.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,5 +11,12 @@ in {
|
|||||||
drivers = [
|
drivers = [
|
||||||
pkgs.samsung-unified-linux-driver
|
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
@@ -9,6 +9,14 @@
|
|||||||
./services.nix
|
./services.nix
|
||||||
|
|
||||||
# inclusion conditionnelle
|
# 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
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,19 +9,7 @@ let
|
|||||||
host = config.networking.hostName;
|
host = config.networking.hostName;
|
||||||
in
|
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
|
###### interface
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
@@ -43,7 +31,9 @@ in
|
|||||||
enable = mkEnableOption "Génération de la configuration d'une machine.";
|
enable = mkEnableOption "Génération de la configuration d'une machine.";
|
||||||
awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome.";
|
awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome.";
|
||||||
auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques.";
|
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.";
|
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.";
|
docker = mkEnableOption "Profil pour l'utilisation de Docker.";
|
||||||
dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS.";
|
dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS.";
|
||||||
dns_resolveur = mkEnableOption "Profil pour activer un résolveur DNS local.";
|
dns_resolveur = mkEnableOption "Profil pour activer un résolveur DNS local.";
|
||||||
@@ -127,6 +117,7 @@ in
|
|||||||
r6d.profiles.isDesktop = true;
|
r6d.profiles.isDesktop = true;
|
||||||
|
|
||||||
r6d.config-generator = {
|
r6d.config-generator = {
|
||||||
|
developpement = true;
|
||||||
docker = true;
|
docker = true;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
@@ -146,6 +137,7 @@ in
|
|||||||
})
|
})
|
||||||
(mkIf (pfl.isDubronetwork && pfl.isWorkstation) {
|
(mkIf (pfl.isDubronetwork && pfl.isWorkstation) {
|
||||||
r6d.config-generator = {
|
r6d.config-generator = {
|
||||||
|
conception-assistee = true;
|
||||||
virtualbox = true;
|
virtualbox = true;
|
||||||
xmonad = true;
|
xmonad = true;
|
||||||
};
|
};
|
||||||
@@ -167,6 +159,10 @@ in
|
|||||||
isPrunetwork = true;
|
isPrunetwork = true;
|
||||||
isServer = true;
|
isServer = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
r6d.config-generator = {
|
||||||
|
docker = true;
|
||||||
|
};
|
||||||
})
|
})
|
||||||
(mkIf comp.isRadx {
|
(mkIf comp.isRadx {
|
||||||
r6d.profiles = {
|
r6d.profiles = {
|
||||||
@@ -7,7 +7,7 @@ let
|
|||||||
profiles = config.r6d.profiles;
|
profiles = config.r6d.profiles;
|
||||||
in
|
in
|
||||||
|
|
||||||
mkIf profiles.isDesktop {
|
mkIf cfg.conception-assistee {
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# CAO
|
# CAO
|
||||||
@@ -7,7 +7,7 @@ let
|
|||||||
profiles = config.r6d.profiles;
|
profiles = config.r6d.profiles;
|
||||||
in
|
in
|
||||||
|
|
||||||
mkIf profiles.isDesktop {
|
mkIf cfg.developpement {
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Base de données
|
# Base de données
|
||||||
32
desktop/activation-manuelle/xmonad/xmobarrc
Normal file
32
desktop/activation-manuelle/xmonad/xmobarrc
Normal 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>"
|
||||||
|
}
|
||||||
|
|
||||||
47
desktop/activation-manuelle/xmonad/xmonad.hs
Normal file
47
desktop/activation-manuelle/xmonad/xmonad.hs
Normal 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)
|
||||||
|
|
||||||
@@ -35,9 +35,9 @@ mkIf profiles.isDesktop {
|
|||||||
graphviz # dot, neato : traçage de graphes (carré, rond)
|
graphviz # dot, neato : traçage de graphes (carré, rond)
|
||||||
jekyll # générateur statique de site web
|
jekyll # générateur statique de site web
|
||||||
pandoc
|
pandoc
|
||||||
#texLiveFull # distribution LaTeX
|
texLiveFull # 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
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,10 @@ mkIf profiles.isDesktop {
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Gestion de données géographiques
|
# Gestion de données géographiques
|
||||||
|
expat
|
||||||
|
gpsbabel # pour convettir les données des GPS
|
||||||
josm # outil de contribution à OpenStreetMap
|
josm # outil de contribution à OpenStreetMap
|
||||||
|
qgis # client lourd de manipulation de données géographiques
|
||||||
viking # analyse de topo, gestion de données GPS
|
viking # analyse de topo, gestion de données GPS
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -11,13 +11,13 @@ mkIf profiles.isDesktop {
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Multimedia
|
# Multimedia
|
||||||
picard # gestion des métadonnées des fichiers musicaux
|
|
||||||
|
|
||||||
## Audio
|
## Audio
|
||||||
audacity # montage audio
|
audacity # montage audio
|
||||||
beep
|
beep
|
||||||
cmus # lecteur audio console
|
cmus # lecteur audio console
|
||||||
easytag # gestion des métadonnées des fichiers musicaux
|
easytag # gestion des métadonnées des fichiers musicaux
|
||||||
|
picard # gestion des métadonnées des fichiers musicaux
|
||||||
espeak # synthèse vocale
|
espeak # synthèse vocale
|
||||||
paprefs # préferences pulseaudio
|
paprefs # préferences pulseaudio
|
||||||
pavucontrol # mixer pulseaudio
|
pavucontrol # mixer pulseaudio
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ mkIf profiles.isDesktop {
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Outils réseau
|
# Outils réseau
|
||||||
iperf
|
iperf # outil de mesure de la qualité du réseau
|
||||||
iptraf-ng
|
iptraf-ng # outil de mesure de la qualité du réseau
|
||||||
nload
|
nload # affichage de statisques d'utilisation instantannées du réseau
|
||||||
telnet
|
telnet
|
||||||
vsftpd
|
#vsftpd # serveur FTP
|
||||||
|
|
||||||
## Diagnostic
|
## Diagnostic
|
||||||
arp-scan
|
arp-scan
|
||||||
@@ -23,10 +23,10 @@ mkIf profiles.isDesktop {
|
|||||||
whois
|
whois
|
||||||
|
|
||||||
## Routage
|
## Routage
|
||||||
quagga
|
quagga # daemon de routage
|
||||||
|
|
||||||
## Tunnel
|
## Tunnel
|
||||||
openvpn
|
# openvpn
|
||||||
tinc
|
tinc
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
15
desktop/desktop-minimal.nix
Normal file
15
desktop/desktop-minimal.nix
Normal 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; [
|
||||||
|
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -11,18 +11,20 @@ in
|
|||||||
imports = [ # applications :
|
imports = [ # applications :
|
||||||
# commandées par config-generator
|
# commandées par config-generator
|
||||||
./activation-manuelle/app-awesome.nix # pour les profils awesome
|
./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-docker.nix # pour activer docker
|
||||||
./activation-manuelle/app-jeux.nix # permettant de jouer ;)
|
./activation-manuelle/app-jeux.nix # permettant de jouer ;)
|
||||||
./activation-manuelle/app-virtualbox.nix # pour exploiter virtualbox
|
./activation-manuelle/app-virtualbox.nix # pour exploiter virtualbox
|
||||||
./activation-manuelle/laptop.nix # appli & configuration adaptée pour un PC portable$
|
./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
|
# installées systématiquement
|
||||||
|
./desktop-minimal.nix
|
||||||
./app-adminsys.nix # pour gérer le système dans son ensemble et les services
|
./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-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-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-multimedia.nix # pour gérer le son, l'image et la vidéo
|
||||||
./app-network.nix # de gestion, de diagnostique & surveillance réseau
|
./app-network.nix # de gestion, de diagnostique & surveillance réseau
|
||||||
./app-securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...)
|
./app-securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...)
|
||||||
|
|||||||
40
logiciel-custom/osm2pgsql.nix
Normal file
40
logiciel-custom/osm2pgsql.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user