]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
irssi: move from FreeNode to Libera
[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.htop.enable = true;
29 programs.irssi.enable = config.host.name == "mermet";
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.compsize
95 pkgs.convmv
96 pkgs.coreutils
97 pkgs.croc
98 pkgs.cryptsetup
99 pkgs.curl
100 pkgs.direnv
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.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 }