]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm.nix
git: set init.defaultBranch
[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 ToileLibre : ${pkgs.pass}/bin/pass toile-libre.org/irc/julm
36 '';
37 programs.vim.enable = true;
38 programs.ssh.enable = true;
39 programs.ssh.matchBlocks."lan.losurdo.sourcephile.fr" = {
40 compression = true; # Helps to get a better framerate with forwardX11
41 forwardX11 = true;
42 forwardX11Trusted = true;
43 serverAliveInterval = 15;
44 };
45 programs.tmux.enable = true;
46 programs.man.enable = true;
47 manual.manpages.enable = false;
48 programs.git = {
49 enable = true;
50 userName = "Julien Moutinho";
51 userEmail = "julm@sourcephile.fr";
52 signing.key = "0x7182433A39582282929B2A222E3618DD0D087650";
53 signing.signByDefault = false;
54 package =
55 if lib.elem config.host.name [ "losurdo" "oignon" ]
56 then pkgs.gitFull
57 else pkgs.gitMinimal;
58 extraConfig = {
59 sendemail.smtpEncryption = "ssl"; # Yes, "ssl", not "tls" which does not work because it expects STARTTLS.
60 sendemail.smtpServer = "mail.sourcephile.fr";
61 sendemail.smtpServerPort = "465";
62 sendemail.smtpUser = "julm@sourcephile.fr";
63 };
64 };
65 services.redshift.enable = lib.mkDefault config.host.desktop;
66 xsession.enable = lib.mkDefault config.host.desktop;
67 xsession.windowManager.xmonad.enable = lib.mkDefault config.host.desktop;
68 home.stateVersion = "20.09";
69 home.sessionPath = [ "${config.home.homeDirectory}/bin" ];
70 home.sessionVariables = {
71 EDITOR = "vim";
72 LANG = "fr_FR.UTF-8";
73 LESS = "-FRSX";
74 LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
75 MANPAGER = "less";
76 };
77 # Warning: triggers a rebuild of mumble
78 #nixpkgs.config.mumble.speechdSupport = lib.mkDefault config.host.desktop;
79 home.packages = [
80 pkgs.acpi
81 #pkgs.amfora
82 pkgs.aria2
83 pkgs.aspell
84 pkgs.aspellDicts.fr
85 pkgs.bc
86 pkgs.binutils
87 pkgs.bison
88 pkgs.bmon
89 #pkgs.browsh
90 #pkgs.cabal2nix
91 pkgs.compsize
92 pkgs.convmv
93 pkgs.coreutils
94 pkgs.croc
95 pkgs.cryptsetup
96 pkgs.curl
97 pkgs.direnv
98 #pkgs.dnsutils
99 pkgs.dstat
100 pkgs.e2fsprogs
101 pkgs.ethtool
102 pkgs.exa
103 pkgs.ffmpeg
104 pkgs.file
105 pkgs.flex
106 pkgs.gcc
107 pkgs.git-crypt
108 pkgs.git-quick-stats
109 #pkgs.git-remote-gpg
110 pkgs.glib # gio
111 #pkgs.go-mtpfs
112 pkgs.gnumake
113 pkgs.gvfs
114 #pkgs.haskell.packages.ghc865.zerobin
115 pkgs.hledger
116 pkgs.home-manager
117 pkgs.htop
118 pkgs.hunspell
119 pkgs.hunspellDicts.fr-moderne
120 pkgs.hwinfo
121 pkgs.imagemagick
122 pkgs.inetutils
123 pkgs.jq
124 pkgs.knot-dns
125 pkgs.ldns
126 pkgs.less
127 pkgs.libfaketime
128 pkgs.libidn
129 pkgs.libxml2.bin
130 pkgs.linuxPackages.cpupower
131 pkgs.linuxPackages.perf
132 pkgs.lm_sensors
133 pkgs.lsof
134 pkgs.lsscsi
135 #pkgs.meli
136 pkgs.miniupnpc
137 pkgs.mosh
138 pkgs.ncdu
139 pkgs.ncurses
140 pkgs.neofetch
141 pkgs.nix-prefetch-git
142 pkgs.nixpkgs-review
143 pkgs.nmon
144 pkgs.ntfs3g
145 #pkgs.onionshare
146 pkgs.openssl
147 pkgs.p7zip
148 pkgs.parted
149 pkgs.pass
150 pkgs.pastebinit
151 pkgs.patchelf
152 pkgs.pciutils
153 pkgs.podl
154 pkgs.poppler_utils
155 pkgs.powertop
156 pkgs.procps
157 #pkgs.profanity
158 pkgs.qprint
159 pkgs.ranger
160 pkgs.rdfind
161 pkgs.ripgrep
162 pkgs.sanoid
163 pkgs.shellcheck
164 pkgs.sipcalc
165 pkgs.smartmontools
166 pkgs.sqlite
167 pkgs.sshfs
168 pkgs.stig
169 pkgs.strace
170 pkgs.stress
171 pkgs.sudo
172 pkgs.tcpdump
173 pkgs.thttpd
174 pkgs.tig
175 pkgs.tree
176 pkgs.unzip
177 pkgs.usbutils
178 pkgs.utillinux
179 pkgs.vbetool
180 pkgs.wget
181 pkgs.wgetpaste
182 pkgs.which
183 pkgs.xdg_utils
184 pkgs.xmlstarlet
185 pkgs.xsel
186 pkgs.youtube-dl
187 pkgs.zfs
188 ] ++ lib.optionals config.host.desktop [
189 #pkgs.amule
190 pkgs.chromium
191 pkgs.dino
192 pkgs.djview
193 pkgs.dmenu
194 pkgs.evince
195 pkgs.firefox
196 pkgs.freeciv_gtk
197 pkgs.gajim
198 pkgs.geeqie
199 pkgs.gimp
200 pkgs.glxinfo
201 pkgs.gparted
202 pkgs.graphviz
203 pkgs.hicolor-icon-theme
204 pkgs.keepass
205 pkgs.libdvdcss
206 pkgs.libreoffice
207 pkgs.liferea
208 pkgs.mplayer
209 pkgs.mpv
210 pkgs.mumble
211 pkgs.networkmanager-openvpn
212 pkgs.networkmanagerapplet
213 pkgs.nix-du
214 pkgs.pavucontrol
215 pkgs.thunderbird
216 pkgs.transmission-gtk
217 pkgs.vlc
218 pkgs.xclip
219 pkgs.xorg.xkill
220 pkgs.xsane
221 ];
222 }