You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.8 KiB
71 lines
1.8 KiB
/**
|
|
* A home-manager module to configure userspace i3
|
|
*
|
|
*/
|
|
|
|
{ config, lib, pkgs, home-manager, ... } @ args:
|
|
|
|
let cfg = config.libkookie.ui.i3;
|
|
in
|
|
{
|
|
options.libkookie.ui.i3 = with lib; {
|
|
picom = mkEnableOption "window composition with picom";
|
|
|
|
wallpaper = mkOption {
|
|
type = types.path;
|
|
description = ''
|
|
Specify the wallpaper to set.
|
|
'';
|
|
};
|
|
|
|
networkmanager = mkOption {
|
|
type = types.bool;
|
|
default = true;
|
|
description = ''
|
|
Set whether networkmanager is enabled on the system or not.
|
|
|
|
This setting should be removed in the future, when I figure
|
|
out how to pull in config value from the nixos config.
|
|
'';
|
|
};
|
|
|
|
# TODO: figure out a way to make this a package type
|
|
fonts = mkOption {
|
|
type = with types; listOf str;
|
|
default = [ "monospace" ];
|
|
description = ''
|
|
A set of fonts to use by the i3 module for rendering text
|
|
'';
|
|
};
|
|
|
|
term = mkOption {
|
|
type = types.package;
|
|
description = "Terminal emulator to bind to <M-RET>";
|
|
};
|
|
|
|
bar-location = mkOption {
|
|
type = types.enum [ "top" "bottom" ];
|
|
default = "bottom";
|
|
description = "Choose the orientation of the status bar";
|
|
};
|
|
|
|
window-spacing = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Enable window spacing via i3gaps";
|
|
};
|
|
|
|
i3Status = mkOption {
|
|
type = with types; submodule {
|
|
options = {
|
|
colors = mkOption { type = bool; default = true; };
|
|
format = mkOption { type = str; default = "dzen2"; };
|
|
interval = mkOption { type = int; default = 1; };
|
|
segments = mkOption { type = listOf str; default = []; };
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
config = (import core/setup.nix args);
|
|
}
|
|
|