fmt
This commit is contained in:
@@ -3,12 +3,14 @@
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkOption types;
|
||||
cfg = config.nixos.boot.kernel;
|
||||
|
||||
hasHardware = hw: builtins.elem hw cfg.hardware;
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./security.nix
|
||||
];
|
||||
@@ -16,26 +18,36 @@ in {
|
||||
options = {
|
||||
nixos.boot.kernel = {
|
||||
variant = mkOption {
|
||||
type = types.enum ["stable" "latest" "cachyos"];
|
||||
type = types.enum [
|
||||
"stable"
|
||||
"latest"
|
||||
"cachyos"
|
||||
];
|
||||
default = "latest";
|
||||
description = "Kernel variant to use.";
|
||||
};
|
||||
|
||||
hardware = mkOption {
|
||||
type = types.listOf (types.enum ["amd" "intel" "nvidia"]);
|
||||
default = [];
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"amd"
|
||||
"intel"
|
||||
"nvidia"
|
||||
]
|
||||
);
|
||||
default = [ ];
|
||||
description = "List of hardware types (e.g. GPU and CPU vendors) to configure kernel settings for.";
|
||||
};
|
||||
|
||||
extraKernelParams = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
default = [ ];
|
||||
description = "Additional kernel parameters.";
|
||||
};
|
||||
|
||||
extraBlacklistedModules = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
default = [ ];
|
||||
description = "Additional kernel modules to blacklist.";
|
||||
};
|
||||
};
|
||||
@@ -45,52 +57,32 @@ in {
|
||||
boot = {
|
||||
consoleLogLevel = 3;
|
||||
|
||||
kernelPackages = let
|
||||
variant = cfg.variant or "latest";
|
||||
in
|
||||
if variant == "stable"
|
||||
then pkgs.linuxPackages
|
||||
else if variant == "latest"
|
||||
then pkgs.linuxPackages_latest
|
||||
else if variant == "cachyos"
|
||||
then pkgs.linuxPackages_cachyos
|
||||
else throw "Unknown kernel variant: ${variant}";
|
||||
kernelPackages =
|
||||
let
|
||||
variant = cfg.variant or "latest";
|
||||
in
|
||||
if variant == "stable" then
|
||||
pkgs.linuxPackages
|
||||
else if variant == "latest" then
|
||||
pkgs.linuxPackages_latest
|
||||
else if variant == "cachyos" then
|
||||
pkgs.linuxPackages_cachyos
|
||||
else
|
||||
throw "Unknown kernel variant: ${variant}";
|
||||
|
||||
kernelParams =
|
||||
["quiet" "splash"]
|
||||
++ (
|
||||
if hasHardware "amd"
|
||||
then ["amd_pstate=active"]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if hasHardware "intel"
|
||||
then []
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if hasHardware "nvidia"
|
||||
then []
|
||||
else []
|
||||
)
|
||||
++ cfg.extraKernelParams;
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
"splash"
|
||||
]
|
||||
++ (if hasHardware "amd" then [ "amd_pstate=active" ] else [ ])
|
||||
++ (if hasHardware "intel" then [ ] else [ ])
|
||||
++ (if hasHardware "nvidia" then [ ] else [ ])
|
||||
++ cfg.extraKernelParams;
|
||||
|
||||
blacklistedKernelModules =
|
||||
(
|
||||
if hasHardware "amd"
|
||||
then []
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if hasHardware "intel"
|
||||
then []
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if hasHardware "nvidia"
|
||||
then ["nouveau"]
|
||||
else []
|
||||
)
|
||||
(if hasHardware "amd" then [ ] else [ ])
|
||||
++ (if hasHardware "intel" then [ ] else [ ])
|
||||
++ (if hasHardware "nvidia" then [ "nouveau" ] else [ ])
|
||||
++ cfg.extraBlacklistedModules;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
"net.core.default_qdisc" = "cake";
|
||||
};
|
||||
|
||||
boot.kernelModules = ["tcp_bbr"];
|
||||
boot.kernelModules = [ "tcp_bbr" ];
|
||||
|
||||
security = {
|
||||
# pam.services.hyprlock.text = "auth include login";
|
||||
|
||||
@@ -4,10 +4,17 @@
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge mkForce;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkMerge
|
||||
mkForce
|
||||
;
|
||||
cfg = config.nixos.boot.loader;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.boot.loader = {
|
||||
default = {
|
||||
@@ -54,7 +61,7 @@ in {
|
||||
loader.systemd-boot.enable = mkForce false;
|
||||
};
|
||||
|
||||
environment.systemPackages = [pkgs.sbctl];
|
||||
environment.systemPackages = [ pkgs.sbctl ];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.hardware.bluetooth;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.hardware.bluetooth.enable = mkEnableOption "Enables bluetooth";
|
||||
};
|
||||
|
||||
@@ -3,8 +3,17 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkOption types mkIf mkMerge flatten concatMap;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkEnableOption
|
||||
mkOption
|
||||
types
|
||||
mkIf
|
||||
mkMerge
|
||||
flatten
|
||||
concatMap
|
||||
;
|
||||
|
||||
cfg = config.nixos.hardware.graphics;
|
||||
|
||||
@@ -42,13 +51,20 @@
|
||||
'';
|
||||
|
||||
hasVendor = vendor: builtins.elem vendor cfg.vendors;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options.nixos.hardware.graphics = {
|
||||
enable = mkEnableOption "Enable general graphics support";
|
||||
|
||||
vendors = mkOption {
|
||||
type = types.listOf (types.enum ["amd" "intel" "nvidia"]);
|
||||
default = ["amd"];
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"amd"
|
||||
"intel"
|
||||
"nvidia"
|
||||
]
|
||||
);
|
||||
default = [ "amd" ];
|
||||
description = "List of GPU vendors to configure support for.";
|
||||
};
|
||||
|
||||
@@ -59,7 +75,12 @@ in {
|
||||
description = "Use nvidia open driver";
|
||||
};
|
||||
package = mkOption {
|
||||
type = types.enum ["stable" "beta" "production" "latest"];
|
||||
type = types.enum [
|
||||
"stable"
|
||||
"beta"
|
||||
"production"
|
||||
"latest"
|
||||
];
|
||||
default = "stable";
|
||||
description = "NVidia driver package to use.";
|
||||
};
|
||||
@@ -71,52 +92,57 @@ in {
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
extraPackages = flatten (concatMap (
|
||||
extraPackages = flatten (
|
||||
concatMap (
|
||||
vendor:
|
||||
if vendor == "amd"
|
||||
then commonPackages ++ mesaVulkanPackages
|
||||
else if vendor == "intel"
|
||||
then
|
||||
commonPackages
|
||||
++ mesaVulkanPackages
|
||||
++ (with pkgs; [
|
||||
vpl-gpu-rt
|
||||
intel-media-driver
|
||||
intel-compute-runtime
|
||||
intel-vaapi-driver
|
||||
])
|
||||
else if vendor == "nvidia"
|
||||
then
|
||||
commonPackages
|
||||
++ (with pkgs; [
|
||||
nvidiaOffloadScript
|
||||
intel-media-driver
|
||||
nvidia-vaapi-driver
|
||||
vulkan-tools
|
||||
])
|
||||
else []
|
||||
)
|
||||
cfg.vendors);
|
||||
if vendor == "amd" then
|
||||
commonPackages ++ mesaVulkanPackages
|
||||
else if vendor == "intel" then
|
||||
commonPackages
|
||||
++ mesaVulkanPackages
|
||||
++ (with pkgs; [
|
||||
vpl-gpu-rt
|
||||
intel-media-driver
|
||||
intel-compute-runtime
|
||||
intel-vaapi-driver
|
||||
])
|
||||
else if vendor == "nvidia" then
|
||||
commonPackages
|
||||
++ (with pkgs; [
|
||||
nvidiaOffloadScript
|
||||
intel-media-driver
|
||||
nvidia-vaapi-driver
|
||||
vulkan-tools
|
||||
])
|
||||
else
|
||||
[ ]
|
||||
) cfg.vendors
|
||||
);
|
||||
|
||||
extraPackages32 = flatten (concatMap (_: commonPackages32) cfg.vendors);
|
||||
};
|
||||
|
||||
environment.systemPackages = flatten (concatMap (
|
||||
environment.systemPackages = flatten (
|
||||
concatMap (
|
||||
vendor:
|
||||
if vendor == "amd"
|
||||
then
|
||||
tools
|
||||
++ (with pkgs; [
|
||||
# rocmPackages.rpp
|
||||
# rocmPackages.clr
|
||||
])
|
||||
else if vendor == "intel"
|
||||
then tools
|
||||
else if vendor == "nvidia"
|
||||
then with pkgs; [egl-wayland libGL]
|
||||
else []
|
||||
)
|
||||
cfg.vendors);
|
||||
if vendor == "amd" then
|
||||
tools
|
||||
++ (with pkgs; [
|
||||
# rocmPackages.rpp
|
||||
# rocmPackages.clr
|
||||
])
|
||||
else if vendor == "intel" then
|
||||
tools
|
||||
else if vendor == "nvidia" then
|
||||
with pkgs;
|
||||
[
|
||||
egl-wayland
|
||||
libGL
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
) cfg.vendors
|
||||
);
|
||||
}
|
||||
|
||||
(mkIf (hasVendor "amd") {
|
||||
@@ -126,13 +152,14 @@ in {
|
||||
(mkIf (hasVendor "nvidia") {
|
||||
hardware.nvidia = {
|
||||
package =
|
||||
if cfg.nvidia.package == "beta"
|
||||
then config.boot.kernelPackages.nvidiaPackages.beta
|
||||
else if cfg.nvidia.package == "latest"
|
||||
then config.boot.kernelPackages.nvidiaPackages.latest
|
||||
else if cfg.nvidia.package == "production"
|
||||
then config.boot.kernelPackages.nvidiaPackages.production
|
||||
else config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
if cfg.nvidia.package == "beta" then
|
||||
config.boot.kernelPackages.nvidiaPackages.beta
|
||||
else if cfg.nvidia.package == "latest" then
|
||||
config.boot.kernelPackages.nvidiaPackages.latest
|
||||
else if cfg.nvidia.package == "production" then
|
||||
config.boot.kernelPackages.nvidiaPackages.production
|
||||
else
|
||||
config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = false;
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.hardware.logitech;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.hardware.logitech.enable = mkEnableOption "Enables logitech";
|
||||
};
|
||||
|
||||
@@ -2,29 +2,38 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption types;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
types
|
||||
;
|
||||
cfg = config.nixos.hardware.network;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.hardware.network = {
|
||||
enable = mkEnableOption "Enable the custom networking module";
|
||||
interfaces = mkOption {
|
||||
type = types.attrsOf (types.submodule {
|
||||
options = {
|
||||
allowedTCPPorts = mkOption {
|
||||
type = types.listOf types.int;
|
||||
default = [];
|
||||
description = "List of allowed TCP ports for this interface.";
|
||||
type = types.attrsOf (
|
||||
types.submodule {
|
||||
options = {
|
||||
allowedTCPPorts = mkOption {
|
||||
type = types.listOf types.int;
|
||||
default = [ ];
|
||||
description = "List of allowed TCP ports for this interface.";
|
||||
};
|
||||
allowedUDPPorts = mkOption {
|
||||
type = types.listOf types.int;
|
||||
default = [ ];
|
||||
description = "List of allowed UDP ports for this interface.";
|
||||
};
|
||||
};
|
||||
allowedUDPPorts = mkOption {
|
||||
type = types.listOf types.int;
|
||||
default = [];
|
||||
description = "List of allowed UDP ports for this interface.";
|
||||
};
|
||||
};
|
||||
});
|
||||
default = {};
|
||||
}
|
||||
);
|
||||
default = { };
|
||||
description = "Network interface configurations.";
|
||||
};
|
||||
extraHosts = mkOption {
|
||||
@@ -38,7 +47,7 @@ in {
|
||||
config = mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.interfaces != {} -> config.networking.networkmanager.enable;
|
||||
assertion = cfg.interfaces != { } -> config.networking.networkmanager.enable;
|
||||
message = "Network interfaces configured but NetworkManager is not enabled";
|
||||
}
|
||||
];
|
||||
@@ -54,8 +63,8 @@ in {
|
||||
};
|
||||
|
||||
systemd.services.NetworkManager = {
|
||||
wants = ["nftables.service"];
|
||||
after = ["nftables.service"];
|
||||
wants = [ "nftables.service" ];
|
||||
after = [ "nftables.service" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.android;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.android.enable = mkEnableOption "Enables android tools";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.anyrun;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.anyrun.enable = mkEnableOption "Enables anyrun";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.beekeeper;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.beekeeper.enable = mkEnableOption "Enables Beekeeper Studio";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
cfg = config.nixos.programs.blender;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.blender = {
|
||||
enable = mkEnableOption "Enables Blender";
|
||||
@@ -19,11 +21,7 @@ in {
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
(
|
||||
if cfg.hip.enable
|
||||
then pkgs.blender-hip
|
||||
else pkgs.blender
|
||||
)
|
||||
(if cfg.hip.enable then pkgs.blender-hip else pkgs.blender)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.corectrl;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.corectrl.enable = mkEnableOption "Enables CoreCtrl";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.fish;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.fish.enable = mkEnableOption "Enables fish shell";
|
||||
};
|
||||
|
||||
@@ -4,11 +4,13 @@
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
cfg = config.nixos.programs.gamemode;
|
||||
pipewireLowLatencyModule = inputs.nix-gaming.nixosModules.pipewireLowLatency;
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
pipewireLowLatencyModule
|
||||
];
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.gamescope;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.gamescope.enable = mkEnableOption "Enables gamescope";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.gimp;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.gimp.enable = mkEnableOption "Enables gimp";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.gnome;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.gnome.enable = mkEnableOption "Enables gnome";
|
||||
};
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.hyprland;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.hyprland.appearance.enable = mkEnableOption "Enables appearance settings in Hyprland";
|
||||
nixos.programs.hyprland.appearance.enable =
|
||||
mkEnableOption "Enables appearance settings in Hyprland";
|
||||
};
|
||||
config = mkIf cfg.appearance.enable {
|
||||
programs.hyprland.settings = {
|
||||
|
||||
@@ -4,10 +4,17 @@
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption mkDefault;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
mkDefault
|
||||
;
|
||||
cfg = config.nixos.programs.hyprland;
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.hyprland.nixosModules.default
|
||||
./appearance.nix
|
||||
|
||||
@@ -2,11 +2,13 @@
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge;
|
||||
cfg = config.nixos.programs.hyprland;
|
||||
host = config.networking.hostName;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.hyprland.inputs.enable = mkEnableOption "Enables input settings in Hyprland";
|
||||
};
|
||||
|
||||
@@ -3,17 +3,22 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge;
|
||||
cfg = config.nixos.programs.hyprland;
|
||||
host = config.networking.hostName;
|
||||
|
||||
toggle = program: let
|
||||
prog = builtins.substring 0 14 program;
|
||||
in "pkill ${prog} || uwsm app -- ${program}";
|
||||
toggle =
|
||||
program:
|
||||
let
|
||||
prog = builtins.substring 0 14 program;
|
||||
in
|
||||
"pkill ${prog} || uwsm app -- ${program}";
|
||||
|
||||
runOnce = program: "pgrep ${program} || uwsm app -- ${program}";
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.hyprland.keybinds.enable = mkEnableOption "Enables keybind settings in Hyprland";
|
||||
};
|
||||
|
||||
@@ -2,11 +2,13 @@
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge;
|
||||
host = config.networking.hostName;
|
||||
cfg = config.nixos.programs.hyprland.rules;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.hyprland.rules.enable = mkEnableOption "Enables window rule settings in Hyprland";
|
||||
};
|
||||
@@ -14,37 +16,30 @@ in {
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
{
|
||||
programs.hyprland.settings = {
|
||||
monitor =
|
||||
map (
|
||||
m: let
|
||||
resolution =
|
||||
if m.width != null && m.height != null
|
||||
then "${toString m.width}x${toString m.height}@${toString m.refreshRate}"
|
||||
else "preferred";
|
||||
monitor = map (
|
||||
m:
|
||||
let
|
||||
resolution =
|
||||
if m.width != null && m.height != null then
|
||||
"${toString m.width}x${toString m.height}@${toString m.refreshRate}"
|
||||
else
|
||||
"preferred";
|
||||
|
||||
position = m.position or "auto";
|
||||
scale = m.scale;
|
||||
position = m.position or "auto";
|
||||
scale = m.scale;
|
||||
|
||||
transformStr =
|
||||
if m.transform != 0
|
||||
then ",transform,${toString m.transform}"
|
||||
else "";
|
||||
transformStr = if m.transform != 0 then ",transform,${toString m.transform}" else "";
|
||||
|
||||
bitdepthStr =
|
||||
if m.bitDepth != null
|
||||
then ",bitdepth,${toString m.bitDepth}"
|
||||
else "";
|
||||
in "${m.name},${
|
||||
if m.enable
|
||||
then "${resolution},${position},${scale}${transformStr}${bitdepthStr}"
|
||||
else "disable"
|
||||
}"
|
||||
)
|
||||
config.settings.monitors;
|
||||
bitdepthStr = if m.bitDepth != null then ",bitdepth,${toString m.bitDepth}" else "";
|
||||
in
|
||||
"${m.name},${
|
||||
if m.enable then "${resolution},${position},${scale}${transformStr}${bitdepthStr}" else "disable"
|
||||
}"
|
||||
) config.settings.monitors;
|
||||
|
||||
workspace = map (
|
||||
m: "${m.workspace},monitor:${m.name}"
|
||||
) (lib.filter (m: m.enable && m.workspace != null) config.settings.monitors);
|
||||
workspace = map (m: "${m.workspace},monitor:${m.name}") (
|
||||
lib.filter (m: m.enable && m.workspace != null) config.settings.monitors
|
||||
);
|
||||
|
||||
windowrule = [
|
||||
"size 843 650, initialTitle:^(floatcal)$"
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge;
|
||||
cfg = config.nixos.programs.hyprland;
|
||||
host = config.networking.hostName;
|
||||
@@ -12,7 +13,8 @@
|
||||
"uwsm app -- keepassxc"
|
||||
"uwsm app -- nm-applet --indicator"
|
||||
];
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.hyprland.startup.enable = mkEnableOption "Enables startup settings in Hyprland";
|
||||
};
|
||||
@@ -28,30 +30,27 @@ in {
|
||||
}
|
||||
|
||||
(mkIf (host == "kima") {
|
||||
programs.hyprland.settings.exec-once =
|
||||
[
|
||||
"uwsm app -- mullvad-vpn"
|
||||
"uwsm app -- solaar -w hide -b regular"
|
||||
"uwsm app -- blueman-applet"
|
||||
]
|
||||
++ commonExecOnce;
|
||||
programs.hyprland.settings.exec-once = [
|
||||
"uwsm app -- mullvad-vpn"
|
||||
"uwsm app -- solaar -w hide -b regular"
|
||||
"uwsm app -- blueman-applet"
|
||||
]
|
||||
++ commonExecOnce;
|
||||
})
|
||||
|
||||
(mkIf (host == "bunk") {
|
||||
programs.hyprland.settings.exec-once =
|
||||
[
|
||||
"uwsm app -- blueman-applet"
|
||||
]
|
||||
++ commonExecOnce;
|
||||
programs.hyprland.settings.exec-once = [
|
||||
"uwsm app -- blueman-applet"
|
||||
]
|
||||
++ commonExecOnce;
|
||||
})
|
||||
|
||||
(mkIf (host == "toothpc") {
|
||||
programs.hyprland.settings.exec-once =
|
||||
[
|
||||
"uwsm app -- mullvad-vpn"
|
||||
"uwsm app -- solaar -w hide -b regular"
|
||||
]
|
||||
++ commonExecOnce;
|
||||
programs.hyprland.settings.exec-once = [
|
||||
"uwsm app -- mullvad-vpn"
|
||||
"uwsm app -- solaar -w hide -b regular"
|
||||
]
|
||||
++ commonExecOnce;
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.inkscape;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.inkscape.enable = mkEnableOption "Enables inkscape";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.lact;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.lact.enable = mkEnableOption "Enables lact for GPU monitoring and tweaking";
|
||||
};
|
||||
@@ -18,8 +20,8 @@ in {
|
||||
systemd.services.lact = {
|
||||
enable = cfg.enable;
|
||||
description = "GPU Control Daemon";
|
||||
after = ["multi-user.target"];
|
||||
wantedBy = ["multi-user.target"];
|
||||
after = [ "multi-user.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.lact}/bin/lact daemon";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.lutris;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.lutris.enable = mkEnableOption "Enables lutris";
|
||||
};
|
||||
|
||||
@@ -3,14 +3,16 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.microfetch;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.microfetch.enable = mkEnableOption "Enables microfetch";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [pkgs.microfetch];
|
||||
environment.systemPackages = [ pkgs.microfetch ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.mysql-workbench;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.mysql-workbench.enable = mkEnableOption "Enables MySQL Workbench";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
cfg = config.nixos.programs.nh;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.nh = {
|
||||
enable = mkEnableOption "Enables nix helper";
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.npm;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.npm.enable = mkEnableOption "Enables npm";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.obsidian;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.obsidian.enable = mkEnableOption "Enables obsidian";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,17 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkOption mkMerge types;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkOption
|
||||
mkMerge
|
||||
types
|
||||
;
|
||||
cfg = config.nixos.programs.pkgs;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.pkgs = {
|
||||
enable = mkOption {
|
||||
@@ -44,7 +51,8 @@ in {
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs;
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
mkMerge [
|
||||
[
|
||||
pciutils
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.steam;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.steam.enable = mkEnableOption "Enables steam";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.thunar;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.thunar.enable = mkEnableOption "Enables thunar file manager";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.yubikey;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.yubikey.enable = mkEnableOption "Enables yubikey utilities";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.zsh;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.programs.zsh.enable = mkEnableOption "Enables zsh shell";
|
||||
};
|
||||
|
||||
@@ -5,10 +5,17 @@
|
||||
pkgs,
|
||||
self,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption mkMerge;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
mkMerge
|
||||
;
|
||||
cfg = config.nixos.services.agenix;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.agenix = {
|
||||
enable = mkEnableOption "Enables agenix system environment";
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.blueman;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.blueman.enable = mkEnableOption "Enables blueman";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.dbus;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.dbus.enable = mkEnableOption "Enables dbus";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.dconf;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.dconf.enable = mkEnableOption "Enables dconf";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.flatpak;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.flatpak.enable = mkEnableOption "Enables flatpaks and gnome software";
|
||||
};
|
||||
@@ -17,9 +19,9 @@ in {
|
||||
];
|
||||
systemd.services.flatpak-repo = {
|
||||
description = "Add flathub repository";
|
||||
after = ["network-online.target"];
|
||||
wants = ["network-online.target"];
|
||||
path = [pkgs.flatpak];
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
path = [ pkgs.flatpak ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
@@ -27,7 +29,7 @@ in {
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
wantedBy = ["multi-user.target"];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.fwupd;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.fwupd.enable = mkEnableOption "Enables fwupd";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.gnome-keyring;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.gnome-keyring.enable = mkEnableOption "Enables gnome-keyring";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,17 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption types;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
types
|
||||
;
|
||||
cfg = config.nixos.services.greetd;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.greetd = {
|
||||
enable = mkEnableOption {
|
||||
@@ -22,18 +29,20 @@ in {
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.greetd = let
|
||||
session = {
|
||||
command = "${lib.getExe config.programs.uwsm.package} start hyprland-uwsm.desktop";
|
||||
user = cfg.user;
|
||||
services.greetd =
|
||||
let
|
||||
session = {
|
||||
command = "${lib.getExe config.programs.uwsm.package} start hyprland-uwsm.desktop";
|
||||
user = cfg.user;
|
||||
};
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
settings = {
|
||||
terminal.vt = 1;
|
||||
default_session = session;
|
||||
initial_session = session;
|
||||
};
|
||||
};
|
||||
in {
|
||||
enable = true;
|
||||
settings = {
|
||||
terminal.vt = 1;
|
||||
default_session = session;
|
||||
initial_session = session;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.gvfs;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.gvfs.enable = mkEnableOption "Enables gvfs";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.kanata;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.kanata.enable = mkEnableOption "Enables kanata keyboard remapping";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.locate;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.locate.enable = mkEnableOption "Enables plocate";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.mullvad;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.mullvad.enable = mkEnableOption "Enables mullvad";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,17 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption types;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
types
|
||||
;
|
||||
cfg = config.nixos.services.nfs;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options.nixos.services.nfs = {
|
||||
enable = mkEnableOption "Enable NFS support";
|
||||
|
||||
@@ -37,18 +44,28 @@ in {
|
||||
};
|
||||
options = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = ["x-systemd.automount"];
|
||||
default = [ "x-systemd.automount" ];
|
||||
description = "Mount options";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
boot.supportedFilesystems = ["nfs"];
|
||||
boot.supportedFilesystems = [ "nfs" ];
|
||||
services.rpcbind.enable = true;
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [2049 4000 4001 4002];
|
||||
allowedUDPPorts = [2049 4000 4001 4002];
|
||||
allowedTCPPorts = [
|
||||
2049
|
||||
4000
|
||||
4001
|
||||
4002
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
2049
|
||||
4000
|
||||
4001
|
||||
4002
|
||||
];
|
||||
};
|
||||
|
||||
services.nfs.server = mkIf cfg.server.enable {
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.nix-ld;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.nix-ld.enable = mkEnableOption "Enables nix-ld";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.openssh;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.openssh.enable = mkEnableOption "Enables openssh";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.pcscd;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.pcscd.enable = mkEnableOption "Enables pcscd";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.pipewire;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.pipewire.enable = mkEnableOption "Enables pipewire";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.polkit;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.polkit.enable = mkEnableOption "Enables polkit";
|
||||
};
|
||||
@@ -21,9 +23,9 @@ in {
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
|
||||
wantedBy = ["graphical-session.target"];
|
||||
wants = ["graphical-session.target"];
|
||||
after = ["graphical-session.target"];
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.powerd;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.powerd.enable = mkEnableOption "Enables power-profiles-daemon";
|
||||
};
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.psd;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.psd.enable = mkEnableOption "Enables Profile Sync Daemon";
|
||||
};
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.samba;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.samba.enable = mkEnableOption "Enables samba";
|
||||
};
|
||||
|
||||
@@ -3,15 +3,26 @@
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption types;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
types
|
||||
;
|
||||
cfg = config.nixos.services.scx;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.scx = {
|
||||
enable = mkEnableOption "Enables scx scheduler";
|
||||
scheduler = mkOption {
|
||||
type = types.enum ["scx_lavd" "scx_rusty" "scx_bpfland"];
|
||||
type = types.enum [
|
||||
"scx_lavd"
|
||||
"scx_rusty"
|
||||
"scx_bpfland"
|
||||
];
|
||||
description = "Selects the scheduler for scx";
|
||||
default = "scx_lavd";
|
||||
};
|
||||
@@ -28,7 +39,7 @@ in {
|
||||
];
|
||||
systemd.services.scx = {
|
||||
enable = true;
|
||||
wantedBy = ["multi-user.target"];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
unitConfig = {
|
||||
Description = "Start scx_scheduler";
|
||||
ConditionPathIsDirectory = "/sys/kernel/sched_ext";
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.udisks;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.udisks.enable = mkEnableOption "Enables udisks";
|
||||
};
|
||||
|
||||
@@ -2,16 +2,28 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkOption types mkEnableOption;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkOption
|
||||
types
|
||||
mkEnableOption
|
||||
;
|
||||
cfg = config.nixos.services.xserver;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.xserver = {
|
||||
enable = mkEnableOption "Enables xserver";
|
||||
videoDrivers = mkOption {
|
||||
type = types.listOf (types.enum ["amdgpu" "nvidia"]);
|
||||
default = ["amdgpu"];
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"amdgpu"
|
||||
"nvidia"
|
||||
]
|
||||
);
|
||||
default = [ "amdgpu" ];
|
||||
description = "The names of the video drivers the configuration supports";
|
||||
};
|
||||
xkbLayout = mkOption {
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.services.zram;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.services.zram.enable = mkEnableOption "Enables zram";
|
||||
};
|
||||
|
||||
@@ -4,10 +4,12 @@
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
cfg = config.nixos.system.devpkgs;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.system.devpkgs = {
|
||||
enable = mkOption {
|
||||
|
||||
@@ -4,10 +4,12 @@
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
cfg = config.nixos.system.fonts;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.system.fonts = {
|
||||
enable = mkOption {
|
||||
@@ -49,10 +51,10 @@ in {
|
||||
];
|
||||
|
||||
fontconfig.defaultFonts = {
|
||||
serif = ["Tinos"];
|
||||
sansSerif = ["Inter"];
|
||||
monospace = ["Input Mono Narrow Light"];
|
||||
emoji = ["Noto Color Emoji"];
|
||||
serif = [ "Tinos" ];
|
||||
sansSerif = [ "Inter" ];
|
||||
monospace = [ "Input Mono Narrow Light" ];
|
||||
emoji = [ "Noto Color Emoji" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,8 +2,14 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkOption mkDefault types;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkOption
|
||||
mkDefault
|
||||
types
|
||||
;
|
||||
cfg = config.nixos.system.locale;
|
||||
defaultCategories = [
|
||||
"LC_ADDRESS"
|
||||
@@ -16,7 +22,8 @@
|
||||
"LC_TELEPHONE"
|
||||
"LC_TIME"
|
||||
];
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.system.locale = {
|
||||
enable = mkOption {
|
||||
@@ -58,7 +65,7 @@ in {
|
||||
time.timeZone = mkDefault cfg.timeZone;
|
||||
i18n.defaultLocale = mkDefault cfg.defaultLocale;
|
||||
i18n.extraLocaleSettings = mkIf (cfg.extraLocale != null) (
|
||||
lib.foldl' (attrs: lc: attrs // {"${lc}" = cfg.extraLocale;}) {} cfg.categories
|
||||
lib.foldl' (attrs: lc: attrs // { "${lc}" = cfg.extraLocale; }) { } cfg.categories
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,10 +3,17 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkOption mkEnableOption types;
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkOption
|
||||
mkEnableOption
|
||||
types
|
||||
;
|
||||
cfg = config.nixos.system.xdg;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options = {
|
||||
nixos.system.xdg = {
|
||||
enable = mkEnableOption "Enable XDG portal.";
|
||||
@@ -23,10 +30,13 @@ in {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = cfg.xdgOpenUsePortal;
|
||||
config = {
|
||||
common.default = ["gtk"];
|
||||
hyprland.default = ["gtk" "hyprland"];
|
||||
common.default = [ "gtk" ];
|
||||
hyprland.default = [
|
||||
"gtk"
|
||||
"hyprland"
|
||||
];
|
||||
};
|
||||
extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user