]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
calibre: install on desktop
[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.direnv.enableNixDirenvIntegration = true;
29 programs.htop.enable = true;
30 programs.irssi.enable = config.host.name == "mermet" || config.host.name == "losurdo";
31 programs.irssi.extraConfig = builtins.readFile julm/irssi/config;
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 Libera : ${pkgs.pass}/bin/pass libera.chat/irc/julm
37 OFTC : ${pkgs.pass}/bin/pass oftc.net/irc/julm
38 ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm
39 '';
40 programs.man.enable = true;
41 #programs.neovim.enable = true;
42 programs.ssh.enable = true;
43 programs.ssh.matchBlocks."lan.losurdo.sourcephile.fr" = {
44 compression = true; # Helps to get a better framerate with forwardX11
45 forwardX11 = true;
46 forwardX11Trusted = true;
47 serverAliveInterval = 15;
48 };
49 programs.tmux.enable = true;
50 programs.vim.enable = true;
51 manual.manpages.enable = false;
52 programs.git = {
53 enable = true;
54 userName = "Julien Moutinho";
55 userEmail = "julm@sourcephile.fr";
56 signing.key = "0x7182433A39582282929B2A222E3618DD0D087650";
57 signing.signByDefault = false;
58 package =
59 if lib.elem config.host.name [ "losurdo" "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.cachix
96 pkgs.compsize
97 pkgs.convmv
98 pkgs.coreutils
99 pkgs.croc
100 pkgs.cryptsetup
101 pkgs.curl
102 pkgs.direnv
103 #pkgs.dnsutils
104 pkgs.dstat
105 pkgs.e2fsprogs
106 pkgs.ethtool
107 pkgs.exa
108 pkgs.ffmpeg
109 pkgs.file
110 pkgs.flex
111 pkgs.gcc
112 pkgs.git-crypt
113 pkgs.git-quick-stats
114 #pkgs.git-remote-gpg
115 pkgs.glib # gio
116 #pkgs.go-mtpfs
117 pkgs.gnumake
118 pkgs.gvfs
119 #pkgs.haskell.packages.ghc865.zerobin
120 pkgs.hledger
121 pkgs.home-manager
122 pkgs.htop
123 pkgs.hunspell
124 pkgs.hunspellDicts.fr-moderne
125 pkgs.hwinfo
126 pkgs.imagemagick
127 pkgs.inetutils
128 pkgs.jq
129 pkgs.knot-dns
130 pkgs.ldns
131 pkgs.less
132 pkgs.libfaketime
133 pkgs.libidn
134 pkgs.libxml2.bin
135 pkgs.linuxPackages.cpupower
136 pkgs.linuxPackages.perf
137 pkgs.lm_sensors
138 pkgs.lsof
139 pkgs.lsscsi
140 #pkgs.meli
141 pkgs.miniupnpc
142 pkgs.mosh
143 pkgs.ncdu
144 pkgs.ncurses
145 pkgs.neofetch
146 pkgs.nix-prefetch-git
147 pkgs.nixpkgs-review
148 pkgs.nmon
149 pkgs.ntfs3g
150 #pkgs.onionshare
151 pkgs.openssl
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.qprint
164 pkgs.ranger
165 pkgs.rdfind
166 pkgs.ripgrep
167 pkgs.sanoid
168 pkgs.shellcheck
169 pkgs.sipcalc
170 pkgs.smartmontools
171 pkgs.sqlite
172 pkgs.sshfs
173 pkgs.stig
174 pkgs.strace
175 pkgs.stress
176 pkgs.sudo
177 pkgs.tcpdump
178 pkgs.thttpd
179 pkgs.tig
180 pkgs.tree
181 pkgs.unzip
182 pkgs.usbutils
183 pkgs.utillinux
184 pkgs.vbetool
185 pkgs.wget
186 pkgs.wgetpaste
187 pkgs.which
188 pkgs.xdg_utils
189 pkgs.xmlstarlet
190 pkgs.xsel
191 pkgs.youtube-dl
192 pkgs.zfs
193 ] ++ lib.optionals config.host.desktop [
194 #pkgs.amule
195 pkgs.calibre
196 pkgs.chromium
197 pkgs.dino
198 pkgs.djview
199 pkgs.dmenu
200 pkgs.evince
201 pkgs.firefox
202 pkgs.freeciv_gtk
203 pkgs.gajim
204 pkgs.geeqie
205 pkgs.gimp
206 pkgs.glxinfo
207 pkgs.gparted
208 pkgs.graphviz
209 pkgs.hicolor-icon-theme
210 pkgs.keepass
211 pkgs.libdvdcss
212 pkgs.libreoffice
213 pkgs.liferea
214 pkgs.mplayer
215 pkgs.mpv
216 pkgs.mumble
217 pkgs.networkmanager-openvpn
218 pkgs.networkmanagerapplet
219 pkgs.nix-du
220 pkgs.pavucontrol
221 pkgs.thunderbird
222 pkgs.transmission-gtk
223 pkgs.vlc
224 pkgs.xclip
225 pkgs.xorg.xkill
226 pkgs.xsane
227 ];
228 }