]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
irssi: fix shared window
[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.weechat
186 pkgs.wget
187 pkgs.wgetpaste
188 pkgs.which
189 pkgs.xdg_utils
190 pkgs.xmlstarlet
191 pkgs.xsel
192 pkgs.youtube-dl
193 pkgs.zfs
194 ] ++ lib.optionals config.host.desktop [
195 #pkgs.amule
196 pkgs.calibre
197 pkgs.chromium
198 pkgs.dino
199 pkgs.djview
200 pkgs.dmenu
201 pkgs.evince
202 pkgs.firefox
203 pkgs.freeciv_gtk
204 pkgs.gajim
205 pkgs.geeqie
206 pkgs.gimp
207 pkgs.glxinfo
208 pkgs.gparted
209 pkgs.graphviz
210 pkgs.hicolor-icon-theme
211 pkgs.keepass
212 pkgs.libdvdcss
213 pkgs.libreoffice
214 pkgs.liferea
215 pkgs.mplayer
216 pkgs.mpv
217 pkgs.mumble
218 pkgs.networkmanager-openvpn
219 pkgs.networkmanagerapplet
220 pkgs.nix-du
221 pkgs.pavucontrol
222 pkgs.thunderbird
223 pkgs.transmission-gtk
224 pkgs.vlc
225 pkgs.xclip
226 pkgs.xorg.xkill
227 pkgs.xsane
228 ];
229 }