git.iko.soy/typeable/nixpkgs
on master help sign in
nixos/captive-browser: add to menu bar
commit80b9bfdfb1f72dc7067e355fbc89cb68ea0be118 authorPeter Hoeg <peter@hoeg.com> dateTue 8 Mar 2022, 11:56 (5 years ago) parent895090b
1 file changed+19−1
nixos/modules/programs/captive-browser.nix+19−1
nixos/modules/programs/captive-browser.nix+19−1
@@ -1,8 +1,12 @@
11{ config, lib, pkgs, ... }:
22
3−with lib;
43let
54 cfg = config.programs.captive-browser;
5+
6+ inherit (lib)
7+ concatStringsSep escapeShellArgs optionalString
8+ literalExpression mkEnableOption mkIf mkOption mkOptionDefault types;
9+
610 browserDefault = chromium: concatStringsSep " " [
711 ''env XDG_CONFIG_HOME="$PREV_CONFIG_HOME"''
812 ''${chromium}/bin/chromium''
@@ -15,6 +19,15 @@ let
1519 ''-no-default-browser-check''
1620 ''http://cache.nixos.org/''
1721 ];
22+
23+ desktopItem = pkgs.makeDesktopItem {
24+ name = "captive-browser";
25+ desktopName = "Captive Portal Browser";
26+ exec = "/run/wrappers/bin/captive-browser";
27+ icon = "nix-snowflake";
28+ categories = [ "Network" ];
29+ };
30+
1831in
1932{
2033 ###### interface
@@ -84,6 +97,11 @@ in
8497 ###### implementation
8598
8699 config = mkIf cfg.enable {
100+ environment.systemPackages = [
101+ (pkgs.runCommandNoCC "captive-browser-desktop-item" { } ''
102+ install -Dm444 -t $out/share/applications ${desktopItem}/share/applications/*.desktop
103+ '')
104+ ];
87105
88106 programs.captive-browser.dhcp-dns =
89107 let