From e3222a7e7096d155da507ef41bbb2002ff4aed89 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 19 Sep 2015 23:42:05 +0200 Subject: lass 2 browsers: add create{Firefox,Chromium}User --- lass/2configs/browsers.nix | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'lass/2configs/browsers.nix') diff --git a/lass/2configs/browsers.nix b/lass/2configs/browsers.nix index 2aaeda63..4fe06b72 100644 --- a/lass/2configs/browsers.nix +++ b/lass/2configs/browsers.nix @@ -4,7 +4,7 @@ let inherit (import ../4lib { inherit pkgs lib; }) simpleScript; mainUser = config.users.extraUsers.mainUser; - createBrowserUser = name: extraGroups: packages: + createChromiumUser = name: extraGroups: packages: { users.extraUsers = { ${name} = { @@ -26,6 +26,28 @@ let ]; }; + createFirefoxUser = name: extraGroups: packages: + { + users.extraUsers = { + ${name} = { + inherit name; + inherit extraGroups; + home = "/home/${name}"; + useDefaultShell = true; + createHome = true; + }; + }; + lass.per-user.${name}.packages = packages; + security.sudo.extraConfig = '' + ${mainUser.name} ALL=(${name}) NOPASSWD: ALL + ''; + environment.systemPackages = [ + (simpleScript name '' + sudo -u ${name} -i firefox $@ + '') + ]; + }; + #TODO: abstract this in { @@ -40,11 +62,11 @@ in { imports = [ ../3modules/per-user.nix ] ++ [ - ( createBrowserUser "ff" [ "audio" ] [ pkgs.firefox ] ) - ( createBrowserUser "cr" [ "audio" ] [ pkgs.chromium ] ) - ( createBrowserUser "fb" [ ] [ pkgs.chromium ] ) - ( createBrowserUser "gm" [ ] [ pkgs.chromium ] ) - ( createBrowserUser "flash" [ ] [ pkgs.flash ] ) + ( createFirefoxUser "ff" [ "audio" ] [ pkgs.firefox ] ) + ( createChromiumUser "cr" [ "audio" ] [ pkgs.chromium ] ) + ( createChromiumUser "fb" [ ] [ pkgs.chromium ] ) + ( createChromiumUser "gm" [ ] [ pkgs.chromium ] ) + ( createChromiumUser "flash" [ ] [ pkgs.flash ] ) ]; nixpkgs.config.packageOverrides = pkgs : { -- cgit v1.2.3