]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
mastodon-archive: install on julm
[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.bat.enable = true;
13 programs.bash.enable = true;
14 #programs.broot.enable = true;
15 programs.doom-emacs = {
16 enable = true;
17 doomPrivateDir = julm/emacs;
18 };
19 services.emacs = {
20 enable = false;
21 package = config.programs.emacs.package;
22 };
23 programs.firefox = {
24 enable = config.host.desktop;
25 profiles =
26 let defaultProfile = {
27 settings = {
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;
35 };
36 userChrome = builtins.readFile softwares/firefox/userChrome.css;
37 }; in {
38 "rp4xy6ye.2021" = lib.mkMerge [defaultProfile {
39 id = 0;
40 name = "2021";
41 settings = {
42 "browser.startup.homepage" = "https://code.sourcephile.fr";
43 };
44 }];
45 "8y3d28fa.tor" = lib.mkMerge [defaultProfile {
46 id = 1;
47 name = "tor";
48 settings = {
49 "browser.startup.homepage" = "https://check.torproject.org";
50 };
51 }];
52 };
53 };
54 programs.gpg.enable = true;
55 home.file."${config.programs.gpg.homedir}/gpg.conf".text = ''
56 # julm@autogeree.net
57 trusted-key 0xD15AF7F467E8299B
58 # julm@sourcephile.fr
59 trusted-key 0x2E3618DD0D087650
60 '';
61 services.gpg-agent.enable = true;
62 services.gpg-agent.sshKeys = [
63 # julm@autogeree.net
64 "D275EBA09C7E1FFBFB47F6EEF164E6D56FB24AB2"
65 # julm@sourcephile.fr
66 "123BF80054E9E9CE2BD7B899F07207665392B727"
67 ];
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
79 '';
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
85 forwardX11 = true;
86 forwardX11Trusted = true;
87 serverAliveInterval = 15;
88 };
89 programs.tmux.enable = true;
90 programs.vim.enable = true;
91 manual.manpages.enable = false;
92 programs.git = {
93 enable = true;
94 userName = "Julien Moutinho";
95 userEmail = "julm@sourcephile.fr";
96 signing.key = "0x7182433A39582282929B2A222E3618DD0D087650";
97 signing.signByDefault = false;
98 package =
99 if lib.elem config.host.name [ "losurdo" "oignon" ]
100 then pkgs.gitFull
101 else pkgs.gitMinimal;
102 extraConfig = {
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";
107 };
108 };
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 = {
115 EDITOR = "vim";
116 LANG = "fr_FR.UTF-8";
117 LESS = "-FRSX";
118 LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
119 MANPAGER = "less";
120 };
121 # Warning: triggers a rebuild of mumble
122 #nixpkgs.config.mumble.speechdSupport = lib.mkDefault config.host.desktop;
123 home.packages = [
124 pkgs.acpi
125 #pkgs.amfora
126 pkgs.aria2
127 pkgs.aspell
128 pkgs.aspellDicts.fr
129 pkgs.bc
130 pkgs.binutils
131 pkgs.bison
132 pkgs.bmon
133 #pkgs.browsh
134 #pkgs.cabal2nix
135 pkgs.cachix
136 pkgs.compsize
137 pkgs.convmv
138 pkgs.coreutils
139 pkgs.croc
140 pkgs.cryptsetup
141 pkgs.curl
142 #pkgs.dnsutils
143 pkgs.dstat
144 pkgs.e2fsprogs
145 pkgs.ethtool
146 pkgs.exa
147 pkgs.ffmpeg
148 pkgs.file
149 pkgs.flex
150 pkgs.gcc
151 pkgs.git-crypt
152 pkgs.git-quick-stats
153 #pkgs.git-remote-gpg
154 pkgs.glib # gio
155 #pkgs.go-mtpfs
156 pkgs.gnumake
157 pkgs.gvfs
158 #pkgs.haskell.packages.ghc865.zerobin
159 pkgs.hledger
160 pkgs.home-manager
161 pkgs.htop
162 pkgs.hunspell
163 pkgs.hunspellDicts.fr-moderne
164 pkgs.hwinfo
165 pkgs.imagemagick
166 pkgs.inetutils
167 pkgs.ipfs
168 pkgs.jq
169 pkgs.knot-dns
170 pkgs.ldns
171 pkgs.less
172 pkgs.lftp
173 pkgs.libfaketime
174 pkgs.libidn
175 pkgs.libxml2.bin
176 #pkgs.linuxPackages.cpupower
177 #pkgs.linuxPackages.perf
178 pkgs.lm_sensors
179 pkgs.lsof
180 pkgs.lsscsi
181 pkgs.mastodon-archive
182 #pkgs.meli
183 pkgs.miniupnpc
184 pkgs.mosh
185 pkgs.ncdu
186 pkgs.ncurses
187 pkgs.neofetch
188 pkgs.nix-prefetch-git
189 pkgs.nixpkgs-review
190 pkgs.nmon
191 pkgs.ntfs3g
192 #pkgs.onionshare
193 pkgs.openssl
194 pkgs.opusTools
195 pkgs.p7zip
196 pkgs.parted
197 pkgs.pass
198 pkgs.pastebinit
199 pkgs.patchelf
200 pkgs.pciutils
201 pkgs.podl
202 pkgs.poppler_utils
203 pkgs.powertop
204 pkgs.procps
205 #pkgs.profanity
206 pkgs.pv
207 pkgs.qprint
208 pkgs.ranger
209 pkgs.rdfind
210 pkgs.ripgrep
211 pkgs.sanoid
212 pkgs.shellcheck
213 pkgs.sipcalc
214 pkgs.smartmontools
215 pkgs.socat
216 pkgs.sqlite
217 pkgs.sshfs
218 pkgs.stig
219 pkgs.strace
220 pkgs.stress
221 pkgs.sudo
222 pkgs.tcpdump
223 pkgs.thttpd
224 pkgs.tig
225 pkgs.tree
226 pkgs.unzip
227 pkgs.usbutils
228 pkgs.utillinux
229 pkgs.vbetool
230 pkgs.weechat
231 pkgs.wget
232 pkgs.wgetpaste
233 pkgs.which
234 pkgs.xdg_utils
235 pkgs.xmlstarlet
236 pkgs.xsel
237 pkgs.youtube-dl
238 pkgs.yubikey-personalization
239 pkgs.zfs
240 ] ++ lib.optionals config.host.desktop [
241 pkgs.amule
242 #pkgs.calibre
243 #pkgs.chromium
244 pkgs.dino
245 pkgs.djview
246 pkgs.dmenu
247 pkgs.evince
248 pkgs.freeciv_gtk
249 pkgs.gajim
250 pkgs.geeqie
251 pkgs.gimp
252 pkgs.glxinfo
253 pkgs.gparted
254 pkgs.graphviz
255 pkgs.hicolor-icon-theme
256 pkgs.keepass
257 pkgs.libdvdcss
258 pkgs.libreoffice
259 pkgs.liferea
260 pkgs.mplayer
261 pkgs.mpv
262 pkgs.mumble
263 pkgs.networkmanager-openvpn
264 pkgs.networkmanagerapplet
265 pkgs.nix-du
266 pkgs.pavucontrol
267 pkgs.thunderbird
268 pkgs.transmission-gtk
269 pkgs.vlc
270 pkgs.xclip
271 pkgs.xorg.xkill
272 pkgs.xsane
273 pkgs.yubikey-personalization-gui
274 ];
275 }