Merge branch 'master' of ssh://git.ingolf-wagner.de:443/palo/nixos-config
This commit is contained in:
commit
60d9482999
2 changed files with 17 additions and 5 deletions
|
@ -119,6 +119,7 @@ in {
|
||||||
"2","cirtical","Critical conditions"
|
"2","cirtical","Critical conditions"
|
||||||
"3","error","Error Condition"
|
"3","error","Error Condition"
|
||||||
"4","warning","May indicate that an error will occur if action is not taken."
|
"4","warning","May indicate that an error will occur if action is not taken."
|
||||||
|
"4","warn","May indicate that an error will occur if action is not taken."
|
||||||
"5","notice","Events that are unusual, but not error conditions."
|
"5","notice","Events that are unusual, but not error conditions."
|
||||||
"6","info","Normal operational messages that require no action."
|
"6","info","Normal operational messages that require no action."
|
||||||
"7","debug","Information useful to developers for debugging the application."
|
"7","debug","Information useful to developers for debugging the application."
|
||||||
|
|
|
@ -37,6 +37,9 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
killBrowser = name:
|
||||||
|
pkgs.writeShellScriptBin "${name}-kill" "sudo killall -9 -u ${name}";
|
||||||
|
|
||||||
cleanBrowser = name: browser: home: homeBackup:
|
cleanBrowser = name: browser: home: homeBackup:
|
||||||
let
|
let
|
||||||
backupFile = "${homeBackup}.tar.lzma";
|
backupFile = "${homeBackup}.tar.lzma";
|
||||||
|
@ -45,7 +48,7 @@ let
|
||||||
in pkgs.writeShellScriptBin "${name}-clean" # sh
|
in pkgs.writeShellScriptBin "${name}-clean" # sh
|
||||||
''
|
''
|
||||||
sudo killall -9 -u ${name}
|
sudo killall -9 -u ${name}
|
||||||
sudo rm ${lockFile}
|
sudo rm -f ${lockFile}
|
||||||
sudo rm -rf ${home}
|
sudo rm -rf ${home}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -129,6 +132,8 @@ let
|
||||||
cleanBrowser name name browserConfig.home browserConfig.homeBackup)
|
cleanBrowser name name browserConfig.home browserConfig.homeBackup)
|
||||||
filteredConfigs;
|
filteredConfigs;
|
||||||
|
|
||||||
|
allKillScripts = mapAttrsToList (name: _: killBrowser name) cfg.configList;
|
||||||
|
|
||||||
# browser chooser
|
# browser chooser
|
||||||
# ---------------
|
# ---------------
|
||||||
browserSelect = pkgs.writeScriptBin "browser-select" ''
|
browserSelect = pkgs.writeScriptBin "browser-select" ''
|
||||||
|
@ -203,9 +208,15 @@ in {
|
||||||
# add sudo rights
|
# add sudo rights
|
||||||
security.sudo.extraConfig = let
|
security.sudo.extraConfig = let
|
||||||
extraRules = flip mapAttrsToList cfg.configList (name: values:
|
extraRules = flip mapAttrsToList cfg.configList (name: values:
|
||||||
concatStringsSep "\n"
|
concatStringsSep "" (map (sudoUser: ''
|
||||||
(map (sudoUser: "${sudoUser} ALL=(${values.user}) NOPASSWD: ALL")
|
# sudo configuration to control browser
|
||||||
values.sudoUsers));
|
${sudoUser} ALL=(${values.user}) NOPASSWD: ALL
|
||||||
|
${sudoUser} ALL=(root) NOPASSWD: /run/current-system/sw/bin/mkdir -p ${values.home}
|
||||||
|
${sudoUser} ALL=(root) NOPASSWD: /run/current-system/sw/bin/chown -R ${values.user}\:users ${values.home}
|
||||||
|
${sudoUser} ALL=(root) NOPASSWD: /run/current-system/sw/bin/killall -9 -u ${name}
|
||||||
|
${sudoUser} ALL=(root) NOPASSWD: /run/current-system/sw/bin/rm -rf ${values.home}
|
||||||
|
${sudoUser} ALL=(root) NOPASSWD: /run/current-system/sw/bin/rm -f ${values.home}-lock
|
||||||
|
'') values.sudoUsers));
|
||||||
in lib.concatStringsSep "\n" extraRules;
|
in lib.concatStringsSep "\n" extraRules;
|
||||||
|
|
||||||
# create users
|
# create users
|
||||||
|
@ -226,7 +237,7 @@ in {
|
||||||
environment.systemPackages = [ browserSelect (desktopFile browserSelect) ]
|
environment.systemPackages = [ browserSelect (desktopFile browserSelect) ]
|
||||||
++ browserExecutableList
|
++ browserExecutableList
|
||||||
++ (map (bin: desktopFile bin) browserExecutableList) ++ allBackupScripts
|
++ (map (bin: desktopFile bin) browserExecutableList) ++ allBackupScripts
|
||||||
++ allCleanScripts;
|
++ allCleanScripts ++ allKillScripts;
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue