]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
firefox: fix profiles
[julm/julm-nix.git] / homes / julm.nix
1 { pkgs, lib, config, ... }:
2 {
3 imports = [
4 ./softwares.nix
5 ./options.nix
6 julm/mutt.nix
7 julm/hosts/oignon.nix
8 julm/hosts/losurdo.nix
9 ];
10 host.desktop = lib.elem config.host.name [ /*"losurdo"*/ "oignon" ];
11 host.server = lib.elem config.host.name [ "losurdo" "mermet" ];
12 programs.bash.enable = true;
13 programs.firefox = {
14 enable = config.host.desktop;
15 profiles =
16 let defaultProfile = {
17 settings = {
18 "browser.bookmarks.showMobileBookmarks" = true;
19 "browser.search.isUS" = false;
20 "browser.search.region" = "FR";
21 "distribution.searchplugins.defaultLocale" = "fr-FR";
22 "general.useragent.locale" = "fr-FR";
23 "security.identityblock.show_extended_validation" = true;
24 "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
25 };
26 userChrome = builtins.readFile softwares/firefox/userChrome.css;
27 }; in {
28 "rp4xy6ye.2021" = lib.mkMerge [defaultProfile {
29 id = 0;
30 name = "2021";
31 settings = {
32 "browser.startup.homepage" = "https://code.sourcephile.fr";
33 };
34 }];
35 "8y3d28fa.tor" = lib.mkMerge [defaultProfile {
36 id = 1;
37 name = "tor";
38 settings = {
39 "browser.startup.homepage" = "https://check.torproject.org";
40 };
41 }];
42 };
43 };
44 programs.gpg.enable = true;
45 home.file."${config.programs.gpg.homedir}/gpg.conf".text = ''
46 # julm@autogeree.net
47 trusted-key 0xD15AF7F467E8299B
48 # julm@sourcephile.fr
49 trusted-key 0x2E3618DD0D087650
50 '';
51 services.gpg-agent.enable = true;
52 services.gpg-agent.sshKeys = [
53 # julm@autogeree.net
54 "D275EBA09C7E1FFBFB47F6EEF164E6D56FB24AB2"
55 # julm@sourcephile.fr
56 "123BF80054E9E9CE2BD7B899F07207665392B727"
57 ];
58 programs.direnv.enable = true;
59 programs.htop.enable = true;
60 programs.irssi.enable = config.host.name == "mermet" || config.host.name == "losurdo";
61 programs.irssi.extraConfig = builtins.readFile julm/irssi/config;
62 home.file.".irssi/passwd".text = ''
63 FreeNode : ${pkgs.pass}/bin/pass freenode.net/irc/julm
64 GeekNode : ${pkgs.pass}/bin/pass geeknode.org/irc/julm
65 IndyMedia : ${pkgs.pass}/bin/pass indymedia.org/irc/julm
66 Libera : ${pkgs.pass}/bin/pass libera.chat/irc/julm
67 OFTC : ${pkgs.pass}/bin/pass oftc.net/irc/julm
68 ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm
69 '';
70 programs.man.enable = true;
71 #programs.neovim.enable = true;
72 programs.ssh.enable = true;
73 programs.ssh.matchBlocks."lan.losurdo.sourcephile.fr" = {
74 compression = true; # Helps to get a better framerate with forwardX11
75 forwardX11 = true;
76 forwardX11Trusted = true;
77 serverAliveInterval = 15;
78 };
79 programs.tmux.enable = true;
80 programs.vim.enable = true;
81 manual.manpages.enable = false;
82 programs.git = {
83 enable = true;
84 userName = "Julien Moutinho";
85 userEmail = "julm@sourcephile.fr";
86 signing.key = "0x7182433A39582282929B2A222E3618DD0D087650";
87 signing.signByDefault = false;
88 package =
89 if lib.elem config.host.name [ "losurdo" "oignon" ]
90 then pkgs.gitFull
91 else pkgs.gitMinimal;
92 extraConfig = {
93 sendemail.smtpEncryption = "ssl"; # Yes, "ssl", not "tls" which does not work because it expects STARTTLS.
94 sendemail.smtpServer = "mail.sourcephile.fr";
95 sendemail.smtpServerPort = "465";
96 sendemail.smtpUser = "julm@sourcephile.fr";
97 };
98 };
99 services.redshift.enable = lib.mkDefault config.host.desktop;
100 xsession.enable = lib.mkDefault config.host.desktop;
101 xsession.windowManager.xmonad.enable = lib.mkDefault config.host.desktop;
102 home.stateVersion = "20.09";
103 home.sessionPath = [ "${config.home.homeDirectory}/bin" ];
104 home.sessionVariables = {
105 EDITOR = "vim";
106 LANG = "fr_FR.UTF-8";
107 LESS = "-FRSX";
108 LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
109 MANPAGER = "less";
110 };
111 # Warning: triggers a rebuild of mumble
112 #nixpkgs.config.mumble.speechdSupport = lib.mkDefault config.host.desktop;
113 home.packages = [
114 pkgs.acpi
115 #pkgs.amfora
116 pkgs.aria2
117 pkgs.aspell
118 pkgs.aspellDicts.fr
119 pkgs.bc
120 pkgs.binutils
121 pkgs.bison
122 pkgs.bmon
123 #pkgs.browsh
124 #pkgs.cabal2nix
125 pkgs.cachix
126 pkgs.compsize
127 pkgs.convmv
128 pkgs.coreutils
129 pkgs.croc
130 pkgs.cryptsetup
131 pkgs.curl
132 #pkgs.dnsutils
133 pkgs.dstat
134 pkgs.e2fsprogs
135 pkgs.ethtool
136 pkgs.exa
137 pkgs.ffmpeg
138 pkgs.file
139 pkgs.flex
140 pkgs.gcc
141 pkgs.git-crypt
142 pkgs.git-quick-stats
143 #pkgs.git-remote-gpg
144 pkgs.glib # gio
145 #pkgs.go-mtpfs
146 pkgs.gnumake
147 pkgs.gvfs
148 #pkgs.haskell.packages.ghc865.zerobin
149 pkgs.hledger
150 pkgs.home-manager
151 pkgs.htop
152 pkgs.hunspell
153 pkgs.hunspellDicts.fr-moderne
154 pkgs.hwinfo
155 pkgs.imagemagick
156 pkgs.inetutils
157 pkgs.ipfs
158 pkgs.jq
159 pkgs.knot-dns
160 pkgs.ldns
161 pkgs.less
162 pkgs.lftp
163 pkgs.libfaketime
164 pkgs.libidn
165 pkgs.libxml2.bin
166 #pkgs.linuxPackages.cpupower
167 #pkgs.linuxPackages.perf
168 pkgs.lm_sensors
169 pkgs.lsof
170 pkgs.lsscsi
171 #pkgs.meli
172 pkgs.miniupnpc
173 pkgs.mosh
174 pkgs.ncdu
175 pkgs.ncurses
176 pkgs.neofetch
177 pkgs.nix-prefetch-git
178 pkgs.nixpkgs-review
179 pkgs.nmon
180 pkgs.ntfs3g
181 #pkgs.onionshare
182 pkgs.openssl
183 pkgs.opusTools
184 pkgs.p7zip
185 pkgs.parted
186 pkgs.pass
187 pkgs.pastebinit
188 pkgs.patchelf
189 pkgs.pciutils
190 pkgs.podl
191 pkgs.poppler_utils
192 pkgs.powertop
193 pkgs.procps
194 #pkgs.profanity
195 pkgs.pv
196 pkgs.qprint
197 pkgs.ranger
198 pkgs.rdfind
199 pkgs.ripgrep
200 pkgs.sanoid
201 pkgs.shellcheck
202 pkgs.sipcalc
203 pkgs.smartmontools
204 pkgs.socat
205 pkgs.sqlite
206 pkgs.sshfs
207 pkgs.stig
208 pkgs.strace
209 pkgs.stress
210 pkgs.sudo
211 pkgs.tcpdump
212 pkgs.thttpd
213 pkgs.tig
214 pkgs.tree
215 pkgs.unzip
216 pkgs.usbutils
217 pkgs.utillinux
218 pkgs.vbetool
219 pkgs.weechat
220 pkgs.wget
221 pkgs.wgetpaste
222 pkgs.which
223 pkgs.xdg_utils
224 pkgs.xmlstarlet
225 pkgs.xsel
226 pkgs.youtube-dl
227 pkgs.yubikey-personalization
228 pkgs.zfs
229 ] ++ lib.optionals config.host.desktop [
230 pkgs.amule
231 pkgs.calibre
232 #pkgs.chromium
233 pkgs.dino
234 pkgs.djview
235 pkgs.dmenu
236 pkgs.evince
237 pkgs.freeciv_gtk
238 pkgs.gajim
239 pkgs.geeqie
240 pkgs.gimp
241 pkgs.glxinfo
242 pkgs.gparted
243 pkgs.graphviz
244 pkgs.hicolor-icon-theme
245 pkgs.keepass
246 pkgs.libdvdcss
247 pkgs.libreoffice
248 pkgs.liferea
249 pkgs.mplayer
250 pkgs.mpv
251 pkgs.mumble
252 pkgs.networkmanager-openvpn
253 pkgs.networkmanagerapplet
254 pkgs.nix-du
255 pkgs.pavucontrol
256 pkgs.thunderbird
257 pkgs.transmission-gtk
258 pkgs.vlc
259 pkgs.xclip
260 pkgs.xorg.xkill
261 pkgs.xsane
262 pkgs.yubikey-personalization-gui
263 ];
264 }