{ pkgs, lib, config, ... }: { imports = [ ./softwares.nix ./options.nix julm/mutt.nix julm/hosts/oignon.nix julm/hosts/losurdo.nix ]; host.desktop = lib.elem config.host.name [ /*"losurdo"*/ "oignon" ]; host.server = lib.elem config.host.name [ "losurdo" "mermet" ]; programs.bat.enable = true; programs.bash.enable = true; #programs.broot.enable = true; programs.doom-emacs = { enable = true; doomPrivateDir = julm/emacs; }; services.emacs = { enable = false; package = config.programs.emacs.package; }; 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 = config.host.name == "mermet" || config.host.name == "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 = false; programs.git = { enable = true; userName = "Julien Moutinho"; userEmail = "julm@sourcephile.fr"; signing.key = "0x7182433A39582282929B2A222E3618DD0D087650"; signing.signByDefault = false; package = if lib.elem config.host.name [ "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.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.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.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 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 ]; }