]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
thinkpad: relax fan
[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.lftp
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.opusTools
153 pkgs.p7zip
154 pkgs.parted
155 pkgs.pass
156 pkgs.pastebinit
157 pkgs.patchelf
158 pkgs.pciutils
159 pkgs.podl
160 pkgs.poppler_utils
161 pkgs.powertop
162 pkgs.procps
163 #pkgs.profanity
164 pkgs.pv
165 pkgs.qprint
166 pkgs.ranger
167 pkgs.rdfind
168 pkgs.ripgrep
169 pkgs.sanoid
170 pkgs.shellcheck
171 pkgs.sipcalc
172 pkgs.smartmontools
173 pkgs.socat
174 pkgs.sqlite
175 pkgs.sshfs
176 pkgs.stig
177 pkgs.strace
178 pkgs.stress
179 pkgs.sudo
180 pkgs.tcpdump
181 pkgs.thttpd
182 pkgs.tig
183 pkgs.tree
184 pkgs.unzip
185 pkgs.usbutils
186 pkgs.utillinux
187 pkgs.vbetool
188 pkgs.weechat
189 pkgs.wget
190 pkgs.wgetpaste
191 pkgs.which
192 pkgs.xdg_utils
193 pkgs.xmlstarlet
194 pkgs.xsel
195 pkgs.youtube-dl
196 pkgs.yubikey-personalization
197 pkgs.zfs
198 ] ++ lib.optionals config.host.desktop [
199 pkgs.amule
200 pkgs.calibre
201 #pkgs.chromium
202 pkgs.dino
203 pkgs.djview
204 pkgs.dmenu
205 pkgs.evince
206 pkgs.firefox
207 pkgs.freeciv_gtk
208 pkgs.gajim
209 pkgs.geeqie
210 pkgs.gimp
211 pkgs.glxinfo
212 pkgs.gparted
213 pkgs.graphviz
214 pkgs.hicolor-icon-theme
215 pkgs.keepass
216 pkgs.libdvdcss
217 pkgs.libreoffice
218 pkgs.liferea
219 pkgs.mplayer
220 pkgs.mpv
221 pkgs.mumble
222 pkgs.networkmanager-openvpn
223 pkgs.networkmanagerapplet
224 pkgs.nix-du
225 pkgs.pavucontrol
226 pkgs.thunderbird
227 pkgs.transmission-gtk
228 pkgs.vlc
229 pkgs.xclip
230 pkgs.xorg.xkill
231 pkgs.xsane
232 pkgs.yubikey-personalization-gui
233 ];
234 }