1
1
Fork 0
nixos/options/custom/default.nix

57 lines
1.6 KiB
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.custom;
hm = config.home-manager.users.${config.custom.username};
in {
options.custom = {
### Profiles
default = mkOption {default = true;};
full = mkOption {default = false;};
minimal = mkOption {default = cfg.full;};
profile = mkOption {};
### Users
domain = mkOption {default = "bjork.tech";};
hostname = mkOption {};
realname = mkOption {default = "Myned";};
username = mkOption {default = "myned";};
sync = mkOption {default = "/home/myned/SYNC";};
### Hardware
width = mkOption {default = 1920;};
height = mkOption {default = 1080;};
refresh = mkOption {default = 60;};
vrr = mkOption {default = false;};
ultrawide = mkOption {default = cfg.width * 9 / 16 > cfg.height;}; # Wider than 16:9
hidpi = mkOption {default = cfg.scale > 1;};
scale = mkOption {default = 1;};
border = mkOption {default = 3;};
gap = mkOption {default = 15;};
padding = mkOption {default = 51;}; # ?? journalctl --user -u waybar.service | grep height:
rounding = mkOption {default = 15;};
### Misc
desktop = mkOption {
default =
if config.custom.full
then "hyprland"
else "gnome";
};
lockscreen = mkOption {default = "hyprlock";};
menu = mkOption {default = "rofi";};
wallpaper = mkOption {default = false;};
browser = {
# TODO: Use lib.getExe' instead of /bin/ where possible
command = mkOption {default = getExe hm.programs.librewolf.finalPackage;};
desktop = mkOption {default = "librewolf.desktop";};
};
};
}