]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
oignon: add yubikey support
[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.yubikey-personalization
196 pkgs.zfs
197 ] ++ lib.optionals config.host.desktop [
198 pkgs.amule
199 pkgs.calibre
200 #pkgs.chromium
201 pkgs.dino
202 pkgs.djview
203 pkgs.dmenu
204 pkgs.evince
205 pkgs.firefox
206 pkgs.freeciv_gtk
207 pkgs.gajim
208 pkgs.geeqie
209 pkgs.gimp
210 pkgs.glxinfo
211 pkgs.gparted
212 pkgs.graphviz
213 pkgs.hicolor-icon-theme
214 pkgs.keepass
215 pkgs.libdvdcss
216 pkgs.libreoffice
217 pkgs.liferea
218 pkgs.mplayer
219 pkgs.mpv
220 pkgs.mumble
221 pkgs.networkmanager-openvpn
222 pkgs.networkmanagerapplet
223 pkgs.nix-du
224 pkgs.pavucontrol
225 pkgs.thunderbird
226 pkgs.transmission-gtk
227 pkgs.vlc
228 pkgs.xclip
229 pkgs.xorg.xkill
230 pkgs.xsane
231 pkgs.yubikey-personalization-gui
232 ];
233 }