Compare commits
24 Commits
2017-01-29
...
2017-02-25
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8845300555 | ||
| dce783708c | |||
| f2305d0a81 | |||
| a6e957afae | |||
| edfac07129 | |||
| 7799eb106f | |||
|
|
754a1ec934 | ||
|
|
80f7b32af6 | ||
|
|
5cd1cd0e6f | ||
|
|
fae4a8237c | ||
|
|
5f09c0896d | ||
|
|
2244b917ac | ||
| 458362bece | |||
| b4b213e836 | |||
| cc7f911141 | |||
| 4ffd71f10f | |||
|
|
07cf33a086 | ||
| f3741782e3 | |||
| b8c3447767 | |||
| eb3a945c7c | |||
| 6f19fdec07 | |||
| 91e81d50a6 | |||
|
|
293dd76025 | ||
| 65a21c197c |
15
Makefile
15
Makefile
@@ -1,17 +1,18 @@
|
|||||||
GSF=git submodule foreach
|
GSF=git submodule foreach
|
||||||
|
TIME=time
|
||||||
|
|
||||||
all: rebuild-switch
|
all: rebuild-switch
|
||||||
date
|
date
|
||||||
##--------- Commandes spécifiques pour NixOS
|
##--------- Commandes spécifiques pour NixOS
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
nix-collect-garbage -d --delete-older-than 15d
|
$(TIME) nix-collect-garbage -d --delete-older-than 15d
|
||||||
|
|
||||||
clean-aggressive:
|
clean-aggressive:
|
||||||
nix-collect-garbage -d --delete-older-than 1d
|
$(TIME) nix-collect-garbage -d --delete-older-than 1d
|
||||||
|
|
||||||
clean-total:
|
clean-total:
|
||||||
nix-collect-garbage -d
|
$(TIME) nix-collect-garbage -d
|
||||||
|
|
||||||
clean-log:
|
clean-log:
|
||||||
journalctl --vacuum-size=1G
|
journalctl --vacuum-size=1G
|
||||||
@@ -20,19 +21,19 @@ full-auto: submodules-update upgrade clean optimise
|
|||||||
@date
|
@date
|
||||||
|
|
||||||
optimise:
|
optimise:
|
||||||
nix-store --optimise
|
$(TIME) nix-store --optimise
|
||||||
|
|
||||||
rebuild-switch:
|
rebuild-switch:
|
||||||
nixos-rebuild switch --fallback --show-trace
|
$(TIME) time nixos-rebuild switch --fallback --show-trace
|
||||||
|
|
||||||
show-roots:
|
show-roots:
|
||||||
nix-store --gc --print-roots
|
nix-store --gc --print-roots
|
||||||
|
|
||||||
store-repair:
|
store-repair:
|
||||||
nix-store --verify --check-contents --repair
|
$(TIME) nix-store --verify --check-contents --repair
|
||||||
|
|
||||||
upgrade:
|
upgrade:
|
||||||
nixos-rebuild switch --upgrade --fallback --show-trace
|
$(TIME) nixos-rebuild switch --upgrade --fallback --show-trace
|
||||||
|
|
||||||
##--------- Commandes spécifiques pour NixOS -- Opérations non courantes
|
##--------- Commandes spécifiques pour NixOS -- Opérations non courantes
|
||||||
|
|
||||||
|
|||||||
@@ -14,9 +14,14 @@ mkIf cfg.nix-serve-client {
|
|||||||
requireSignedBinaryCaches = false;
|
requireSignedBinaryCaches = false;
|
||||||
binaryCaches = [
|
binaryCaches = [
|
||||||
(mkIf (profiles.isDubronetwork && (! computers.isPedro) && (! computers.isRollo)) "http://nix-cache.dubronetwork.fr:5001")
|
(mkIf (profiles.isDubronetwork && (! computers.isPedro) && (! computers.isRollo)) "http://nix-cache.dubronetwork.fr:5001")
|
||||||
|
#(mkIf (profiles.isDubronetwork && computers.isPhenom) "http://latitude.grudu.net:5000")
|
||||||
|
(mkIf (profiles.isDubronetwork && computers.isPhenom) "http://monstre.grudu.net:5000")
|
||||||
|
(mkIf (profiles.isDubronetwork && computers.isPhenom) "http://radx.grudu.net:5000")
|
||||||
|
|
||||||
(mkIf profiles.isPrunetwork "https://cache.nixos.org/")
|
(mkIf profiles.isPrunetwork "https://cache.nixos.org/")
|
||||||
(mkIf (profiles.isPrunetwork && !profiles.isServer) "http://nix-cache.dubronetwork.fr:5001")
|
(mkIf (profiles.isPrunetwork && !profiles.isServer) "http://nix-cache.dubronetwork.fr:5001")
|
||||||
|
(mkIf (profiles.isPrunetwork && computers.isRadx) "http://monstre.grudu.net:5000")
|
||||||
|
(mkIf (profiles.isPrunetwork && computers.isRadx) "http://phenom.grudu.net:5000")
|
||||||
];
|
];
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
connect-timeout = 5
|
connect-timeout = 5
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ in
|
|||||||
conception-assistee = mkEnableOption "Profil pour activer les outils de conception électronique & modélisation 3D";
|
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";
|
developpement = mkEnableOption "Profil pour activer les outils de développement";
|
||||||
|
developpement-elm = mkEnableOption "Profil pour activer les outils de développement Elm";
|
||||||
developpement-haskell = mkEnableOption "Profil pour activer les outils de développement Haskell";
|
developpement-haskell = mkEnableOption "Profil pour activer les outils de développement Haskell";
|
||||||
developpement-java = mkEnableOption "Profil pour activer les outils de développement Java";
|
developpement-java = mkEnableOption "Profil pour activer les outils de développement Java";
|
||||||
developpement-rust = mkEnableOption "Profil pour activer les outils de développement Rust";
|
developpement-rust = mkEnableOption "Profil pour activer les outils de développement Rust";
|
||||||
@@ -102,25 +103,7 @@ in
|
|||||||
# https://nixos.org/releases/nixos/14.12-small/nixos-14.12.374.61adf9e/manual/sec-writing-modules.html
|
# https://nixos.org/releases/nixos/14.12-small/nixos-14.12.374.61adf9e/manual/sec-writing-modules.html
|
||||||
# https://nixos.org/wiki/NixOS:extend_NixOS
|
# https://nixos.org/wiki/NixOS:extend_NixOS
|
||||||
config = mkMerge
|
config = mkMerge
|
||||||
[ # Unconditional stuff.
|
[
|
||||||
{
|
|
||||||
#r6d.config-generator.enable = true;
|
|
||||||
# r6d.computers = {
|
|
||||||
# isHydra = host == "hydra.prunetwork.fr";
|
|
||||||
# isLatitude = host == "latitude.dubronetwork.fr";
|
|
||||||
# isMonstre = host == "monstre.dubronetwork.fr";
|
|
||||||
# isNeoNomade = host == "neo-nomade.dubronetwork.fr";
|
|
||||||
# isNomade = host == "nomade.dubronetwork.fr";
|
|
||||||
# isOcean = host == "ocean.prunetwork.fr";
|
|
||||||
# isPedro = host == "pedro.dubronetwork.fr";
|
|
||||||
# isPhenom = host == "phenom.dubronetwork.fr";
|
|
||||||
# isRadx = host == "radx.prunetwork.fr";
|
|
||||||
# isRollo = host == "rollo.dubronetwork.fr";
|
|
||||||
# };
|
|
||||||
}
|
|
||||||
|
|
||||||
# Conditional stuff
|
|
||||||
|
|
||||||
## Définition des profils génériques
|
## Définition des profils génériques
|
||||||
(mkIf pfl.isDesktop {
|
(mkIf pfl.isDesktop {
|
||||||
r6d.config-generator = {
|
r6d.config-generator = {
|
||||||
@@ -171,6 +154,7 @@ in
|
|||||||
conception-assistee = true;
|
conception-assistee = true;
|
||||||
docker = true;
|
docker = true;
|
||||||
developpement = true;
|
developpement = true;
|
||||||
|
developpement-elm = true;
|
||||||
developpement-haskell = true;
|
developpement-haskell = true;
|
||||||
developpement-java = true;
|
developpement-java = true;
|
||||||
developpement-rust = true;
|
developpement-rust = true;
|
||||||
@@ -195,21 +179,27 @@ in
|
|||||||
(mkIf (pfl.isPrunetwork && pfl.isWorkstation) {
|
(mkIf (pfl.isPrunetwork && pfl.isWorkstation) {
|
||||||
r6d.config-generator = {
|
r6d.config-generator = {
|
||||||
cartographie = true;
|
cartographie = true;
|
||||||
|
conception-assistee = true;
|
||||||
|
docker = true;
|
||||||
developpement = true;
|
developpement = true;
|
||||||
|
#developpement-elm = true;
|
||||||
developpement-haskell = true;
|
developpement-haskell = true;
|
||||||
developpement-java = true;
|
developpement-java = true;
|
||||||
#developpement-rust = true;
|
developpement-rust = true;
|
||||||
#edition-musique = true;
|
edition-musique = true;
|
||||||
edition-photo = true;
|
edition-photo = true;
|
||||||
#edition-video = true;
|
edition-video = true;
|
||||||
|
hydra-core = false; # DO NOT ENABLE ON WORKSTATION, YOU CAN CRASH YOUR SYSTEM
|
||||||
print = true;
|
print = true;
|
||||||
virtualbox = true;
|
#virtualbox = true;
|
||||||
|
#xmonad = true;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
## Affectation des profils aux machines
|
## Affectation des profils aux machines
|
||||||
(mkIf comp.isHydra {
|
(mkIf comp.isHydra {
|
||||||
|
networking.hostName = "hydra.prunetwork.fr"; # Define your hostname.
|
||||||
r6d.profiles = {
|
r6d.profiles = {
|
||||||
isPrunetwork = true;
|
isPrunetwork = true;
|
||||||
isServer = true;
|
isServer = true;
|
||||||
@@ -226,6 +216,7 @@ in
|
|||||||
};
|
};
|
||||||
})
|
})
|
||||||
(mkIf comp.isOcean {
|
(mkIf comp.isOcean {
|
||||||
|
networking.hostName = "ocean.prunetwork.fr"; # Define your hostname.
|
||||||
r6d.profiles = {
|
r6d.profiles = {
|
||||||
isPrunetwork = true;
|
isPrunetwork = true;
|
||||||
isServer = true;
|
isServer = true;
|
||||||
@@ -241,6 +232,7 @@ in
|
|||||||
};
|
};
|
||||||
})
|
})
|
||||||
(mkIf comp.isRadx {
|
(mkIf comp.isRadx {
|
||||||
|
networking.hostName = "radx.prunetwork.fr"; # Define your hostname.
|
||||||
r6d.profiles = {
|
r6d.profiles = {
|
||||||
isHome = true;
|
isHome = true;
|
||||||
isPrunetwork = true;
|
isPrunetwork = true;
|
||||||
@@ -248,10 +240,13 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
r6d.config-generator = {
|
r6d.config-generator = {
|
||||||
|
database_postgres = true;
|
||||||
elasticsearch = true;
|
elasticsearch = true;
|
||||||
hydra-builder = true;
|
hydra-builder = true;
|
||||||
hydra-core = true;
|
#hydra-core = false; # DO NOT ENABLE ON WORKSTATION
|
||||||
kibana = true;
|
kibana = true;
|
||||||
|
nix-serve-client = true;
|
||||||
|
nix-serve-server = true;
|
||||||
rabbitmq = true;
|
rabbitmq = true;
|
||||||
tincAddress = "192.168.12.3/24";
|
tincAddress = "192.168.12.3/24";
|
||||||
tincExtraConfig = ''
|
tincExtraConfig = ''
|
||||||
@@ -316,6 +311,8 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
# Dubro Vivo - St Malo
|
||||||
|
#tincAddress = "192.168.12.8/24";
|
||||||
(mkIf comp.isNomade{
|
(mkIf comp.isNomade{
|
||||||
r6d.profiles.isDubronetwork = true;
|
r6d.profiles.isDubronetwork = true;
|
||||||
|
|
||||||
@@ -344,6 +341,7 @@ in
|
|||||||
r6d.config-generator = {
|
r6d.config-generator = {
|
||||||
jetbrains-licensed = true;
|
jetbrains-licensed = true;
|
||||||
#hydra-core = true;
|
#hydra-core = true;
|
||||||
|
nix-serve-client = true;
|
||||||
nix-serve-server = true;
|
nix-serve-server = true;
|
||||||
edition-photo = true;
|
edition-photo = true;
|
||||||
tincAddress = "192.168.12.1/24";
|
tincAddress = "192.168.12.1/24";
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ in
|
|||||||
fira-code # idem fira-mono + ligatures pour la programmation
|
fira-code # idem fira-mono + ligatures pour la programmation
|
||||||
fira-mono # dérivée de fira en monospace
|
fira-mono # dérivée de fira en monospace
|
||||||
hack-font # police monospace créée explicitement pour coder
|
hack-font # police monospace créée explicitement pour coder
|
||||||
|
hasklig # police dérivée de source-code-pro mais avec des ligatures
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.config.packageOverrides = pkgs: {
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ environment.systemPackages = with pkgs; [
|
|||||||
## Mail & Discussion (texte, audio)
|
## Mail & Discussion (texte, audio)
|
||||||
clawsMail
|
clawsMail
|
||||||
hexchat
|
hexchat
|
||||||
|
quassel
|
||||||
quasselClient
|
quasselClient
|
||||||
mumble
|
mumble
|
||||||
mutt
|
mutt
|
||||||
|
|||||||
26
public/app-developpement-elm.nix
Normal file
26
public/app-developpement-elm.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf cfg.developpement-elm {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
elmPackages.elm
|
||||||
|
];
|
||||||
|
|
||||||
|
# Services
|
||||||
|
|
||||||
|
# Réseau
|
||||||
|
networking.firewall = {
|
||||||
|
allowedTCPPorts = [
|
||||||
|
];
|
||||||
|
allowedUDPPorts = [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -19,6 +19,8 @@ mkIf cfg.developpement-haskell {
|
|||||||
|
|
||||||
haskellPackages.stylish-haskell # qualité de code
|
haskellPackages.stylish-haskell # qualité de code
|
||||||
haskellPackages.hindent
|
haskellPackages.hindent
|
||||||
|
haskellPackages.hlint
|
||||||
|
haskellPackages.threadscope
|
||||||
|
|
||||||
# Application perso
|
# Application perso
|
||||||
haskellPackages.hahp
|
haskellPackages.hahp
|
||||||
|
|||||||
@@ -14,5 +14,13 @@ mkIf cfg.edition-video {
|
|||||||
# Vidéo
|
# Vidéo
|
||||||
#cinelerra # editeur video
|
#cinelerra # editeur video
|
||||||
pitivi # montage vidéo
|
pitivi # montage vidéo
|
||||||
|
ffmpeg-full # assemblage de flux audio & video en ligne de commande
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
ffmpeg-full = pkgs.ffmpeg-full.override {
|
||||||
|
nonfreeLicensing = true;
|
||||||
|
nvenc = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -343,8 +343,8 @@ globalkeys = awful.util.table.join(
|
|||||||
awful.key({ modkey }, "F7", function () awful.util.spawn("claws-mail") end),
|
awful.key({ modkey }, "F7", function () awful.util.spawn("claws-mail") end),
|
||||||
awful.key({ modkey }, "F12", function () awful.util.spawn("slock") end),
|
awful.key({ modkey }, "F12", function () awful.util.spawn("slock") end),
|
||||||
awful.key({ modkey, "Shift" }, "F1", function () awful.util.spawn("claws-mail") end),
|
awful.key({ modkey, "Shift" }, "F1", function () awful.util.spawn("claws-mail") end),
|
||||||
awful.key({ modkey, "Shift" }, "F3", function () awful.util.spawn("pcmanfm") end)
|
awful.key({ modkey, "Shift" }, "F3", function () awful.util.spawn("pcmanfm") end),
|
||||||
-- awful.key({ modkey }, "F11", function () awful.util.spawn("/home/taeradan/bin/xrandr-auto") end),
|
awful.key({ modkey }, "F11", function () awful.util.spawn("xrandr-auto") end)
|
||||||
-- awful.key({ modkey, "Shift" }, "F11", function () awful.util.spawn("/home/taeradan/bin/xrandr-left") end),
|
-- awful.key({ modkey, "Shift" }, "F11", function () awful.util.spawn("/home/taeradan/bin/xrandr-left") end),
|
||||||
-- awful.key({ modkey, "Control" }, "F11", function () awful.util.spawn("/home/taeradan/bin/xrandr-right") end),
|
-- awful.key({ modkey, "Control" }, "F11", function () awful.util.spawn("/home/taeradan/bin/xrandr-right") end),
|
||||||
|
|
||||||
@@ -564,6 +564,6 @@ client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_n
|
|||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
-- Au démarrage
|
-- Au démarrage
|
||||||
-- awful.util.spawn_with_shell("/home/taeradan/bin/xrandr-auto")
|
awful.util.spawn_with_shell("xrandr-auto || true")
|
||||||
-- awful.util.spawn_with_shell("gnome-sound-applet")
|
-- awful.util.spawn_with_shell("gnome-sound-applet")
|
||||||
-- awful.util.spawn_with_shell("nm-applet")
|
-- awful.util.spawn_with_shell("nm-applet")
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
status = auto
|
status = auto
|
||||||
[alias]
|
[alias]
|
||||||
a = add -p
|
a = add -p
|
||||||
|
br = for-each-ref --sort=committerdate refs/heads/ --format='%(committerdate:short)\t%(authorname)\t%(refname:short)'
|
||||||
ci = commit
|
ci = commit
|
||||||
co = checkout
|
co = checkout
|
||||||
ff = pull --ff-only
|
ff = pull --ff-only
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ in
|
|||||||
./app-cao.nix # de conception assisté par ordinateur & modélisation
|
./app-cao.nix # de conception assisté par ordinateur & modélisation
|
||||||
./app-cartographie.nix # manipuler les données géographiques & cartes
|
./app-cartographie.nix # manipuler les données géographiques & cartes
|
||||||
./app-developpement.nix # développer des programmes/scripts
|
./app-developpement.nix # développer des programmes/scripts
|
||||||
|
./app-developpement-elm.nix # développer en elm
|
||||||
./app-developpement-haskell.nix # développer en haskell
|
./app-developpement-haskell.nix # développer en haskell
|
||||||
./app-developpement-java.nix # développer en java
|
./app-developpement-java.nix # développer en java
|
||||||
./app-developpement-jetbrains.nix # outils jetbrains
|
./app-developpement-jetbrains.nix # outils jetbrains
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ mkIf true {
|
|||||||
};
|
};
|
||||||
systemd.services.munin-node = {
|
systemd.services.munin-node = {
|
||||||
path = [ pkgs.munin pkgs.lm_sensors ];
|
path = [ pkgs.munin pkgs.lm_sensors ];
|
||||||
serviceConfig.TimeoutStartSec = "3min";
|
serviceConfig.TimeoutStartSec = "1min";
|
||||||
};
|
};
|
||||||
|
|
||||||
## Munin server -- generate /var/www/munin
|
## Munin server -- generate /var/www/munin
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ let
|
|||||||
profiles = config.r6d.profiles;
|
profiles = config.r6d.profiles;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
mkIf false {
|
||||||
# Définition du IO Scheduler pour les SSD
|
# Définition du IO Scheduler pour les SSD
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
# set deadline scheduler for non-rotating disks
|
# set deadline scheduler for non-rotating disks
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ vim_configurable.customize {
|
|||||||
# Here you can place all your vim plugins
|
# Here you can place all your vim plugins
|
||||||
# They are installed managed by `vam` (a vim plugin manager)
|
# They are installed managed by `vam` (a vim plugin manager)
|
||||||
#"vim-addon-nix"
|
#"vim-addon-nix"
|
||||||
|
"elm-vim"
|
||||||
"vim-nix"
|
"vim-nix"
|
||||||
"wombat256-vim"
|
"wombat256-vim"
|
||||||
]; }
|
]; }
|
||||||
|
|||||||
Reference in New Issue
Block a user