Skip to content

Commit 4710724

Browse files
committed
feat(pleione/firefox-session): init
1 parent 43a2a58 commit 4710724

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
{pkgs, lib, ...}: let
2+
firefox = pkgs.wrapFirefox pkgs.firefox-unwrapped {
3+
extraPolicies = {
4+
AutofillAddressEnabled = false;
5+
AutofillCreditCardEnabled = false;
6+
CaptivePortal = false;
7+
DisableFeedbackCommands = true;
8+
DisableFirefoxAccounts = true;
9+
DisableFirefoxScreenshots = true;
10+
DisableFirefoxStudies = true;
11+
DisablePocket = true;
12+
DisableSetDesktopBackground = true;
13+
DisableTelemetry = true;
14+
DisplayBookmarksToolbar = "never";
15+
DisplayMenuBar = "never";
16+
DontCheckDefaultBrowser = true;
17+
NewTabPage = false;
18+
NoDefaultBookmarks = true;
19+
OfferToSaveLogins = false;
20+
OfferToSaveLoginsDefault = false;
21+
OverrideFirstRunPage = "";
22+
OverridePostUpdatePage = "";
23+
PasswordManagerEnabled = false;
24+
FirefoxHome = {
25+
Search = true;
26+
Pocket = false;
27+
Snippets = false;
28+
TopSites = false;
29+
Highlights = false;
30+
};
31+
Homepage = {
32+
URL = "https://duckduckgo.com";
33+
Locked = true;
34+
};
35+
UserMessaging = {
36+
ExtensionRecommendations = false;
37+
SkipOnboarding = true;
38+
};
39+
Preferences = {
40+
"browser.search.selectedEngine" = {
41+
Value = "DuckDuckGo";
42+
Status = "locked";
43+
};
44+
};
45+
};
46+
};
47+
firefox-kiosk = pkgs.writeShellScriptBin "firefox-kiosk" ''
48+
systemctl --user import-environment DISPLAY WAYLAND_DISPLAY
49+
systemctl --user start firefox-kiosk-session.target
50+
${lib.getExe' pkgs.pulseaudio "pactl"} set-sink-volume @DEFAULT_SINK@ 80%
51+
${lib.getExe pkgs.cage} -- ${lib.getExe firefox}
52+
systemctl --user stop firefox-kiosk-session.target
53+
'';
54+
55+
firefox-kiosk-session =
56+
(pkgs.writeTextDir "share/wayland-sessions/firefox.desktop" ''
57+
[Desktop Entry]
58+
Name=Firefox Kiosk
59+
Comment=A web browser
60+
Exec=${lib.getExe firefox-kiosk}
61+
Type=Application
62+
'').overrideAttrs
63+
(_: {
64+
passthru.providedSessions = ["firefox"];
65+
});
66+
in {
67+
services.displayManager.sessionPackages = [firefox-kiosk-session];
68+
69+
systemd.user.targets.firefox-kiosk-session = {
70+
description = "Firefox session";
71+
bindsTo = ["graphical-session.target"];
72+
wants = ["graphical-session-pre.target"];
73+
after = ["graphical-session-pre.target"];
74+
};
75+
}

hosts/pleione/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
../common/optional/regreet.nix
2020
../common/optional/steam-gamescope-session.nix
2121
../common/optional/jellyfin-session.nix
22+
../common/optional/firefox-session.nix
2223

2324
./media-user.nix
2425
];

0 commit comments

Comments
 (0)