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