{ 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-docker.nix # pour activer docker ./activation-manuelle/app-jeux.nix # permettant de jouer ;) ./activation-manuelle/app-virtualbox.nix # pour exploiter virtualbox ./activation-manuelle/laptop.nix # appli & configuration adaptée pour un PC portable$ ./activation-manuelle/xmonad.nix # gestionnaire de fenêtres xmonad # installées systématiquement ./app-adminsys.nix # pour gérer le système dans son ensemble et les services ./app-bureautique.nix # dédiée à la bureautique (traitement de texte, dessin, ...) ./app-cao.nix # de conception assisté par ordinateur & modélisation ./app-client-internet.nix # pour accéder & utiliser des ressources par le réseau ./app-dev.nix # utilisée pour développer des programmes/scripts ./app-geo.nix # utilisée pour manipuler les données géographiques ./app-multimedia.nix # pour gérer le son, l'image et la vidéo ./app-network.nix # de gestion, de diagnostique & surveillance réseau ./app-securite.nix # relatives à la sécurité (chiffrement, gpg, mots de passe, ...) ]; 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"; }