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