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