{ pkgs, lib, config, hostName, ... }: { imports = [ ./softwares.nix ./options.nix julm/mutt.nix (import (julm/hosts + "/${hostName}.nix")) ]; host.desktop = lib.elem hostName [ /*"losurdo"*/ "oignon" ]; host.server = lib.elem hostName [ "losurdo" "mermet" ]; programs.bat.enable = true; programs.bash.enable = true; #programs.broot.enable = true; programs.firefox = { enable = config.host.desktop; profiles = let defaultProfile = { settings = { "browser.bookmarks.showMobileBookmarks" = true; "browser.search.isUS" = false; "browser.search.region" = "FR"; "distribution.searchplugins.defaultLocale" = "fr-FR"; "general.useragent.locale" = "fr-FR"; "security.identityblock.show_extended_validation" = true; "toolkit.legacyUserProfileCustomizations.stylesheets" = true; }; userChrome = builtins.readFile softwares/firefox/userChrome.css; }; in { "rp4xy6ye.2021" = lib.mkMerge [defaultProfile { id = 0; name = "2021"; settings = { "browser.startup.homepage" = "https://code.sourcephile.fr"; }; }]; "8y3d28fa.tor" = lib.mkMerge [defaultProfile { id = 1; name = "tor"; settings = { "browser.startup.homepage" = "https://check.torproject.org"; }; }]; }; }; programs.gpg.enable = true; home.file."${config.programs.gpg.homedir}/gpg.conf".text = '' # julm@autogeree.net trusted-key 0xD15AF7F467E8299B # julm@sourcephile.fr (2021-08-12) trusted-key 0xA58CD81C3863926F ''; services.gpg-agent.enable = true; services.gpg-agent.sshKeys = [ # julm@autogeree.net "D275EBA09C7E1FFBFB47F6EEF164E6D56FB24AB2" # julm@sourcephile.fr (2021-08-12) "3D94D14514F1EA2B6D62F1275D888897B082415D" ]; programs.direnv.enable = true; programs.htop.enable = true; programs.irssi.enable = hostName == "mermet" || hostName == "losurdo"; programs.irssi.extraConfig = builtins.readFile julm/irssi/config; 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 Libera : ${pkgs.pass}/bin/pass libera.chat/irc/julm OFTC : ${pkgs.pass}/bin/pass oftc.net/irc/julm ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm ''; programs.man.enable = true; #programs.neovim.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.vim.enable = true; manual.manpages.enable = true; programs.git = { enable = true; userName = "Julien Moutinho"; userEmail = "julm@sourcephile.fr"; signing.key = "0x7182433A39582282929B2A222E3618DD0D087650"; signing.signByDefault = false; package = if lib.elem hostName [ "losurdo" "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.sessionPath = [ "${config.home.homeDirectory}/bin" ]; home.sessionVariables = { EDITOR = "vim"; LANG = "fr_FR.UTF-8"; LESS = "-FRSX"; LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; MANPAGER = "less"; }; # 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.cachix pkgs.compsize pkgs.convmv pkgs.coreutils pkgs.croc pkgs.cryptsetup pkgs.curl #pkgs.dnsutils pkgs.dstat pkgs.e2fsprogs pkgs.ethtool pkgs.exa pkgs.ffmpeg pkgs.file pkgs.flex pkgs.gcc pkgs.git-crypt pkgs.git-quick-stats #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.ipfs #pkgs.i7z pkgs.jq pkgs.knot-dns pkgs.ldns pkgs.less pkgs.lf pkgs.lftp pkgs.libfaketime pkgs.libidn pkgs.libxml2.bin #pkgs.linuxPackages.cpupower #pkgs.linuxPackages.perf pkgs.lm_sensors pkgs.lsof pkgs.lsscsi pkgs.mastodon-archive #pkgs.meli pkgs.miniupnpc pkgs.mosh pkgs.ncdu pkgs.ncurses pkgs.neofetch pkgs.nix-prefetch-git pkgs.nixpkgs-review pkgs.nmon pkgs.nnn pkgs.ntfs3g #pkgs.onionshare pkgs.openssl pkgs.opusTools pkgs.p7zip pkgs.parted pkgs.pass pkgs.pastebinit pkgs.patchelf pkgs.pciutils pkgs.podl pkgs.poppler_utils pkgs.powertop pkgs.procps #pkgs.profanity pkgs.pv pkgs.qprint pkgs.reuse #pkgs.ranger pkgs.rdfind pkgs.ripgrep pkgs.sanoid pkgs.sdate pkgs.shellcheck pkgs.sipcalc pkgs.smartmontools pkgs.socat pkgs.sqlite pkgs.sshfs pkgs.stig pkgs.strace pkgs.stress-ng pkgs.sudo pkgs.tcpdump pkgs.thttpd pkgs.tig pkgs.tree pkgs.unar pkgs.unzip pkgs.usbutils pkgs.utillinux pkgs.vbetool pkgs.weechat pkgs.wget pkgs.wgetpaste pkgs.which pkgs.xdg_utils pkgs.xmlstarlet pkgs.xsel pkgs.youtube-dl pkgs.yubikey-personalization pkgs.zfs ] ++ lib.optionals config.host.desktop [ pkgs.amule #pkgs.calibre #pkgs.chromium pkgs.dino pkgs.djview pkgs.dmenu pkgs.evince 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 pkgs.yubikey-personalization-gui ]; }