nixos/oblogout: drop module
This commit is contained in:
parent
5f4b980674
commit
c158ad48c5
@ -1,176 +1,11 @@
|
|||||||
# Global configuration for oblogout.
|
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.programs.oblogout;
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
###### interface
|
|
||||||
|
|
||||||
options = {
|
imports = [
|
||||||
|
(mkRemovedOptionModule [ "programs" "oblogout" ] "programs.oblogout has been removed from NixOS. This is because the oblogout repository has been archived upstream.")
|
||||||
|
];
|
||||||
|
|
||||||
programs.oblogout = {
|
|
||||||
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to install OBLogout and create <filename>/etc/oblogout.conf</filename>.
|
|
||||||
See <filename>${pkgs.oblogout}/share/doc/README</filename>.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
opacity = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 70;
|
|
||||||
description = ''
|
|
||||||
Opacity percentage of Cairo rendered backgrounds.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
bgcolor = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "black";
|
|
||||||
description = ''
|
|
||||||
Colour name or hex code (#ffffff) of the background color.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
buttontheme = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "simplistic";
|
|
||||||
description = ''
|
|
||||||
Icon theme for the buttons, must be in the themes folder of
|
|
||||||
the package, or in
|
|
||||||
<filename>~/.themes/<name>/oblogout/</filename>.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
buttons = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "cancel, logout, restart, shutdown, suspend, hibernate";
|
|
||||||
description = ''
|
|
||||||
List and order of buttons to show.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
cancel = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "Escape";
|
|
||||||
description = ''
|
|
||||||
Cancel logout/shutdown shortcut.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
shutdown = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "S";
|
|
||||||
description = ''
|
|
||||||
Shutdown shortcut.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
restart = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "R";
|
|
||||||
description = ''
|
|
||||||
Restart shortcut.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
suspend = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "U";
|
|
||||||
description = ''
|
|
||||||
Suspend shortcut.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
logout = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "L";
|
|
||||||
description = ''
|
|
||||||
Logout shortcut.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
lock = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "K";
|
|
||||||
description = ''
|
|
||||||
Lock session shortcut.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
hibernate = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "H";
|
|
||||||
description = ''
|
|
||||||
Hibernate shortcut.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
clogout = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "openbox --exit";
|
|
||||||
description = ''
|
|
||||||
Command to logout.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
clock = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "";
|
|
||||||
description = ''
|
|
||||||
Command to lock screen.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
cswitchuser = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "";
|
|
||||||
description = ''
|
|
||||||
Command to switch user.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
###### implementation
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment.systemPackages = [ pkgs.oblogout ];
|
|
||||||
|
|
||||||
environment.etc."oblogout.conf".text = ''
|
|
||||||
[settings]
|
|
||||||
usehal = false
|
|
||||||
|
|
||||||
[looks]
|
|
||||||
opacity = ${toString cfg.opacity}
|
|
||||||
bgcolor = ${cfg.bgcolor}
|
|
||||||
buttontheme = ${cfg.buttontheme}
|
|
||||||
buttons = ${cfg.buttons}
|
|
||||||
|
|
||||||
[shortcuts]
|
|
||||||
cancel = ${cfg.cancel}
|
|
||||||
shutdown = ${cfg.shutdown}
|
|
||||||
restart = ${cfg.restart}
|
|
||||||
suspend = ${cfg.suspend}
|
|
||||||
logout = ${cfg.logout}
|
|
||||||
lock = ${cfg.lock}
|
|
||||||
hibernate = ${cfg.hibernate}
|
|
||||||
|
|
||||||
[commands]
|
|
||||||
shutdown = systemctl poweroff
|
|
||||||
restart = systemctl reboot
|
|
||||||
suspend = systemctl suspend
|
|
||||||
hibernate = systemctl hibernate
|
|
||||||
logout = ${cfg.clogout}
|
|
||||||
lock = ${cfg.clock}
|
|
||||||
switchuser = ${cfg.cswitchuser}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user