]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
ipfs: config ipfs without enabling
[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.ipfs
129 pkgs.jq
130 pkgs.knot-dns
131 pkgs.ldns
132 pkgs.less
133 pkgs.libfaketime
134 pkgs.libidn
135 pkgs.libxml2.bin
136 pkgs.linuxPackages.cpupower
137 pkgs.linuxPackages.perf
138 pkgs.lm_sensors
139 pkgs.lsof
140 pkgs.lsscsi
141 #pkgs.meli
142 pkgs.miniupnpc
143 pkgs.mosh
144 pkgs.ncdu
145 pkgs.ncurses
146 pkgs.neofetch
147 pkgs.nix-prefetch-git
148 pkgs.nixpkgs-review
149 pkgs.nmon
150 pkgs.ntfs3g
151 #pkgs.onionshare
152 pkgs.openssl
153 pkgs.opusTools
154 pkgs.p7zip
155 pkgs.parted
156 pkgs.pass
157 pkgs.pastebinit
158 pkgs.patchelf
159 pkgs.pciutils
160 pkgs.podl
161 pkgs.poppler_utils
162 pkgs.powertop
163 pkgs.procps
164 #pkgs.profanity
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.sqlite
174 pkgs.sshfs
175 pkgs.stig
176 pkgs.strace
177 pkgs.stress
178 pkgs.sudo
179 pkgs.tcpdump
180 pkgs.thttpd
181 pkgs.tig
182 pkgs.tree
183 pkgs.unzip
184 pkgs.usbutils
185 pkgs.utillinux
186 pkgs.vbetool
187 pkgs.weechat
188 pkgs.wget
189 pkgs.wgetpaste
190 pkgs.which
191 pkgs.xdg_utils
192 pkgs.xmlstarlet
193 pkgs.xsel
194 pkgs.youtube-dl
195 pkgs.zfs
196 ] ++ lib.optionals config.host.desktop [
197 pkgs.amule
198 pkgs.calibre
199 pkgs.chromium
200 pkgs.dino
201 pkgs.djview
202 pkgs.dmenu
203 pkgs.evince
204 pkgs.firefox
205 pkgs.freeciv_gtk
206 pkgs.gajim
207 pkgs.geeqie
208 pkgs.gimp
209 pkgs.glxinfo
210 pkgs.gparted
211 pkgs.graphviz
212 pkgs.hicolor-icon-theme
213 pkgs.keepass
214 pkgs.libdvdcss
215 pkgs.libreoffice
216 pkgs.liferea
217 pkgs.mplayer
218 pkgs.mpv
219 pkgs.mumble
220 pkgs.networkmanager-openvpn
221 pkgs.networkmanagerapplet
222 pkgs.nix-du
223 pkgs.pavucontrol
224 pkgs.thunderbird
225 pkgs.transmission-gtk
226 pkgs.vlc
227 pkgs.xclip
228 pkgs.xorg.xkill
229 pkgs.xsane
230 ];
231 }