]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
git-quick-stats: install package
[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-quick-stats
113 #pkgs.git-remote-gpg
114 pkgs.glib # gio
115 #pkgs.go-mtpfs
116 pkgs.gnumake
117 pkgs.gvfs
118 #pkgs.haskell.packages.ghc865.zerobin
119 pkgs.hledger
120 pkgs.home-manager
121 pkgs.htop
122 pkgs.hunspell
123 pkgs.hunspellDicts.fr-moderne
124 pkgs.hwinfo
125 pkgs.imagemagick
126 pkgs.inetutils
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.p7zip
152 pkgs.parted
153 pkgs.pass
154 pkgs.pastebinit
155 pkgs.patchelf
156 pkgs.pciutils
157 pkgs.podl
158 pkgs.poppler_utils
159 pkgs.powertop
160 pkgs.procps
161 #pkgs.profanity
162 pkgs.qprint
163 pkgs.ranger
164 pkgs.rdfind
165 pkgs.ripgrep
166 pkgs.sanoid
167 pkgs.shellcheck
168 pkgs.sipcalc
169 pkgs.smartmontools
170 pkgs.sqlite
171 pkgs.sshfs
172 pkgs.stig
173 pkgs.strace
174 pkgs.stress
175 pkgs.sudo
176 pkgs.tcpdump
177 pkgs.thttpd
178 pkgs.tig
179 pkgs.tree
180 pkgs.unzip
181 pkgs.usbutils
182 pkgs.utillinux
183 pkgs.vbetool
184 pkgs.wget
185 pkgs.wgetpaste
186 pkgs.which
187 pkgs.xdg_utils
188 pkgs.xmlstarlet
189 pkgs.xsel
190 pkgs.youtube-dl
191 pkgs.zfs
192 ] ++ lib.optionals config.host.desktop [
193 #pkgs.amule
194 pkgs.chromium
195 pkgs.dino
196 pkgs.djview
197 pkgs.dmenu
198 pkgs.evince
199 pkgs.firefox
200 pkgs.freeciv_gtk
201 pkgs.gajim
202 pkgs.geeqie
203 pkgs.gimp
204 pkgs.glxinfo
205 pkgs.gparted
206 pkgs.graphviz
207 pkgs.hicolor-icon-theme
208 pkgs.keepass
209 pkgs.libdvdcss
210 pkgs.libreoffice
211 pkgs.liferea
212 pkgs.mplayer
213 pkgs.mpv
214 pkgs.mumble
215 pkgs.networkmanager-openvpn
216 pkgs.networkmanagerapplet
217 pkgs.nix-du
218 pkgs.pavucontrol
219 pkgs.thunderbird
220 pkgs.transmission-gtk
221 pkgs.vlc
222 pkgs.xclip
223 pkgs.xorg.xkill
224 pkgs.xsane
225 ];
226 }