]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
ffmpeg: enable x11grab
[julm/julm-nix.git] / homes / julm.nix
1 { pkgs, lib, config, hostName, ... }:
2 {
3 imports = [
4 ../home-manager/profiles/essential.nix
5 ../home-manager/profiles/vim.nix
6 ../home-manager/options.nix
7 julm/mutt.nix
8 (import (julm/hosts + "/${hostName}.nix"))
9 ];
10 programs.bash.shellAliases = {
11 firefox-calyx = "sudo systemd-run -P -p JoinsNamespaceOf=netns-calyx.service -p PrivateNetwork=true -p BindReadOnlyPaths=/etc/netns/calyx/resolv.conf:/etc/resolv.conf -E DISPLAY=$DISPLAY -p User=julm -E DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS -E LANG=$LANG -E LOCALE_ARCHIVE=$LOCALE_ARCHIVE -E PATH=$PATH -- firefox -P calyx";
12 };
13 programs.browserpass.enable = config.programs.firefox.enable;
14 programs.firefox.profiles =
15 let
16 defaultProfile = {
17 settings = {
18 "browser.bookmarks.showMobileBookmarks" = true;
19 "browser.compactmode.show" = true;
20 "browser.search.isUS" = false;
21 "browser.search.region" = "FR";
22 "distribution.searchplugins.defaultLocale" = "fr-FR";
23 "dom.security.https_first" = true;
24 "dom.security.https_only_mode" = true;
25 "general.useragent.locale" = "fr-FR";
26 "privacy.globalprivacycontrol.enabled" = true;
27 "privacy.globalprivacycontrol.functionality.enabled" = true;
28 "security.identityblock.show_extended_validation" = true;
29 "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
30 #"privacy.firstparty.isolate" = true;
31 };
32 userChrome = lib.readFile ../home-manager/profiles/firefox/userChrome.css;
33 };
34 in
35 {
36 "0yplujgj.2022" = lib.mkMerge [
37 defaultProfile
38 {
39 id = 0;
40 name = "2022";
41 settings = {
42 "browser.startup.homepage" = "https://democracynow.org";
43 };
44 }
45 ];
46 "8y3d28fa.tor" = lib.mkMerge [
47 defaultProfile
48 {
49 id = 1;
50 name = "tor";
51 settings = {
52 "browser.startup.homepage" = "https://check.torproject.org";
53 "privacy.firstparty.isolate" = true;
54 };
55 }
56 ];
57 "zqa1ck7d.calyx" = lib.mkMerge [
58 defaultProfile
59 {
60 id = 2;
61 name = "calyx";
62 settings = {
63 "browser.startup.homepage" = "https://icanhazip.com";
64 "privacy.firstparty.isolate" = true;
65 };
66 }
67 ];
68 };
69 home.file."${config.programs.gpg.homedir}/gpg.conf".text = ''
70 # julm@autogeree.net
71 trusted-key 0xD15AF7F467E8299B
72 # julm@sourcephile.fr (2021-08-12)
73 trusted-key 0xA58CD81C3863926F
74 '';
75 services.gpg-agent.sshKeys = [
76 # julm@autogeree.net
77 "D275EBA09C7E1FFBFB47F6EEF164E6D56FB24AB2"
78 # julm@sourcephile.fr (2021-08-12)
79 "3D94D14514F1EA2B6D62F1275D888897B082415D"
80 # Ed25519 key added on: 2021-10-31 06:48:49
81 # Fingerprints: MD5:fe:fe:81:79:d8:7f:e4:ff:64:ac:f3:1c:bd:65:24:3a
82 # SHA256:bCfwfC8MQTjm6c1HcMLtzvGpnWRdqLwe/bvbh2jsNaA
83 "F6CCA60CF05FADAE911CFBEC0BCDED22F40A19FD"
84 # Radicle key added on 2024-05-21 23:24:10
85 # Fingerprints: SHA256:yhSIWvGFqN0oM/oTE1hMhEdhlSSEeCMcp/g/3TdNKYY
86 "1D6AF2BF857201D98413475AE022F8A4CFC34BF0"
87 ];
88 programs.irssi.extraConfig = lib.readFile julm/irssi/irssi.conf;
89 xdg.configFile."doom/config.el".text = lib.readFile julm/emacs/config.el;
90 home.file.".irssi/passwd" = lib.mkIf config.programs.irssi.enable {
91 text = ''
92 FreeNode : ${pkgs.pass}/bin/pass freenode.net/irc/julm
93 GeekNode : ${pkgs.pass}/bin/pass geeknode.org/irc/julm
94 IndyMedia : ${pkgs.pass}/bin/pass indymedia.org/irc/julm
95 Libera : ${pkgs.pass}/bin/pass libera.chat/irc/julm
96 OFTC : ${pkgs.pass}/bin/pass oftc.net/irc/julm
97 ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm
98 '';
99 };
100 programs.ssh.matchBlocks =
101 {
102 "aubergine.sp" = {
103 #compression = true; # Helps to get a better framerate with forwardX11
104 forwardAgent = true;
105 forwardX11 = true;
106 forwardX11Trusted = true;
107 serverAliveInterval = 15;
108 extraOptions = {
109 Ciphers = "aes128-gcm@openssh.com";
110 };
111 };
112 "patate.sp" = {
113 user = "sevy";
114 };
115 "courge.sp" = {
116 user = "mo";
117 };
118 } //
119 lib.genAttrs [ "lan.losurdo.sourcephile.fr" "losurdo.sp" ]
120 (_: {
121 compression = true; # Helps to get a better framerate with forwardX11
122 forwardX11 = true;
123 forwardX11Trusted = true;
124 serverAliveInterval = 15;
125 });
126 programs.git = {
127 userName = "Julien Moutinho";
128 userEmail = "julm@sourcephile.fr";
129 signing.key = "0x4FE467034C11017B429BAC53A58CD81C3863926F";
130 signing.signByDefault = false;
131 extraConfig = {
132 sendemail.smtpEncryption = "ssl"; # Yes, "ssl", not "tls" which does not work because it expects STARTTLS.
133 sendemail.smtpServer = "mail.sourcephile.fr";
134 sendemail.smtpServerPort = "465";
135 sendemail.smtpUser = "julm@sourcephile.fr";
136 };
137 };
138 }