Merge remote-tracking branch 'origin/master'
commit
65064f7f8b
@ -1,48 +0,0 @@
|
|||||||
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 --fallback --show-trace
|
|
||||||
|
|
||||||
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 --fallback --show-trace
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
with pkgs.lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.r6d.config-generator;
|
|
||||||
in {
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing = mkIf cfg.print {
|
|
||||||
enable = true;
|
|
||||||
drivers = [
|
|
||||||
pkgs.samsung-unified-linux-driver
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,14 +1,12 @@
|
|||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./environment.nix
|
# recettes
|
||||||
./localisation.nix
|
./base/base.nix
|
||||||
./monitoring.nix
|
./desktop/desktop.nix
|
||||||
./networking.nix
|
|
||||||
./services.nix
|
|
||||||
|
|
||||||
# inclusion conditionnelle
|
# moulinette de configuration
|
||||||
./config-generator.nix
|
./config-generator.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -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 --fallback --show-trace
|
||||||
|
|
||||||
|
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 --fallback --show-trace
|
||||||
|
|
@ -0,0 +1,22 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
with pkgs.lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
in {
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing = mkIf cfg.print {
|
||||||
|
enable = true;
|
||||||
|
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
@ -0,0 +1,22 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./environment.nix
|
||||||
|
./localisation.nix
|
||||||
|
./monitoring.nix
|
||||||
|
./networking.nix
|
||||||
|
./services.nix
|
||||||
|
|
||||||
|
# inclusion conditionnelle
|
||||||
|
./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
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in mkIf cfg.awesome {
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
# Export the current path for the awesome derivation, useful for users rc.lua
|
||||||
|
# Example usage in rc.lua :
|
||||||
|
#
|
||||||
|
# config = {}
|
||||||
|
# config.dir = os.getenv("AWESOME_CONFIG_DIR")
|
||||||
|
# beautiful.init(config.dir .. "/share/awesome//themes/zenburn/theme.lua")
|
||||||
|
#
|
||||||
|
AWESOME_CONFIG_DIR = "${pkgs.awesome}";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.conception-assistee {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# CAO
|
||||||
|
## Modélisation 3D
|
||||||
|
freecad # modélisation de pièces en 3D
|
||||||
|
povray # Rendu tracé de rayon, utilisé dans freecad
|
||||||
|
|
||||||
|
## Électricité & Électronique
|
||||||
|
fritzing # schéma de câblages "jolis"
|
||||||
|
kicad # ensemble d'outils de conception électronique
|
||||||
|
qucs # simulateur de circuits électroniques
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,44 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.developpement {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Base de données
|
||||||
|
pgadmin
|
||||||
|
sqlitebrowser
|
||||||
|
|
||||||
|
# Développement
|
||||||
|
cloc
|
||||||
|
idea.idea-community
|
||||||
|
gcc # pour les appels depuis les scripts
|
||||||
|
|
||||||
|
# Documentation
|
||||||
|
zeal
|
||||||
|
|
||||||
|
## Gestion des sources
|
||||||
|
# git # déjà présent dans "base"
|
||||||
|
git-cola
|
||||||
|
mercurial
|
||||||
|
subversion
|
||||||
|
|
||||||
|
## Haskell
|
||||||
|
ghc
|
||||||
|
stack
|
||||||
|
|
||||||
|
## Rust
|
||||||
|
cargo # récupération des dépendances + compilation projet rust
|
||||||
|
rustPlatform.rustc
|
||||||
|
|
||||||
|
## Visualisation & outils de diff
|
||||||
|
gource
|
||||||
|
meld
|
||||||
|
vbindiff # diff de fichier hexadecimaux avec vim
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
|
||||||
|
in mkIf cfg.docker {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Ecosystème Docker
|
||||||
|
docker
|
||||||
|
python27Packages.docker_compose
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
}
|
@ -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 cfg.jeux {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Jeux
|
||||||
|
urbanterror
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
|
||||||
|
in mkIf cfg.virtualbox {
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
linuxPackages.virtualbox
|
||||||
|
linuxPackages.virtualboxGuestAdditions
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation.virtualbox.host.enable = true;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
|
||||||
|
in mkIf cfg.laptop {
|
||||||
|
# Paquets spécifiques pour un ordinateur portable
|
||||||
|
|
||||||
|
## Activation d'un gestionnaire de réseau
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
networkmanagerapplet
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver.synaptics = {
|
||||||
|
enable = true;
|
||||||
|
twoFingerScroll = true;
|
||||||
|
};
|
||||||
|
}
|
@ -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>"
|
||||||
|
}
|
||||||
|
|
@ -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)
|
||||||
|
|
@ -0,0 +1,24 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
|
||||||
|
in mkIf cfg.xmonad {
|
||||||
|
# Paquets spécifiques pour xmonad
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs;[
|
||||||
|
dmenu
|
||||||
|
haskellPackages.xmobar
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver.windowManager.xmonad = {
|
||||||
|
enable = true;
|
||||||
|
enableContribAndExtras = true;
|
||||||
|
extraPackages = haskellPackages: [
|
||||||
|
haskellPackages.xmobar
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
{ 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; [
|
||||||
|
# Adminsys
|
||||||
|
iotop
|
||||||
|
lm_sensors
|
||||||
|
lshw
|
||||||
|
lsof
|
||||||
|
ntp
|
||||||
|
powerline-fonts
|
||||||
|
powertop
|
||||||
|
python27Packages.ansible2
|
||||||
|
python27Packages.glances
|
||||||
|
usbutils
|
||||||
|
|
||||||
|
# DNS
|
||||||
|
unbound
|
||||||
|
|
||||||
|
# Compression
|
||||||
|
lz4
|
||||||
|
lzop
|
||||||
|
|
||||||
|
# Mail
|
||||||
|
postfix
|
||||||
|
|
||||||
|
# Système de fichier
|
||||||
|
curlftpfs
|
||||||
|
gparted
|
||||||
|
inotify-tools
|
||||||
|
nfs-utils
|
||||||
|
ntfs3g
|
||||||
|
sshfsFuse
|
||||||
|
|
||||||
|
#
|
||||||
|
unetbootin # création de clefs USB bootables
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
{ 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; [
|
||||||
|
# Bureautique
|
||||||
|
aspell aspellDicts.fr
|
||||||
|
dia
|
||||||
|
gnumeric
|
||||||
|
|
||||||
|
## Cartes mentales
|
||||||
|
freemind
|
||||||
|
|
||||||
|
## Editeur de texte
|
||||||
|
lyx # surcouche WISIWIM à LaTeX
|
||||||
|
textadept # un éditeur de texte facile pour copier-coller graphique
|
||||||
|
zim # outil de prise de notes, wiki de bureau
|
||||||
|
|
||||||
|
## Visionneuse
|
||||||
|
kde5.okular # pdf
|
||||||
|
mcomix # livres (cbr, liste d'images), gestion d'une bibliothèque
|
||||||
|
pdfpc # pdf
|
||||||
|
qpdfview # pdf
|
||||||
|
gqview # visionneuse image & gestion basique de collection
|
||||||
|
|
||||||
|
## Convertisseurs (texte -> <autre format>)
|
||||||
|
gnuplot # générateur de graphes à partir de données numériques
|
||||||
|
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
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
{ 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; [
|
||||||
|
# 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
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
{ 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; [
|
||||||
|
# Clients Internet
|
||||||
|
|
||||||
|
## Navigateur & Réseaux sociaux
|
||||||
|
chromium
|
||||||
|
firefox
|
||||||
|
python27Packages.turses # client twitter en ncurse
|
||||||
|
|
||||||
|
## Mail & Discussion (texte, audio)
|
||||||
|
clawsMail
|
||||||
|
kde5.quasselClient
|
||||||
|
mumble
|
||||||
|
mutt
|
||||||
|
pidgin
|
||||||
|
thunderbird
|
||||||
|
|
||||||
|
# Transfert de fichier
|
||||||
|
filezilla
|
||||||
|
transmission_gtk
|
||||||
|
transmission_remote_gtk
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
{ 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; [
|
||||||
|
# Multimedia
|
||||||
|
|
||||||
|
## 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
|
||||||
|
vorbis-tools # codec
|
||||||
|
|
||||||
|
## Video
|
||||||
|
smplayer # lecteur vidéo
|
||||||
|
vlc # lecteur vidéo
|
||||||
|
|
||||||
|
## Photo & Dessin vectoriel
|
||||||
|
exif
|
||||||
|
exiftags
|
||||||
|
gimp # logiciel d'édition/montage/retouche photo
|
||||||
|
inkscape # édition d'image vectorielle (svg & autre)
|
||||||
|
imagemagick # modification image en CLI
|
||||||
|
kde4.ksnapshot
|
||||||
|
rawtherapee # développemen de photos en RAW
|
||||||
|
|
||||||
|
### TEST d'outil de gestion de catalogue de photos
|
||||||
|
kde4.digikam # gestionnaire de bibliothèque de photo
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
{ 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; [
|
||||||
|
# Outils réseau
|
||||||
|
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 # serveur FTP
|
||||||
|
|
||||||
|
## Diagnostic
|
||||||
|
arp-scan
|
||||||
|
wireshark
|
||||||
|
whois
|
||||||
|
|
||||||
|
## Routage
|
||||||
|
quagga # daemon de routage
|
||||||
|
|
||||||
|
## Tunnel
|
||||||
|
# openvpn
|
||||||
|
tinc
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.firewall = {
|
||||||
|
allowedTCPPorts = [5201]; # iperf
|
||||||
|
allowedUDPPorts = [5201]; # iperf
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
{ 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; [
|
||||||
|
# Securité
|
||||||
|
gnome3.seahorse # gestionnaire graphique de clef GPG
|
||||||
|
pass # gestionnaire de mots de passe
|
||||||
|
pwgen # générateur de mots de passe
|
||||||
|
slock # vérouiller l''écran. "cannot disable the out-of-memory killer for this process (make sure to suid or sgid slock)" --> en root
|
||||||
|
yubikey-personalization-gui # utilisation de la clef Yubikey
|
||||||
|
];
|
||||||
|
}
|
@ -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; [
|
||||||
|
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,107 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
mkIf = pkgs.lib.mkIf;
|
||||||
|
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/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, ...)
|
||||||
|
# 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-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, ...)
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; mkIf profiles.isDesktop [
|
||||||
|
# Environement de bureau
|
||||||
|
wmname # pour définir le nom du gestionnaire de fenêtre (utile pour java)
|
||||||
|
kde4.ksnapshot# capture d'écran
|
||||||
|
xorg.xbacklight # pour gérer la luminosité de l'écran
|
||||||
|
xorg.xev # pour repérer les codes + noms standard des actions clavier/souris
|
||||||
|
xorg.xkill # pour 'tuer une application'
|
||||||
|
|
||||||
|
## Gestionnaire de fenêtre & Thème
|
||||||
|
gnome.gnome_icon_theme # thème d'icone - semble fonctionner avec spaceFM
|
||||||
|
|
||||||
|
## Manipulation de fichier
|
||||||
|
pcmanfm # gestionnaire de fichiers graphique
|
||||||
|
spaceFM # gestionnaire de fichiers graphique
|
||||||
|
vifm # gestionnaire de fichiers basé sur VIM (console)
|
||||||
|
|
||||||
|
## Terminal
|
||||||
|
sakura # terminal
|
||||||
|
|
||||||
|
# A trier
|
||||||
|
cowsay
|
||||||
|
fgallery # générateur de gallerie statique http://www.thregr.org/~wavexx/software/fgallery/
|
||||||
|
samba
|
||||||
|
taskwarrior # gestionnaire de tâches en console
|
||||||
|
udevil # pour le montage des media amovibles
|
||||||
|
xclip # manipulation du clipboard X depuis la console
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
clawsMail = pkgs.clawsMail.override { enablePluginFancy = true; };
|
||||||
|
mumble = pkgs.mumble.override { pulseSupport = true; };
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver = mkIf profiles.isDesktop {
|
||||||
|
enable = true;
|
||||||
|
layout = "fr";
|
||||||
|
xkbOptions = "eurosign:e";
|
||||||
|
displayManager.lightdm.enable = true;
|
||||||
|
windowManager.awesome.enable = true;
|
||||||
|
startGnuPGAgent = true;
|
||||||
|
startOpenSSHAgent = false; # pas compatible avec l'agent GnuPG
|
||||||
|
inputClassSections = [''
|
||||||
|
Identifier "Marble Mouse"
|
||||||
|
MatchProduct "Logitech USB Trackball"
|
||||||
|
MatchIsPointer "on"
|
||||||
|
MatchDevicePath "/dev/input/event*"
|
||||||
|
Driver "evdev"
|
||||||
|
# Physical button #s: A b D - - - - B C b = A & D simultaneously; - = no button
|
||||||
|
#Option "ButtonMapping" "1 8 3 4 5 6 7 2 2" # For right-hand placement
|
||||||
|
#Option "ButtonMapping" "3 8 1 4 5 6 7 2 2" # For left-hand placement
|
||||||
|
|
||||||
|
# EmulateWheel refers to emulating a mouse wheel using Marble Mouse trackball.
|
||||||
|
Option "EmulateWheel" "true"
|
||||||
|
Option "EmulateWheelButton" "8" # Factory default; use "9" for left-side placement.
|
||||||
|
|
||||||
|
# EmulateWheelInertia specifies how far (in pixels) the pointer must move to
|
||||||
|
# generate button press/release events in wheel emulation mode.
|
||||||
|
Option "EmulateWheelInertia" "10" # Factory default: 50
|
||||||
|
|
||||||
|
Option "ZAxisMapping" "4 5"
|
||||||
|
Option "XAxisMapping" "6 7" # Disable this for vertical-only scrolling.
|
||||||
|
# Emulate3Buttons refers to the act of pressing buttons A and D
|
||||||
|
# simultaneously to emulate a middle-click or wheel click.
|
||||||
|
Option "Emulate3Buttons" "true" # Factory default.
|
||||||
|
''];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Pulse Audio
|
||||||
|
hardware.pulseaudio = mkIf profiles.isDesktop {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
environment.etc."pulse/daemon.conf".text = "flat-volumes = no";
|
||||||
|
}
|
@ -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 ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue