]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm/hosts/pumpkin.nix
pumpkin: add host
[julm/julm-nix.git] / homes / julm / hosts / pumpkin.nix
1 { pkgs, lib, config, ... }:
2 {
3 imports = [
4 ../../../home-manager/profiles/chat.nix
5 ../../../home-manager/profiles/developing.nix
6 ../../../home-manager/profiles/direnv.nix
7 ../../../home-manager/profiles/drawing.nix
8 ../../../home-manager/profiles/gaming.nix
9 ../../../home-manager/profiles/git.nix
10 ../../../home-manager/profiles/gnupg.nix
11 ../../../home-manager/profiles/graphical.nix
12 ../../../home-manager/profiles/lf.nix
13 ../../../home-manager/profiles/mpv.nix
14 ../../../home-manager/profiles/networking.nix
15 ../../../home-manager/profiles/nix.nix
16 ../../../home-manager/profiles/radio.nix
17 ../../../home-manager/profiles/science.nix
18 ../../../home-manager/profiles/video.nix
19 ../../../home-manager/profiles/wireless.nix
20 ../../../home-manager/profiles/yt-dlp.nix
21
22 ../../../home-manager/profiles/emacs.nix
23 ../../../home-manager/profiles/firefox.nix
24 ../../../home-manager/profiles/ghc.nix
25 ../../../home-manager/profiles/starship.nix
26 ../../../home-manager/profiles/xmonad.nix
27 ../../../home-manager/profiles/arbtt.nix
28
29 # ../mails.nix
30 ];
31 programs.bash.shellAliases.riseup = "sudo ip netns exec riseup sudo -u $USER PULSE_SERVER=/run/user/$(id -u $USER)/pulse/native";
32 programs.gpg.homedir = "${config.home.homeDirectory}/files/sec/.gnupg";
33 home.sessionVariables = {
34 PASSWORD_STORE_DIR = "$HOME/files/sec/.password-store";
35 };
36 home.packages = [
37 pkgs.radicle-node
38 #pkgs.radicle-httpd
39 pkgs.ghostscript
40 #pkgs.go-mtpfs
41 pkgs.ntfs3g
42 pkgs.p7zip
43 pkgs.unar
44 pkgs.pdftk
45 pkgs.vips
46 pkgs.poppler_utils
47 # psnup conflicts with pkgs.texlive.combined.scheme-*
48 (lib.lowPrio pkgs.psutils)
49 pkgs.ink
50 pkgs.djview
51 pkgs.qpdf
52 pkgs.libreoffice
53 pkgs.calibre
54 pkgs.zotero
55 pkgs.evince
56 pkgs.marble
57 pkgs.gcompris
58 pkgs.frozen-bubble
59 pkgs.neverball
60 pkgs.tuxpaint
61 pkgs.xsane
62 pkgs.transmission
63 pkgs.transmission-remote-gtk
64 pkgs.gthumb
65 pkgs.thunderbird
66 pkgs.element-desktop
67 #pkgs.chromium
68 pkgs.fluidsynth
69 pkgs.gpsbabel
70 #(pkgs.qgis.override { extraPythonPackages = (ps: [
71 # ps.pyqt5_with_qtwebkit
72 #]); })
73 #pkgs.libva-utils
74 pkgs.otpclient
75 pkgs.pandoc
76 pkgs.pdf2djvu
77 #pkgs.ristretto
78 pkgs.xfce.mousepad
79 #pkgs.mate.pluma
80 pkgs.wxmaxima
81 pkgs.espeak-ng
82 pkgs.iodine
83 pkgs.vdhcoapp
84 #pkgs.qsynth
85 pkgs.giph
86 pkgs.slop
87 pkgs.xorg.xwininfo
88 pkgs.xdotool
89 ];
90
91 xdg.dataFile."arbtt/categorize.cfg".text = ''
92 $idle > 30 ==> tag inactive,
93
94 current window $program = ["evince", "Evince"] && current window $title =~ m!(.*) — (.*)!
95 ==> tag evince,
96 current window $program = ["gl", "mpv"] && current window $title =~ m!MPV: playing: ([^:]*)!
97 ==> tag mpv,
98 current window $program = ["Navigator"] && current window $title =~ m!Web: ([^:]*): ([^:]*)!
99 ==> tag $1:Web,
100 current window $title =~ m!Term: ([^:]*): (?:~|/home/julm)/(?:src|work)/(.*)!
101 ==> tag Work:$2,
102 current window $title =~ m!Term: ([^:]*): (?:~|/home/julm)/(?:files)/(.*)!
103 ==> tag Perso:$2,
104
105 tag Desktop:$current.desktop,
106 tag Program:$current.program,
107 '';
108
109 /* Cannot be automounted
110 systemd.user.mounts = {
111 mnt-aubergine = {
112 Unit = {
113 Wants = [
114 "network-online.target"
115 "wireguard-wg-intra.target"
116 ];
117 After = [
118 "network-online.target"
119 "wireguard-wg-intra.target"
120 ];
121 };
122 Install = {
123 WantedBy = ["default.target"];
124 };
125 Mount = {
126 What = "julm@aubergine.sp:/";
127 Where = "/mnt/aubergine";
128 Type = "fuse.sshfs";
129 Options = lib.concatStringsSep "," [
130 "user"
131 "uid=julm"
132 "gid=users"
133 "allow_other"
134 "exec" # Override "user"'s noexec
135 "noatime"
136 "nosuid"
137 "noauto"
138 "dir_cache=no"
139 #"reconnect"
140 "x-gvfs-hide"
141 # Does not work for user mounts
142 #"x-systemd.automount"
143 "IdentityFile=/home/julm/.ssh/id_ed25519"
144 #"Compression=yes" # YMMV
145 # Disconnect approximately 2*15=30 seconds after a network failure
146 "ServerAliveCountMax=1"
147 "ServerAliveInterval=15"
148 ];
149 };
150 };
151 };
152 */
153 /*
154 Automounting does not work without root privileges
155 systemd.user.automounts = {
156 mnt-aubergine = {
157 Install = {
158 WantedBy = ["user.target"];
159 };
160 Unit = {
161 };
162 Automount = {
163 Where = "/mnt/aubergine";
164 TimeoutIdleSec = "5 min";
165 };
166 };
167 };
168 */
169 }