{ pkgs, lib, config, ... }: { imports = [ ./softwares.nix ./options.nix julm/mutt.nix julm/hosts/oignon.nix julm/hosts/losurdo.nix ]; host.desktop = config.host.name == "oignon"; host.server = config.host.name == "mermet" || config.host.name == "losurdo"; programs.bash.enable = true; programs.gpg.enable = true; home.file.".gnupg/gpg.conf".text = '' # julm@autogeree.net trusted-key 0xD15AF7F467E8299B # julm@sourcephile.fr trusted-key 0x2E3618DD0D087650 ''; services.gpg-agent.enable = true; services.gpg-agent.sshKeys = [ # julm@autogeree.net "D275EBA09C7E1FFBFB47F6EEF164E6D56FB24AB2" # julm@sourcephile.fr "123BF80054E9E9CE2BD7B899F07207665392B727" ]; programs.direnv.enable = true; programs.htop.enable = true; programs.irssi.enable = config.host.name == "mermet"; home.file.".irssi/passwd".text = '' FreeNode : ${pkgs.pass}/bin/pass freenode.net/irc/julm GeekNode : ${pkgs.pass}/bin/pass geeknode.org/irc/julm IndyMedia : ${pkgs.pass}/bin/pass indymedia.org/irc/julm ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm ''; programs.vim.enable = true; programs.ssh.enable = true; programs.ssh.matchBlocks."lan.losurdo.sourcephile.fr" = { compression = true; # Helps to get a better framerate with forwardX11 forwardX11 = true; forwardX11Trusted = true; serverAliveInterval = 15; }; programs.tmux.enable = true; programs.man.enable = true; manual.manpages.enable = false; # builtins.elem config.host.name ["losurdo" "oignon"]; programs.git = { enable = true; userName = "Julien Moutinho"; userEmail = "julm@sourcephile.fr"; signing.key = "0x7182433A39582282929B2A222E3618DD0D087650"; signing.signByDefault = false; package = if config.host.name == "losurdo" || config.host.name == "oignon" then pkgs.gitFull else pkgs.gitMinimal; extraConfig = { sendemail.smtpEncryption = "ssl"; # Yes, "ssl", not "tls" which does not work because it expects STARTTLS. sendemail.smtpServer = "mail.sourcephile.fr"; sendemail.smtpServerPort = "465"; sendemail.smtpUser = "julm@sourcephile.fr"; }; }; services.redshift.enable = lib.mkDefault config.host.desktop; xsession.enable = lib.mkDefault config.host.desktop; xsession.windowManager.xmonad.enable = lib.mkDefault config.host.desktop; home.stateVersion = "20.09"; home.sessionVariables = { EDITOR = "vim"; LANG = "fr_FR.UTF-8"; LESS = "-FRSX"; LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; MANPAGER = "less"; PATH = lib.makeBinPath [ config.home.homeDirectory ] + ":$PATH"; }; # Warning: triggers a rebuild of mumble #nixpkgs.config.mumble.speechdSupport = lib.mkDefault config.host.desktop; home.packages = [ pkgs.acpi #pkgs.amfora pkgs.aria2 pkgs.aspell pkgs.aspellDicts.fr pkgs.bc pkgs.binutils pkgs.bison pkgs.bmon #pkgs.browsh #pkgs.cabal2nix pkgs.compsize pkgs.convmv pkgs.coreutils pkgs.croc pkgs.cryptsetup pkgs.curl pkgs.direnv #pkgs.dnsutils pkgs.dstat pkgs.e2fsprogs pkgs.ethtool pkgs.exa pkgs.ffmpeg pkgs.file pkgs.flex pkgs.gcc pkgs.git-crypt #pkgs.git-remote-gpg pkgs.glib # gio #pkgs.go-mtpfs pkgs.gnumake pkgs.gvfs #pkgs.haskell.packages.ghc865.zerobin pkgs.hledger pkgs.home-manager pkgs.htop pkgs.hunspell pkgs.hunspellDicts.fr-moderne pkgs.hwinfo pkgs.imagemagick pkgs.inetutils pkgs.jq pkgs.knot-dns pkgs.ldns pkgs.less pkgs.libfaketime pkgs.libidn pkgs.libxml2.bin pkgs.linuxPackages.cpupower pkgs.linuxPackages.perf pkgs.lm_sensors pkgs.lsof pkgs.lsscsi #pkgs.meli pkgs.miniupnpc pkgs.mosh pkgs.ncdu pkgs.ncurses pkgs.neofetch pkgs.nix-prefetch-git pkgs.nixpkgs-review pkgs.nmon pkgs.ntfs3g #pkgs.onionshare pkgs.openssl pkgs.p7zip pkgs.parted pkgs.pass pkgs.pastebinit pkgs.patchelf pkgs.pciutils pkgs.podl pkgs.poppler_utils pkgs.powertop pkgs.procps #pkgs.profanity pkgs.qprint pkgs.ranger pkgs.rdfind pkgs.ripgrep pkgs.sanoid pkgs.shellcheck pkgs.sipcalc pkgs.smartmontools pkgs.sqlite pkgs.sshfs pkgs.stig pkgs.strace pkgs.stress pkgs.sudo pkgs.tcpdump pkgs.thttpd pkgs.tig pkgs.tree pkgs.unzip pkgs.usbutils pkgs.utillinux pkgs.vbetool pkgs.wget pkgs.wgetpaste pkgs.which pkgs.xdg_utils pkgs.xmlstarlet pkgs.xsel pkgs.youtube-dl pkgs.zfs ] ++ lib.optionals config.host.desktop [ #pkgs.amule pkgs.chromium pkgs.dino pkgs.djview pkgs.dmenu pkgs.evince pkgs.firefox pkgs.freeciv_gtk pkgs.gajim pkgs.geeqie pkgs.gimp pkgs.glxinfo pkgs.gparted pkgs.graphviz pkgs.hicolor-icon-theme pkgs.keepass pkgs.libdvdcss pkgs.libreoffice pkgs.liferea pkgs.mplayer pkgs.mpv pkgs.mumble pkgs.networkmanager-openvpn pkgs.networkmanagerapplet pkgs.nix-du pkgs.pavucontrol pkgs.thunderbird pkgs.transmission-gtk pkgs.vlc pkgs.xclip pkgs.xorg.xkill pkgs.xsane ]; }