diff options
author | makefu <github@syntax-fehler.de> | 2015-09-23 11:57:27 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2015-09-23 11:57:27 +0200 |
commit | b88363ce1a4ecc420f2c7684c9c74949cd2b5db4 (patch) | |
tree | 2da33dd2e421d498b3172e46234242e1c76370a1 /lass/2configs/browsers.nix | |
parent | bb0ec5e74b6ca0737bc49408f00f8918710872a6 (diff) | |
parent | e3222a7e7096d155da507ef41bbb2002ff4aed89 (diff) |
Merge remote-tracking branch 'cloudkrebs/master' into pre-merge
Diffstat (limited to 'lass/2configs/browsers.nix')
-rw-r--r-- | lass/2configs/browsers.nix | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/lass/2configs/browsers.nix b/lass/2configs/browsers.nix index 9849c829a..4fe06b729 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,16 +26,47 @@ 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 { + environment.systemPackages = [ + (simpleScript "browser-select" '' + BROWSER=$(echo -e "ff\ncr\nfb\ngm\nflash" | dmenu) + $BROWSER $@ + '') + ]; + 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 : { |