]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
julm: install tools
[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.lf
173 pkgs.lftp
174 pkgs.libfaketime
175 pkgs.libidn
176 pkgs.libxml2.bin
177 #pkgs.linuxPackages.cpupower
178 #pkgs.linuxPackages.perf
179 pkgs.lm_sensors
180 pkgs.lsof
181 pkgs.lsscsi
182 pkgs.mastodon-archive
183 #pkgs.meli
184 pkgs.miniupnpc
185 pkgs.mosh
186 pkgs.ncdu
187 pkgs.ncurses
188 pkgs.neofetch
189 pkgs.nix-prefetch-git
190 pkgs.nixpkgs-review
191 pkgs.nmon
192 pkgs.ntfs3g
193 #pkgs.onionshare
194 pkgs.openssl
195 pkgs.opusTools
196 pkgs.p7zip
197 pkgs.parted
198 pkgs.pass
199 pkgs.pastebinit
200 pkgs.patchelf
201 pkgs.pciutils
202 pkgs.podl
203 pkgs.poppler_utils
204 pkgs.powertop
205 pkgs.procps
206 #pkgs.profanity
207 pkgs.pv
208 pkgs.qprint
209 pkgs.ranger
210 pkgs.rdfind
211 pkgs.ripgrep
212 pkgs.sanoid
213 pkgs.sdate
214 pkgs.shellcheck
215 pkgs.sipcalc
216 pkgs.smartmontools
217 pkgs.socat
218 pkgs.sqlite
219 pkgs.sshfs
220 pkgs.stig
221 pkgs.strace
222 pkgs.stress
223 pkgs.sudo
224 pkgs.tcpdump
225 pkgs.thttpd
226 pkgs.tig
227 pkgs.tree
228 pkgs.unar
229 pkgs.unzip
230 pkgs.usbutils
231 pkgs.utillinux
232 pkgs.vbetool
233 pkgs.weechat
234 pkgs.wget
235 pkgs.wgetpaste
236 pkgs.which
237 pkgs.xdg_utils
238 pkgs.xmlstarlet
239 pkgs.xsel
240 pkgs.youtube-dl
241 pkgs.yubikey-personalization
242 pkgs.zfs
243 ] ++ lib.optionals config.host.desktop [
244 pkgs.amule
245 #pkgs.calibre
246 #pkgs.chromium
247 pkgs.dino
248 pkgs.djview
249 pkgs.dmenu
250 pkgs.evince
251 pkgs.freeciv_gtk
252 pkgs.gajim
253 pkgs.geeqie
254 pkgs.gimp
255 pkgs.glxinfo
256 pkgs.gparted
257 pkgs.graphviz
258 pkgs.hicolor-icon-theme
259 pkgs.keepass
260 pkgs.libdvdcss
261 pkgs.libreoffice
262 pkgs.liferea
263 pkgs.mplayer
264 pkgs.mpv
265 pkgs.mumble
266 pkgs.networkmanager-openvpn
267 pkgs.networkmanagerapplet
268 pkgs.nix-du
269 pkgs.pavucontrol
270 pkgs.thunderbird
271 pkgs.transmission-gtk
272 pkgs.vlc
273 pkgs.xclip
274 pkgs.xorg.xkill
275 pkgs.xsane
276 pkgs.yubikey-personalization-gui
277 ];
278 }