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