diff --git a/Makefile b/Makefile index 3d4bff3..a6b3cfd 100644 --- a/Makefile +++ b/Makefile @@ -32,10 +32,10 @@ list-installed-packages: nixos-option environment.systemPackages | head -2 | tail -1 | sed -e 's/ /\n/g' | cut -d- -f2- | sort | uniq| sed -e 's/"$$//' optimise: - $(TIME) nix optimise-store + $(TIME) nix store optimise rebuild-build: - nix-channel --add https://nixos.org/channels/nixos-19.09 nixos + nix-channel --add https://nixos.org/channels/nixos-unstable nixos $(TIME) time nixos-rebuild build --fallback --show-trace rebuild-switch: @@ -58,7 +58,7 @@ store-repair: $(TIME) nix-store --verify --check-contents --repair upgrade: - nix-channel --add https://nixos.org/channels/nixos-19.09 nixos + nix-channel --add https://nixos.org/channels/nixos-unstable nixos $(TIME) nixos-rebuild switch --upgrade --fallback --show-trace ##--------- Commandes spécifiques pour NixOS -- Opérations non courantes diff --git a/README.md b/README.md index d3310e7..f01ad20 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Ce dépôt stocke une configuration générique des machines. ~~Actuellement, les scripts contiennent un peu de configuration spécifique pour les machines des mainteneurs.~~ # Liens -* http://howoldis.herokuapp.com/ pour savoir de quand datent les différentes releases de NixOS +* https://status.nixos.org/ pour savoir de quand datent les différentes releases de NixOS * https://repology.org/repository/nix_unstable/problems pour lister les paquets avec problèmes # Notes de mise-à-jour @@ -22,6 +22,7 @@ Ce dépôt stocke une configuration générique des machines. * mettre à jour les dépôts avec les dernières versions, `make submodules-update` * vérifier que `configuration.nix` contient `services.xserver.enable = true;` pour les machines avec interface graphique * vérifier que `configuration.nix` contient le nom de la machine `networking.hostName = "";` +* vérifier que `configuration.nix` contient le nom de domaine `networking.domain = "";` * tester la configuration : `nixos-rebuild build` * corriger et ajouter les éléments manquant (notamment dans `private/annuaire.nix` ) * lorsque tout semble bon, vérifier : diff --git a/applications/graphical/adminsys.nix b/applications/graphical/adminsys.nix index bfc6681..e213860 100644 --- a/applications/graphical/adminsys.nix +++ b/applications/graphical/adminsys.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/bureau.nix b/applications/graphical/bureau.nix index 1438c0e..c133e1a 100644 --- a/applications/graphical/bureau.nix +++ b/applications/graphical/bureau.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -27,10 +27,10 @@ mkIf currentMachine.profiles.isDesktopEnvironment { #kde5.dolphin # gestionnaire de fichiers graphique #kde5.dolphin-plugins # gestionnaire de fichiers graphique pcmanfm # gestionnaire de fichiers graphique - spaceFM # gestionnaire de fichiers graphique #vifm # gestionnaire de fichiers basé sur VIM (console) ## Terminal + kitty # terminal avec rendu par GPU sakura # terminal ]; @@ -42,14 +42,15 @@ mkIf currentMachine.profiles.isDesktopEnvironment { font-awesome_5 # Jeux de police, utilisé avec Latex hack-font # police monospace créée explicitement pour coder hasklig # police dérivée de source-code-pro mais avec des ligatures + jetbrains-mono # police spécial développeurs par Jetbrains ]; + fonts.fontconfig.defaultFonts = { + monospace = [ "JetBrains Mono" ]; + }; - # Paquets avec setuid root - security.wrappers = { - # pour le montage des media amovibles - devmon.source = "${pkgs.udevil}/bin/devmon"; - udevil.source = "${pkgs.udevil}/bin/udevil"; # utilisé par spacefm - # vérouiller l''écran. "cannot disable the out-of-memory killer for this process (make sure to suid or sgid slock)" --> en root - slock.source = "${pkgs.slock}/bin/slock"; + programs = { + slock.enable = true; + spacefm.enable = true; + udevil.enable = true; }; } diff --git a/applications/graphical/bureautique.nix b/applications/graphical/bureautique.nix index fbc2a8c..8fab7d9 100644 --- a/applications/graphical/bureautique.nix +++ b/applications/graphical/bureautique.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/cao.nix b/applications/graphical/cao.nix index a3d2a6d..43db259 100644 --- a/applications/graphical/cao.nix +++ b/applications/graphical/cao.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/cartographie.nix b/applications/graphical/cartographie.nix index 4c3d269..cb18604 100644 --- a/applications/graphical/cartographie.nix +++ b/applications/graphical/cartographie.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/client-internet.nix b/applications/graphical/client-internet.nix index 750aeaf..75e6be2 100644 --- a/applications/graphical/client-internet.nix +++ b/applications/graphical/client-internet.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -18,7 +18,7 @@ environment.systemPackages = with pkgs; [ firefox ## Mail & Discussion (texte, audio) - clawsMail + claws-mail hexchat quasselClient mumble @@ -27,7 +27,7 @@ environment.systemPackages = with pkgs; [ # Transfert de fichier filezilla - transmission_gtk - transmission_remote_gtk + transmission-gtk + transmission-remote-gtk ]; } diff --git a/applications/graphical/default-applications.nix b/applications/graphical/default-applications.nix index 659131d..7f75276 100644 --- a/applications/graphical/default-applications.nix +++ b/applications/graphical/default-applications.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/default.nix b/applications/graphical/default.nix index cdcdfc7..75e111e 100644 --- a/applications/graphical/default.nix +++ b/applications/graphical/default.nix @@ -3,7 +3,7 @@ let #inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/developpement-elm.nix b/applications/graphical/developpement-elm.nix index f37bc7b..c0b7123 100644 --- a/applications/graphical/developpement-elm.nix +++ b/applications/graphical/developpement-elm.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/developpement-haskell.nix b/applications/graphical/developpement-haskell.nix index 3257559..ae2157e 100644 --- a/applications/graphical/developpement-haskell.nix +++ b/applications/graphical/developpement-haskell.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/developpement-java.nix b/applications/graphical/developpement-java.nix index 2b830f3..dcc6609 100644 --- a/applications/graphical/developpement-java.nix +++ b/applications/graphical/developpement-java.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -12,6 +12,6 @@ mkIf (flags.developpement-java && flags.graphical) { # Paquets environment.systemPackages = with pkgs; [ # IDE - idea.idea-community # IntelliJ IDEA + jetbrains.idea-community # IntelliJ IDEA ]; } diff --git a/applications/graphical/developpement-jetbrains.nix b/applications/graphical/developpement-jetbrains.nix index b42320a..e5302f0 100644 --- a/applications/graphical/developpement-jetbrains.nix +++ b/applications/graphical/developpement-jetbrains.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -11,9 +11,9 @@ mkIf (flags.jetbrains-licensed && flags.graphical) { # Paquets environment.systemPackages = with pkgs; [ - idea.idea-ultimate - idea.clion - idea.datagrip - idea.pycharm-professional + jetbrains.idea-ultimate + jetbrains.clion + jetbrains.datagrip + jetbrains.pycharm-professional ]; } diff --git a/applications/graphical/developpement-rust.nix b/applications/graphical/developpement-rust.nix index 0b6f0b4..f9ede33 100644 --- a/applications/graphical/developpement-rust.nix +++ b/applications/graphical/developpement-rust.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/developpement.nix b/applications/graphical/developpement.nix index 51b8af2..44054b2 100644 --- a/applications/graphical/developpement.nix +++ b/applications/graphical/developpement.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -12,7 +12,7 @@ mkIf (flags.developpement && flags.graphical) { # Paquets environment.systemPackages = with pkgs; [ # Base de données - pgadmin # interface d'administration de postgres + #pgadmin # interface d'administration de postgres ***plus à jour, version openssl dépréciée*** #sqlitebrowser # interface d'administration de sqlite # Documentation diff --git a/applications/graphical/edition-musique.nix b/applications/graphical/edition-musique.nix index 2d04441..3329821 100644 --- a/applications/graphical/edition-musique.nix +++ b/applications/graphical/edition-musique.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/edition-photo.nix b/applications/graphical/edition-photo.nix index e0573ad..c731c6b 100644 --- a/applications/graphical/edition-photo.nix +++ b/applications/graphical/edition-photo.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/edition-video.nix b/applications/graphical/edition-video.nix index 61f9a2b..124a911 100644 --- a/applications/graphical/edition-video.nix +++ b/applications/graphical/edition-video.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/jeux.nix b/applications/graphical/jeux.nix index d426081..b126e59 100644 --- a/applications/graphical/jeux.nix +++ b/applications/graphical/jeux.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/multimedia.nix b/applications/graphical/multimedia.nix index 1ea891a..3b2d0b8 100644 --- a/applications/graphical/multimedia.nix +++ b/applications/graphical/multimedia.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/network.nix b/applications/graphical/network.nix index 80cedb2..b3a6277 100644 --- a/applications/graphical/network.nix +++ b/applications/graphical/network.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/graphical/radio.nix b/applications/graphical/radio.nix index 05bbaed..5941cf0 100644 --- a/applications/graphical/radio.nix +++ b/applications/graphical/radio.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -20,4 +20,8 @@ mkIf (flags.radio && flags.graphical) { ## A Trier #inspectrum # Tool for analysing captured signals from sdr receivers ]; + + nixpkgs.config.permittedInsecurePackages = [ + "python2.7-Pillow-6.2.2" + ]; } diff --git a/applications/graphical/securite.nix b/applications/graphical/securite.nix index 543c611..4fd424d 100644 --- a/applications/graphical/securite.nix +++ b/applications/graphical/securite.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/overrides.nix b/applications/overrides.nix index 756c730..6349f52 100644 --- a/applications/overrides.nix +++ b/applications/overrides.nix @@ -3,14 +3,14 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in mkIf true { nixpkgs.config.packageOverrides = pkgs: { - clawsMail = pkgs.clawsMail.override { + claws-mail = pkgs.claws-mail.override { enablePgp = true; enablePluginArchive = true; #enablePluginFancy = false; # nécessite wekitgtk qui est troué # Option supprimée dans NixOS 20.03 diff --git a/applications/terminal/adminsys.nix b/applications/terminal/adminsys.nix index a66799a..f2a120b 100644 --- a/applications/terminal/adminsys.nix +++ b/applications/terminal/adminsys.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -23,7 +23,7 @@ mkIf true { powerline-fonts powertop #ansible - python36Packages.glances + glances pv # afficher le débit d'un flux dd if=/dev/zero | pv | dd of=/dev/null sysstat # pour la commande "iostat -x -1" de monitoring d'activité disque usbutils @@ -44,7 +44,7 @@ mkIf true { ntfs3g # ntfs samba # partages windows squashfsTools # squashfs - sshfsFuse # ssh + sshfs-fuse # ssh ## Gestion de FS nfs-utils @@ -53,6 +53,6 @@ mkIf true { inotify-tools # être notifié lorsque le contenu d'un répertoire change detox # The detox utility renames files to make them easier to work with. duff # outil de recherche de fichiers en doublons - rdfind # recherche de fichiers doublons pour remplacement par hard/soft link + #rdfind # recherche de fichiers doublons pour remplacement par hard/soft link ]; } diff --git a/applications/terminal/bureau.nix b/applications/terminal/bureau.nix index 02337b1..a68eb59 100644 --- a/applications/terminal/bureau.nix +++ b/applications/terminal/bureau.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/bureautique.nix b/applications/terminal/bureautique.nix index f594437..55aeede 100644 --- a/applications/terminal/bureautique.nix +++ b/applications/terminal/bureautique.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -13,7 +13,7 @@ mkIf flags.officeSuite { environment.systemPackages = with pkgs; [ # Bureautique aspell aspellDicts.fr # correction d'ortographe - python36Packages.grammalecte # correction gramatical + python39Packages.grammalecte # correction gramatical # Gestion de tâche taskwarrior # gestionnaire de tâches en console @@ -24,7 +24,7 @@ mkIf flags.officeSuite { #jekyll # générateur statique de site web #odpdown # conversion md -> presentation ODP : https://github.com/thorstenb/odpdown pandoc - haskellPackages.pandoc-citeproc + #haskellPackages.pandoc-citeproc # ***BROKEN*** texlive.combined.scheme-full # distribution LaTeX #texLive # distribution LaTeX de base #texLiveBeamer # paquets et extensions pour Beamer diff --git a/applications/terminal/cao.nix b/applications/terminal/cao.nix index 30f33c9..b40b88d 100644 --- a/applications/terminal/cao.nix +++ b/applications/terminal/cao.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/cartographie.nix b/applications/terminal/cartographie.nix index f748045..aa76d40 100644 --- a/applications/terminal/cartographie.nix +++ b/applications/terminal/cartographie.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/client-internet.nix b/applications/terminal/client-internet.nix index 7ee9da1..b51fb58 100644 --- a/applications/terminal/client-internet.nix +++ b/applications/terminal/client-internet.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -15,7 +15,7 @@ environment.systemPackages = with pkgs; [ ## Réseaux sociaux #turses # client twitter en ncurse - #python36Packages.rainbowstream # client twitter en console + #python39Packages.rainbowstream # client twitter en console #rtv # client reddit en console ## Mail & Discussion (texte, audio) diff --git a/applications/terminal/default-applications.nix b/applications/terminal/default-applications.nix index 05bec37..89d3188 100644 --- a/applications/terminal/default-applications.nix +++ b/applications/terminal/default-applications.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -12,7 +12,7 @@ mkIf true { # Paquets environment.systemPackages = with pkgs; [ byobu # permet de se déconnecter d'un terminal sans l'arréter - gitAndTools.gitFull gitAndTools.tig gti # outil de gestion de version + tig gti lazygit # outil de gestion de version gnumake # pour décrire les recettes de compilation gnupg # GPG htop # monitoring @@ -25,12 +25,49 @@ mkIf true { pinentry # pour taper les mots de passe gpg psmisc # fournis les utilitaires comme killall, fuser, pstree #python # python -- python -m SimpleHTTPServer 8000 - shared_mime_info # MIME info + shared-mime-info # MIME info tmux # nécessaire pour byobu tree # affiche une arborescence de fichiers et dossiers usbutils - (import ./vim.nix) wget # client HTTP console which # pour connaitre le chemin d'un exécutable ]; + programs = { + fish.enable = true; + gnupg.agent.enable = true; + git = { + enable = true; + package = pkgs.gitFull; + config = { + # http://www.git-attitude.fr/2014/09/15/30-options-git-qui-gagnent-a-etre-connues/ + color = { + diff = "auto"; + branch = "auto"; + interactive = "auto"; + pager = true; + showbranch = "auto"; + status = "auto"; + }; + alias = { + a = "add -p"; + br = "for-each-ref --sort=committerdate refs/heads/ --format='%(committerdate:short)\t%(authorname)\t%(refname:short)'"; + ci = "commit"; + co = "checkout"; + ff = "pull --ff-only"; + oops = "commit --amend --no-edit"; + # 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"; + not-pushed = "log --branches --not --remotes"; + }; + push.default = "simple"; + code.editor = "${pkgs.vim_configurable}/bin/vim"; + }; + lfs.enable = true; + }; + }; } diff --git a/applications/terminal/default.nix b/applications/terminal/default.nix index cdcdfc7..510a21c 100644 --- a/applications/terminal/default.nix +++ b/applications/terminal/default.nix @@ -3,7 +3,7 @@ let #inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -27,6 +27,7 @@ in ./edition-video.nix # modifier les vidéos ./jeux.nix # jouer, tout simplement ;) ./radio.nix # outils pour faire de la radio SDR + ./vim.nix # vim avec plugins ## if isDesktop ./adminsys.nix # pour gérer le système dans son ensemble et les services diff --git a/applications/terminal/developpement-elm.nix b/applications/terminal/developpement-elm.nix index 01a604b..3782c50 100644 --- a/applications/terminal/developpement-elm.nix +++ b/applications/terminal/developpement-elm.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/developpement-haskell.nix b/applications/terminal/developpement-haskell.nix index 6425bb2..20bb5e3 100644 --- a/applications/terminal/developpement-haskell.nix +++ b/applications/terminal/developpement-haskell.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -22,7 +22,7 @@ mkIf flags.developpement-haskell { #brittany # formatteur de code #darcs # gestionnaire de version éponyme #ghc-mod # outil d'analyse de code haskell utilisé par IDE - hindent # indentation code + #hindent # indentation code ***BROKEN*** hlint # qualite de code, analyse statique de code + astuces & bonnes pratiques #postgrest # mapper HTTP <-> PostgreSQL servant # génération d'API REST @@ -31,6 +31,6 @@ mkIf flags.developpement-haskell { # Application perso #hahp - pandoc-filter-graphviz # filtre pour utiliser graphviz à partir de pandoc + #pandoc-filter-graphviz # filtre pour utiliser graphviz à partir de pandoc ***BROKEN*** ]); } diff --git a/applications/terminal/developpement-java.nix b/applications/terminal/developpement-java.nix index c347694..6f33d47 100644 --- a/applications/terminal/developpement-java.nix +++ b/applications/terminal/developpement-java.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -12,7 +12,6 @@ mkIf flags.developpement-java { # Installe le paquet + JAVA_HOME programs.java = { enable = true; - package = pkgs.jdk11; }; # Paquets diff --git a/applications/terminal/developpement-jetbrains.nix b/applications/terminal/developpement-jetbrains.nix index ff91e67..79ba128 100644 --- a/applications/terminal/developpement-jetbrains.nix +++ b/applications/terminal/developpement-jetbrains.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/developpement-rust.nix b/applications/terminal/developpement-rust.nix index 40a6750..5f24eb9 100644 --- a/applications/terminal/developpement-rust.nix +++ b/applications/terminal/developpement-rust.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -14,5 +14,7 @@ mkIf flags.developpement-rust { # Rust cargo # récupération des dépendances + compilation projet rust rustc # pour les appels depuis les scripts + rustup # outil de configuration de toolchain rust + crate2nix # génère les fichiers de build Nix dans un projet Rust ]; } diff --git a/applications/terminal/developpement.nix b/applications/terminal/developpement.nix index dab2fa1..1f45c8f 100644 --- a/applications/terminal/developpement.nix +++ b/applications/terminal/developpement.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/edition-musique.nix b/applications/terminal/edition-musique.nix index cead741..6344c61 100644 --- a/applications/terminal/edition-musique.nix +++ b/applications/terminal/edition-musique.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/edition-photo.nix b/applications/terminal/edition-photo.nix index dc14969..89dacf9 100644 --- a/applications/terminal/edition-photo.nix +++ b/applications/terminal/edition-photo.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/edition-video.nix b/applications/terminal/edition-video.nix index af23cb8..8a375e4 100644 --- a/applications/terminal/edition-video.nix +++ b/applications/terminal/edition-video.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/jeux.nix b/applications/terminal/jeux.nix index 2f1aa79..615f422 100644 --- a/applications/terminal/jeux.nix +++ b/applications/terminal/jeux.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/multimedia.nix b/applications/terminal/multimedia.nix index 717b9fb..4ca10aa 100644 --- a/applications/terminal/multimedia.nix +++ b/applications/terminal/multimedia.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/network.nix b/applications/terminal/network.nix index 9e9c263..bb93553 100644 --- a/applications/terminal/network.nix +++ b/applications/terminal/network.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -15,7 +15,7 @@ mkIf true { 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 + inetutils ## Diagnostic arp-scan diff --git a/applications/terminal/radio.nix b/applications/terminal/radio.nix index 2b70407..ac93540 100644 --- a/applications/terminal/radio.nix +++ b/applications/terminal/radio.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -25,8 +25,5 @@ mkIf flags.radio { dump1090 # Listen to planes ADS-B and view them on a map ]; - # Configuration matérielle - boot.blacklistedKernelModules = [ - "dvb_usb_rtl28xxu" - ]; + hardware.rtl-sdr.enable = true; } diff --git a/applications/terminal/securite.nix b/applications/terminal/securite.nix index a03980e..eca7959 100644 --- a/applications/terminal/securite.nix +++ b/applications/terminal/securite.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/applications/terminal/vim.nix b/applications/terminal/vim.nix index dd0c13a..e392e77 100644 --- a/applications/terminal/vim.nix +++ b/applications/terminal/vim.nix @@ -1,20 +1,28 @@ -with import {}; +{pkgs, ... }: -vim_configurable.customize { - # Specifies the vim binary name. - # E.g. set this to "my-vim" and you need to type "my-vim" to open this vim - # This allows to have multiple vim packages installed (e.g. with a different set of plugins) - name = "vim"; - vimrcConfig.customRC = builtins.readFile ./vimrc; - vimrcConfig.vam.knownPlugins = pkgs.vimPlugins; - vimrcConfig.vam.pluginDictionaries = [ - { names = [ - # Here you can place all your vim plugins - # They are installed managed by `vam` (a vim plugin manager) - #"vim-addon-nix" - "elm-vim" - "vim-nix" - "wombat256-vim" - ]; } - ]; +let + myVim = pkgs.vim_configurable.customize { + # Specifies the vim binary name. + # E.g. set this to "my-vim" and you need to type "my-vim" to open this vim + # This allows to have multiple vim packages installed (e.g. with a different set of plugins) + name = "vim"; + vimrcConfig.customRC = builtins.readFile ./vimrc; + vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; { + start = [ + wombat256-vim + ]; + opt = [ + elm-vim + vim-fish + vim-nix + vimwiki + ]; + }; + }; + +in { + programs.vim = { + defaultEditor = true; + package = myVim; + }; } diff --git a/applications/terminal/vimrc b/applications/terminal/vimrc index 257846c..f10a1a4 100644 --- a/applications/terminal/vimrc +++ b/applications/terminal/vimrc @@ -2,6 +2,9 @@ " This must be first, because it changes other options as a side effect. set nocompatible +filetype plugin on +syntax on + " allow backspacing over everything in insert mode set backspace=indent,eol,start @@ -32,3 +35,10 @@ if &t_Co > 8 let &colorcolumn="80,".join(range(120,999),",") highlight ColorColumn ctermbg=235 guibg=#2c2d27 endif + +" vim hardcodes background color erase even if the terminfo file does +" not contain bce (not to mention that libvte based terminals +" incorrectly contain bce in their terminfo files). This causes +" incorrect background rendering when using a color theme with a +" background color. +let &t_ut='' diff --git a/config-generator.nix b/config-generator.nix index 92ddc96..891db05 100644 --- a/config-generator.nix +++ b/config-generator.nix @@ -5,9 +5,9 @@ let cfg = config.r6d.config-generator; pfl = config.r6d.profiles; comp = config.r6d.computers; - host = config.networking.hostName; + host = config.networking.fqdn; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -43,7 +43,8 @@ in #tincAddress = "192.168.12.8/24"; (mkIf comp.isNomade{ - networking.hostName = "nomade.dubronetwork.fr"; # Define your hostname. + networking.hostName = "nomade"; # Define your hostname. + networking.domain = "dubronetwork.fr"; r6d.profiles.isDubronetwork = true; r6d.config-generator = { diff --git a/configuration/auto-upgrade.nix b/configuration/auto-upgrade.nix deleted file mode 100644 index 04ff7f5..0000000 --- a/configuration/auto-upgrade.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - inherit (lib) mkIf mkMerge mkThenElse; - annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; - flags = currentMachine.configurationFlags; -in - -mkIf flags.auto-upgrade { - - # Automatic update & automatic clean - - system.autoUpgrade.enable = true; - nix.gc.automatic = true; -} diff --git a/configuration/awesome.nix b/configuration/awesome.nix index ae5b73d..25a3742 100644 --- a/configuration/awesome.nix +++ b/configuration/awesome.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/configuration/bash-prompt.sh b/configuration/bash-prompt.sh index 90affa8..23c8041 100644 --- a/configuration/bash-prompt.sh +++ b/configuration/bash-prompt.sh @@ -1,4 +1,7 @@ -# Définition des couleurs du prompt +# Git information in prompt +. /run/current-system/sw/share/bash-completion/completions/git-prompt.sh + +# Prompt colors if [[ $(tput colors) -ge 256 ]] 2>/dev/null; then PS1_USER='\[$(tput setaf 27)\]' PS1_HOST='\[$(tput setaf 37)\]' @@ -18,10 +21,12 @@ fi BOLD='\[$(tput bold)\]' RESET='\[$(tput sgr0)\]' -# Définition du prompt +# Username or red color if root if [ $UID = 0 ]; then PS1_ID=$PS1_ROOT else PS1_ID=$PS1_USER'\u'$PS1_MISC@$PS1_HOST fi + +# Prompt definition PS1=$RESET$BOLD$PS1_ID'\h '$PS1_PATH'\w'$PS1_GIT'$(__git_ps1)'"\n"$PS1_MISC'\$ '$RESET diff --git a/configuration/default.nix b/configuration/default.nix index b521f55..8f55fe9 100644 --- a/configuration/default.nix +++ b/configuration/default.nix @@ -3,7 +3,7 @@ let #inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -20,9 +20,9 @@ in # commandées par config-generator ## option de configuration spécifique - ./auto-upgrade.nix # mise à jour automatique du système ./awesome.nix # pour le gestionaire de fenêtres awesome ./laptop.nix # appli & configuration adaptée pour un PC portable + ./nix-options.nix # options de Nix (update, gc, optimisation) ./swap.nix # définition de l'utilisation du swap ]; } diff --git a/configuration/environment.nix b/configuration/environment.nix index 811d77a..8cc100b 100644 --- a/configuration/environment.nix +++ b/configuration/environment.nix @@ -3,14 +3,11 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in { - # 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 = "19.09"; @@ -46,7 +43,6 @@ in vi = "vim"; byobu-adminsys = "/etc/nixos/base/byobu-adminsys"; }; - etc.gitconfig.text = builtins.readFile ./gitconfig; }; programs.bash = { enableCompletion = true; diff --git a/configuration/gitconfig b/configuration/gitconfig deleted file mode 100644 index e3d4d5e..0000000 --- a/configuration/gitconfig +++ /dev/null @@ -1,27 +0,0 @@ -# http://www.git-attitude.fr/2014/09/15/30-options-git-qui-gagnent-a-etre-connues/ -[color] - diff = auto - branch = auto - interactive = auto - pager = true - showbranch = auto - status = auto -[alias] - a = add -p - br = for-each-ref --sort=committerdate refs/heads/ --format='%(committerdate:short)\t%(authorname)\t%(refname:short)' - ci = commit - co = checkout - ff = pull --ff-only - oops = commit --amend --no-edit - # 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 - not-pushed = log --branches --not --remotes -[push] - default = simple -[core] - editor = /usr/bin/env vim diff --git a/configuration/laptop.nix b/configuration/laptop.nix index 0ed3ace..5878457 100644 --- a/configuration/laptop.nix +++ b/configuration/laptop.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -33,6 +33,7 @@ mkIf flags.laptop { ]; # Services + services.blueman.enable = true; services.xserver.libinput = { enable = true; }; diff --git a/configuration/localisation.nix b/configuration/localisation.nix index aa0c60a..cc5f738 100644 --- a/configuration/localisation.nix +++ b/configuration/localisation.nix @@ -3,16 +3,18 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in mkIf true { # Select internationalisation properties. + console = { + font = "Lat2-Terminus16"; + keyMap = "fr"; + }; i18n = { - consoleFont = "Lat2-Terminus16"; - consoleKeyMap = "fr"; defaultLocale = "fr_FR.UTF-8"; }; diff --git a/configuration/network-ipv6.nix b/configuration/network-ipv6.nix index ab2d78a..cd988a3 100644 --- a/configuration/network-ipv6.nix +++ b/configuration/network-ipv6.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/configuration/network.nix b/configuration/network.nix index b6b181a..69042ba 100644 --- a/configuration/network.nix +++ b/configuration/network.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -13,7 +13,7 @@ mkIf true { # Il s'avère que hostname vérifie la validité du FQDN et du reverse. # Fixer ces paramètres dans les hosts permet de faire tomber en marche networking.extraHosts = '' - 127.0.0.1 ${config.networking.hostName} + 127.0.0.1 ${config.networking.fqdn} ${config.networking.hostName} ''; # Activation du routage diff --git a/configuration/nix-options.nix b/configuration/nix-options.nix new file mode 100644 index 0000000..29d6c87 --- /dev/null +++ b/configuration/nix-options.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf mkMerge mkThenElse; + annuaire = config.r6d.machines; + currentMachine = annuaire."${config.networking.fqdn}"; + flags = currentMachine.configurationFlags; +in + +{ + + # Automatic update & automatic clean + + system.autoUpgrade.enable = flags.auto-upgrade; + nix = { + extraOptions = '' + experimental-features = nix-command flakes + ''; + settings = { + auto-optimise-store = true; + # Nombre de process d'installation en parrallèle effectués par Nix + cores = 0; + }; + gc = { + automatic = true; + dates = "daily"; + options = "--delete-older-than 7d"; + }; + }; +} diff --git a/configuration/swap.nix b/configuration/swap.nix index 602fdd5..0f44623 100644 --- a/configuration/swap.nix +++ b/configuration/swap.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/configuration/u2f.nix b/configuration/u2f.nix index a52b369..ac5c6e2 100644 --- a/configuration/u2f.nix +++ b/configuration/u2f.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/configuration/udev.nix b/configuration/udev.nix index bbdb94b..63adf9a 100644 --- a/configuration/udev.nix +++ b/configuration/udev.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/iso-image/configuration.nix b/iso-image/configuration.nix index b5bf770..f411956 100644 --- a/iso-image/configuration.nix +++ b/iso-image/configuration.nix @@ -19,5 +19,6 @@ } ]; environment.shellAliases = { nixos-generate-custom-config = "cd /iso/custom/ && make";}; - networking.hostName = "nixos-livecd.corp.capgemini.com"; + networking.hostName = "nixos-livecd"; + networking.domain = "grudu.net"; } diff --git a/module-template.nix b/module-template.nix index 3cb37ef..6d9b71a 100644 --- a/module-template.nix +++ b/module-template.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/options.nix b/options.nix index 138e178..5aa062d 100644 --- a/options.nix +++ b/options.nix @@ -44,6 +44,7 @@ let nix-serve-server = mkEnableOption "Profil pour que la machine soit un serveur de cache nix."; nixStoreProxyCache = mkEnableOption "Profil pour activer le proxy cahce nginx pour le nix store"; officeSuite = mkEnableOption "Profil pour la suite bureautique"; + pipewire = mkEnableOption "Profil pour activer pipewire."; print = mkEnableOption "Profil pour activer cups & pouvoir imprimer."; pulseaudio = mkEnableOption "Profil pour activer pulseaudio."; rabbitmq = mkEnableOption "Profil pour activer le service de messagerie AMQP."; @@ -160,7 +161,7 @@ let }; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/dbus.nix b/services/dbus.nix deleted file mode 100644 index 78faab8..0000000 --- a/services/dbus.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - inherit (lib) mkIf mkMerge mkThenElse; - annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; - flags = currentMachine.configurationFlags; -in - -mkIf true { - # Lancement de dbus pour les utilisateurs - services.dbus.socketActivated = true; -} diff --git a/services/default.nix b/services/default.nix index 8f86e92..cb5237b 100644 --- a/services/default.nix +++ b/services/default.nix @@ -3,14 +3,13 @@ let #inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in { imports = [ # installées systématiquement - ./dbus.nix ./gpm.nix ./haveged.nix ./monitoring-munin.nix @@ -34,6 +33,7 @@ in ## if isDesktop ./pulseaudio.nix # activation du serveur audio + ./pipewire.nix # activation du serveur audio ./scanner.nix # utilisation d'un scanner ./x11.nix # activation du serveur graphique X ]; diff --git a/services/docker.nix b/services/docker.nix index 95b96b4..235617a 100644 --- a/services/docker.nix +++ b/services/docker.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -14,6 +14,7 @@ mkIf flags.docker { # Ecosystème Docker docker docker-compose + lazydocker ]; virtualisation.docker.enable = true; diff --git a/services/elasticsearch.nix b/services/elasticsearch.nix index f3f4974..3e2895c 100644 --- a/services/elasticsearch.nix +++ b/services/elasticsearch.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/gpm.nix b/services/gpm.nix index 6bbcb44..913dd22 100644 --- a/services/gpm.nix +++ b/services/gpm.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/haveged.nix b/services/haveged.nix index 35a272c..b419419 100644 --- a/services/haveged.nix +++ b/services/haveged.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/hoogle.nix b/services/hoogle.nix index cb8760f..139cb48 100644 --- a/services/hoogle.nix +++ b/services/hoogle.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/hydra-build.nix b/services/hydra-build.nix index 42aeb13..089a7ab 100644 --- a/services/hydra-build.nix +++ b/services/hydra-build.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in # TODO: ménage diff --git a/services/hydra-core.nix b/services/hydra-core.nix index 0688dfd..757c615 100644 --- a/services/hydra-core.nix +++ b/services/hydra-core.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; @@ -54,8 +54,8 @@ mkIf flags.hydra-core { services.hydra = { enable = true; - hydraURL = "http://hydra.${config.networking.hostName}"; - notificationSender = "hydra@${config.networking.hostName}"; + hydraURL = "http://hydra.${config.networking.fqdn}"; + notificationSender = "hydra@${config.networking.fqdn}"; listenHost = "localhost"; minimumDiskFree = 50; # Go smtpHost = "localhost"; diff --git a/services/kibana.nix b/services/kibana.nix index b002ef3..afaf86e 100644 --- a/services/kibana.nix +++ b/services/kibana.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/locate.nix b/services/locate.nix index adac879..c8dde77 100644 --- a/services/locate.nix +++ b/services/locate.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/monitoring-munin.nix b/services/monitoring-munin.nix index 6591a85..a4948ca 100644 --- a/services/monitoring-munin.nix +++ b/services/monitoring-munin.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -54,7 +54,7 @@ mkIf flags.munin { services.munin-cron = { enable = true; hosts = '' - [${config.networking.hostName}] + [${config.networking.fqdn}] address 127.0.0.1 df._dev_sda2.warning 35 use_node_name yes @@ -65,9 +65,9 @@ mkIf flags.munin { # http://guide.munin-monitoring.org/en/latest/tutorial/alert.html#syntax-of-warning-and-critical extraGlobalConfig = '' #--- - #contact.email.command ${pkgs.mutt}/bin/mutt -F /etc/nixos/base/services/munin-muttrc -s "Munin notification for ${config.networking.hostName}" root@ocean.prunetwork.fr - contact.email.command /run/current-system/sw/bin/mutt -F /etc/nixos/base/services/munin-muttrc -s "Munin notification for ${config.networking.hostName}" root@ocean.prunetwork.fr - contact.syslog.command /run/current-system/sw/bin/logger -p user.crit -t "Munin notification for ${config.networking.hostName}" + #contact.email.command ${pkgs.mutt}/bin/mutt -F /etc/nixos/base/services/munin-muttrc -s "Munin notification for ${config.networking.fqdn}" root@ocean.prunetwork.fr + contact.email.command /run/current-system/sw/bin/mutt -F /etc/nixos/base/services/munin-muttrc -s "Munin notification for ${config.networking.fqdn}" root@ocean.prunetwork.fr + contact.syslog.command /run/current-system/sw/bin/logger -p user.crit -t "Munin notification for ${config.networking.fqdn}" #--- contact.email.always_send ok,warning,critical,unknown diff --git a/services/nixos-manual.nix b/services/nixos-manual.nix index fc2c9a3..a49ff97 100644 --- a/services/nixos-manual.nix +++ b/services/nixos-manual.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/pipewire.nix b/services/pipewire.nix new file mode 100644 index 0000000..28dd419 --- /dev/null +++ b/services/pipewire.nix @@ -0,0 +1,35 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf mkMerge mkThenElse; + annuaire = config.r6d.machines; + currentMachine = annuaire."${config.networking.fqdn}"; + flags = currentMachine.configurationFlags; +in + +mkIf flags.pipewire { + + # Paquets + environment.systemPackages = with pkgs; [ + helvum # patchbay pipewire + paprefs # préferences pulseaudio + pavucontrol # mixer pulseaudio + pa_applet # status et contrôle dans le system tray + ]; + + security.rtkit.enable = true; + + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + #media-session.enable = true; + }; + +} diff --git a/services/print.nix b/services/print.nix index 1362bac..d476097 100644 --- a/services/print.nix +++ b/services/print.nix @@ -3,18 +3,25 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in mkIf flags.print { + environment.systemPackages = with pkgs; [ + samba + python310Packages.pysmbc + ]; + services.samba.enable = true; # Services ## Enable CUPS to print documents. services.printing = { enable = true; drivers = [ pkgs.samsung-unified-linux-driver + pkgs.fxlinuxprint + pkgs.gutenprint ]; # Suppression automatique des fichiers temporaires. # Par défaut, cups conserve une copie de ce qui a été imprimé @@ -24,4 +31,6 @@ mkIf flags.print { PreserveJobFiles No ''; }; + services.avahi.enable = true; + services.avahi.nssmdns = true; } diff --git a/services/pulseaudio.nix b/services/pulseaudio.nix index a770dd7..bee41d4 100644 --- a/services/pulseaudio.nix +++ b/services/pulseaudio.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/scanner.nix b/services/scanner.nix index e320186..224b2fe 100644 --- a/services/scanner.nix +++ b/services/scanner.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in @@ -13,7 +13,7 @@ mkIf flags.scanner { environment.systemPackages = with pkgs; [ # Driver hplip # Scanner HP - python27Packages.pyqt4 # dépendance hplip + python39Packages.pyqt4 # dépendance hplip # Outils pour exploiter les scanners simple-scan diff --git a/services/ssh.nix b/services/ssh.nix index 1030bfd..2abc847 100644 --- a/services/ssh.nix +++ b/services/ssh.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/virtualbox.nix b/services/virtualbox.nix index 8d5e874..d61937e 100644 --- a/services/virtualbox.nix +++ b/services/virtualbox.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/x11.nix b/services/x11.nix index acf108d..f91f8e6 100644 --- a/services/x11.nix +++ b/services/x11.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in diff --git a/services/xmonad/xmonad.nix b/services/xmonad/xmonad.nix index 2f1768c..60e8af1 100644 --- a/services/xmonad/xmonad.nix +++ b/services/xmonad/xmonad.nix @@ -3,26 +3,18 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in mkIf flags.xmonad { - - # Paquets - environment.systemPackages = with pkgs; [ - dmenu - haskellPackages.xmobar - trayer - ]; + services.dbus.packages = with pkgs; [ dconf ]; + programs.dconf.enable = true; # Services services.xserver.windowManager.xmonad = { enable = true; enableContribAndExtras = true; - extraPackages = haskellPackages: [ - haskellPackages.xmobar - ]; }; environment.variables = { _JAVA_AWT_WM_NONREPARENTING = "1"; diff --git a/services/yubikey.nix b/services/yubikey.nix index 3ca6d30..3aefd53 100644 --- a/services/yubikey.nix +++ b/services/yubikey.nix @@ -3,7 +3,7 @@ let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; - currentMachine = annuaire."${config.networking.hostName}"; + currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in