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