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