]> Git — Sourcephile - julm/julm-nix.git/blob - homes/julm/hosts/pumpkin.nix
pumpkin: cemu: install
[julm/julm-nix.git] / homes / julm / hosts / pumpkin.nix
1 {
2 pkgs,
3 lib,
4 config,
5 ...
6 }:
7 {
8 imports = [
9 ../../../home-manager/profiles/chat.nix
10 ../../../home-manager/profiles/developing.nix
11 ../../../home-manager/profiles/direnv.nix
12 ../../../home-manager/profiles/drawing.nix
13 ../../../home-manager/profiles/gaming.nix
14 ../../../home-manager/profiles/git.nix
15 ../../../home-manager/profiles/gnupg.nix
16 ../../../home-manager/profiles/graphical.nix
17 ../../../home-manager/profiles/lang-cmn.nix
18 ../../../home-manager/profiles/lf.nix
19 ../../../home-manager/profiles/mpv.nix
20 ../../../home-manager/profiles/networking.nix
21 ../../../home-manager/profiles/nix.nix
22 ../../../home-manager/profiles/radio.nix
23 ../../../home-manager/profiles/science.nix
24 ../../../home-manager/profiles/video.nix
25 ../../../home-manager/profiles/wireless.nix
26 ../../../home-manager/profiles/yt-dlp.nix
27
28 ../../../home-manager/profiles/emacs.nix
29 ../../../home-manager/profiles/firefox.nix
30 ../../../home-manager/profiles/ghc.nix
31 #../../../home-manager/profiles/starship.nix
32 ../../../home-manager/profiles/xmonad.nix
33 ../../../home-manager/profiles/arbtt.nix
34
35 # ../mails.nix
36 ];
37 programs.bash.shellAliases.riseup = "sudo ip netns exec riseup sudo -u $USER PULSE_SERVER=/run/user/$(id -u $USER)/pulse/native";
38 programs.gpg.homedir = "${config.home.homeDirectory}/files/sec/.gnupg";
39 home.sessionVariables = {
40 PASSWORD_STORE_DIR = "$HOME/files/sec/.password-store";
41 };
42 home.packages = [
43 (lib.meta.hiPrio (
44 pkgs.ffmpeg.override {
45 # For pkgs.ab-av1
46 withVmaf = true;
47 }
48 ))
49 pkgs.ab-av1
50 pkgs.cemu
51 pkgs.radicle-node
52 #pkgs.radicle-httpd
53 pkgs.ghostscript
54 #pkgs.go-mtpfs
55 pkgs.ntfs3g
56 pkgs.p7zip
57 pkgs.unar
58 pkgs.pdftk
59 pkgs.vips
60 pkgs.poppler_utils
61 # psnup conflicts with pkgs.texlive.combined.scheme-*
62 (lib.lowPrio pkgs.psutils)
63 pkgs.ink
64 pkgs.djview
65 pkgs.qpdf
66 pkgs.libreoffice
67 pkgs.calibre
68 pkgs.zotero
69 pkgs.evince
70 pkgs.marble
71 pkgs.gcompris
72 pkgs.frozen-bubble
73 pkgs.neverball
74 pkgs.tuxpaint
75 pkgs.rmg
76 pkgs.veloren
77 pkgs.shipwright
78 pkgs.steam-run
79 pkgs.xsane
80 pkgs.transmission
81 pkgs.transmission-remote-gtk
82 pkgs.gthumb
83 pkgs.thunderbird
84 pkgs.element-desktop
85 #pkgs.chromium
86 pkgs.fluidsynth
87 pkgs.gpsbabel
88 #(pkgs.qgis.override { extraPythonPackages = (ps: [
89 # ps.pyqt5_with_qtwebkit
90 #]); })
91 #pkgs.libva-utils
92 pkgs.otpclient
93 pkgs.pandoc
94 pkgs.pdf2djvu
95 #pkgs.ristretto
96 pkgs.xfce.mousepad
97 #pkgs.mate.pluma
98 pkgs.wxmaxima
99 pkgs.espeak-ng
100 pkgs.iodine
101 pkgs.vdhcoapp
102 #pkgs.qsynth
103 pkgs.giph
104 pkgs.slop
105 pkgs.xorg.xwininfo
106 pkgs.xdotool
107 ];
108
109 xdg.dataFile."arbtt/categorize.cfg".text = ''
110 $idle > 30 ==> tag inactive,
111
112 current window $program = ["evince", "Evince"] && current window $title =~ m!(.*) — (.*)!
113 ==> tag evince,
114 current window $program = ["gl", "mpv"] && current window $title =~ m!MPV: playing: ([^:]*)!
115 ==> tag mpv,
116 current window $program = ["Navigator"] && current window $title =~ m!Web: ([^:]*): ([^:]*)!
117 ==> tag $1:Web,
118 current window $title =~ m!Term: ([^:]*): (?:~|/home/julm)/(?:src|work)/(.*)!
119 ==> tag Work:$2,
120 current window $title =~ m!Term: ([^:]*): (?:~|/home/julm)/(?:files)/(.*)!
121 ==> tag Perso:$2,
122
123 tag Desktop:$current.desktop,
124 tag Program:$current.program,
125 '';
126
127 home.file.".Xmodmap".text = ''
128 ! Make Control_R behave like Super_L, the modMask used in Xmonad
129 remove control = Control_R
130 add mod4 = Control_R
131 '';
132
133 programs.firefox = {
134 package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
135 nativeMessagingHosts = [ pkgs.browserpass ];
136 cfg.speechSynthesisSupport = true;
137 # about:policies#documentation
138 extraPolicies = {
139 CaptivePortal = false;
140 DNSOverHTTPS = {
141 Enabled = false;
142 Locked = true;
143 };
144 DisableAppUpdate = true;
145 DisableFirefoxAccounts = true;
146 DisableFirefoxStudies = true;
147 DisablePocket = true;
148 DisableTelemetry = true;
149 DontCheckDefaultBrowser = true;
150 FirefoxHome = {
151 Pocket = false;
152 Snippets = false;
153 };
154 NetworkPrediction = false;
155 PromptForDownloadLocation = true;
156 SearchEngines = {
157 PreventInstalls = true;
158 };
159 SearchSuggestEnabled = false;
160 UserMessaging = {
161 ExtensionRecommendations = false;
162 SkipOnboarding = true;
163 };
164 };
165 };
166 };
167
168 /*
169 Cannot be automounted
170 systemd.user.mounts = {
171 mnt-aubergine = {
172 Unit = {
173 Wants = [
174 "network-online.target"
175 "wireguard-wg-intra.target"
176 ];
177 After = [
178 "network-online.target"
179 "wireguard-wg-intra.target"
180 ];
181 };
182 Install = {
183 WantedBy = ["default.target"];
184 };
185 Mount = {
186 What = "julm@aubergine.sp:/";
187 Where = "/mnt/aubergine";
188 Type = "fuse.sshfs";
189 Options = lib.concatStringsSep "," [
190 "user"
191 "uid=julm"
192 "gid=users"
193 "allow_other"
194 "exec" # Override "user"'s noexec
195 "noatime"
196 "nosuid"
197 "noauto"
198 "dir_cache=no"
199 #"reconnect"
200 "x-gvfs-hide"
201 # Does not work for user mounts
202 #"x-systemd.automount"
203 "IdentityFile=/home/julm/.ssh/id_ed25519"
204 #"Compression=yes" # YMMV
205 # Disconnect approximately 2*15=30 seconds after a network failure
206 "ServerAliveCountMax=1"
207 "ServerAliveInterval=15"
208 ];
209 };
210 };
211 };
212 */
213 /*
214 Automounting does not work without root privileges
215 systemd.user.automounts = {
216 mnt-aubergine = {
217 Install = {
218 WantedBy = ["user.target"];
219 };
220 Unit = {
221 };
222 Automount = {
223 Where = "/mnt/aubergine";
224 TimeoutIdleSec = "5 min";
225 };
226 };
227 };
228 */
229 }