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