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