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