mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 17:17:22 +01:00
feat: vars in _module.args instead of options
This commit is contained in:
parent
4323aed986
commit
6c59a4ec07
11 changed files with 437 additions and 439 deletions
67
modules/shared/options.nix
Normal file
67
modules/shared/options.nix
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{ self, config, lib, ... }:
|
||||
{
|
||||
options.swarselsystems = {
|
||||
withHomeManager = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
};
|
||||
isSwap = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
};
|
||||
swapSize = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "8G";
|
||||
};
|
||||
rootDisk = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
mainUser = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "swarsel";
|
||||
};
|
||||
isCrypted = lib.mkEnableOption "uses full disk encryption";
|
||||
|
||||
isImpermanence = lib.mkEnableOption "use impermanence on this system";
|
||||
isSecureBoot = lib.mkEnableOption "use secure boot on this system";
|
||||
isLaptop = lib.mkEnableOption "laptop host";
|
||||
isNixos = lib.mkEnableOption "nixos host";
|
||||
isPublic = lib.mkEnableOption "is a public machine (no secrets)";
|
||||
isDarwin = lib.mkEnableOption "darwin host";
|
||||
isLinux = lib.mkEnableOption "whether this is a linux machine";
|
||||
isBtrfs = lib.mkEnableOption "use btrfs filesystem";
|
||||
sopsFile = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "${config.swarselsystems.flakePath}/secrets/${config.node.name}/secrets.yaml";
|
||||
};
|
||||
homeDir = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/home/swarsel";
|
||||
};
|
||||
xdgDir = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/run/user/1000";
|
||||
};
|
||||
flakePath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/home/swarsel/.dotfiles";
|
||||
};
|
||||
wallpaper = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = "${self}/files/wallpaper/lenovowp.png";
|
||||
};
|
||||
sharescreen = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
lowResolution = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
highResolution = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,72 +1,8 @@
|
|||
{ self, config, lib, pkgs, ... }:
|
||||
{ self, lib, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems = {
|
||||
withHomeManager = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
};
|
||||
isSwap = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
};
|
||||
swapSize = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "8G";
|
||||
};
|
||||
rootDisk = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
mainUser = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "swarsel";
|
||||
};
|
||||
isCrypted = lib.mkEnableOption "uses full disk encryption";
|
||||
|
||||
isImpermanence = lib.mkEnableOption "use impermanence on this system";
|
||||
isSecureBoot = lib.mkEnableOption "use secure boot on this system";
|
||||
isLaptop = lib.mkEnableOption "laptop host";
|
||||
isNixos = lib.mkEnableOption "nixos host";
|
||||
isPublic = lib.mkEnableOption "is a public machine (no secrets)";
|
||||
isDarwin = lib.mkEnableOption "darwin host";
|
||||
isLinux = lib.mkEnableOption "whether this is a linux machine";
|
||||
isBtrfs = lib.mkEnableOption "use btrfs filesystem";
|
||||
sopsFile = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "${config.swarselsystems.flakePath}/secrets/${config.node.name}/secrets.yaml";
|
||||
};
|
||||
homeDir = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/home/swarsel";
|
||||
};
|
||||
xdgDir = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/run/user/1000";
|
||||
};
|
||||
flakePath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/home/swarsel/.dotfiles";
|
||||
};
|
||||
wallpaper = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = "${self}/files/wallpaper/lenovowp.png";
|
||||
};
|
||||
sharescreen = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
lowResolution = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
highResolution = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
|
||||
stylix = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = {
|
||||
_module.args = {
|
||||
vars = {
|
||||
stylix = {
|
||||
polarity = "dark";
|
||||
opacity.popups = 0.5;
|
||||
cursor = {
|
||||
|
|
@ -107,20 +43,15 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
stylixHomeTargets = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = {
|
||||
|
||||
stylixHomeTargets = {
|
||||
emacs.enable = false;
|
||||
waybar.enable = false;
|
||||
sway.useWallpaper = false;
|
||||
firefox.profileNames = [ "default" ];
|
||||
};
|
||||
};
|
||||
|
||||
firefox = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = {
|
||||
firefox = {
|
||||
userChrome = builtins.readFile "${self}/files/firefox/chrome/userChrome.css";
|
||||
extensions = {
|
||||
packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
Loading…
Add table
Add a link
Reference in a new issue