1 { pkgs, lib, config, ... }:
10 host.desktop = lib.elem config.host.name [ /*"losurdo"*/ "oignon" ];
11 host.server = lib.elem config.host.name [ "losurdo" "mermet" ];
12 programs.bat.enable = true;
13 programs.bash.enable = true;
14 #programs.broot.enable = true;
15 programs.doom-emacs = {
17 doomPrivateDir = julm/emacs;
21 package = config.programs.emacs.package;
24 enable = config.host.desktop;
26 let defaultProfile = {
28 "browser.bookmarks.showMobileBookmarks" = true;
29 "browser.search.isUS" = false;
30 "browser.search.region" = "FR";
31 "distribution.searchplugins.defaultLocale" = "fr-FR";
32 "general.useragent.locale" = "fr-FR";
33 "security.identityblock.show_extended_validation" = true;
34 "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
36 userChrome = builtins.readFile softwares/firefox/userChrome.css;
38 "rp4xy6ye.2021" = lib.mkMerge [defaultProfile {
42 "browser.startup.homepage" = "https://code.sourcephile.fr";
45 "8y3d28fa.tor" = lib.mkMerge [defaultProfile {
49 "browser.startup.homepage" = "https://check.torproject.org";
54 programs.gpg.enable = true;
55 home.file."${config.programs.gpg.homedir}/gpg.conf".text = ''
57 trusted-key 0xD15AF7F467E8299B
59 trusted-key 0x2E3618DD0D087650
61 services.gpg-agent.enable = true;
62 services.gpg-agent.sshKeys = [
64 "D275EBA09C7E1FFBFB47F6EEF164E6D56FB24AB2"
66 "123BF80054E9E9CE2BD7B899F07207665392B727"
68 programs.direnv.enable = true;
69 programs.htop.enable = true;
70 programs.irssi.enable = config.host.name == "mermet" || config.host.name == "losurdo";
71 programs.irssi.extraConfig = builtins.readFile julm/irssi/config;
72 home.file.".irssi/passwd".text = ''
73 FreeNode : ${pkgs.pass}/bin/pass freenode.net/irc/julm
74 GeekNode : ${pkgs.pass}/bin/pass geeknode.org/irc/julm
75 IndyMedia : ${pkgs.pass}/bin/pass indymedia.org/irc/julm
76 Libera : ${pkgs.pass}/bin/pass libera.chat/irc/julm
77 OFTC : ${pkgs.pass}/bin/pass oftc.net/irc/julm
78 ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm
80 programs.man.enable = true;
81 #programs.neovim.enable = true;
82 programs.ssh.enable = true;
83 programs.ssh.matchBlocks."lan.losurdo.sourcephile.fr" = {
84 compression = true; # Helps to get a better framerate with forwardX11
86 forwardX11Trusted = true;
87 serverAliveInterval = 15;
89 programs.tmux.enable = true;
90 programs.vim.enable = true;
91 manual.manpages.enable = false;
94 userName = "Julien Moutinho";
95 userEmail = "julm@sourcephile.fr";
96 signing.key = "0x7182433A39582282929B2A222E3618DD0D087650";
97 signing.signByDefault = false;
99 if lib.elem config.host.name [ "losurdo" "oignon" ]
101 else pkgs.gitMinimal;
103 sendemail.smtpEncryption = "ssl"; # Yes, "ssl", not "tls" which does not work because it expects STARTTLS.
104 sendemail.smtpServer = "mail.sourcephile.fr";
105 sendemail.smtpServerPort = "465";
106 sendemail.smtpUser = "julm@sourcephile.fr";
109 services.redshift.enable = lib.mkDefault config.host.desktop;
110 xsession.enable = lib.mkDefault config.host.desktop;
111 xsession.windowManager.xmonad.enable = lib.mkDefault config.host.desktop;
112 home.stateVersion = "20.09";
113 home.sessionPath = [ "${config.home.homeDirectory}/bin" ];
114 home.sessionVariables = {
116 LANG = "fr_FR.UTF-8";
118 LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
121 # Warning: triggers a rebuild of mumble
122 #nixpkgs.config.mumble.speechdSupport = lib.mkDefault config.host.desktop;
158 #pkgs.haskell.packages.ghc865.zerobin
163 pkgs.hunspellDicts.fr-moderne
177 #pkgs.linuxPackages.cpupower
178 #pkgs.linuxPackages.perf
182 pkgs.mastodon-archive
189 pkgs.nix-prefetch-git
241 pkgs.yubikey-personalization
243 ] ++ lib.optionals config.host.desktop [
258 pkgs.hicolor-icon-theme
266 pkgs.networkmanager-openvpn
267 pkgs.networkmanagerapplet
271 pkgs.transmission-gtk
276 pkgs.yubikey-personalization-gui