some refactoring and modularizing locale

This commit is contained in:
cnst
2024-10-23 20:11:01 +02:00
parent 86046c6414
commit b7784f9b15
58 changed files with 256 additions and 165 deletions

View File

@@ -1,5 +1,5 @@
{ {
system = { nixos = {
boot = { boot = {
loader = { loader = {
default = { default = {
@@ -90,7 +90,7 @@
enable = false; enable = false;
}; };
}; };
sysd = { services = {
network = { network = {
blueman = { blueman = {
enable = true; enable = true;
@@ -167,6 +167,14 @@
}; };
}; };
}; };
system = {
locale = {
enable = true;
timeZone = "Europe/Stockholm";
defaultLocale = "en_US.UTF-8";
extraLocale = "sv_SE.UTF-8";
};
};
utils = { utils = {
android = { android = {
enable = true; enable = true;

View File

@@ -1,5 +1,5 @@
{ {
system = { nixos = {
boot = { boot = {
loader = { loader = {
default = { default = {
@@ -73,7 +73,7 @@
enable = false; enable = false;
}; };
}; };
sysd = { services = {
network = { network = {
blueman = { blueman = {
enable = true; enable = true;
@@ -142,6 +142,14 @@
}; };
}; };
}; };
system = {
locale = {
enable = true;
timeZone = "Europe/Stockholm";
defaultLocale = "en_US.UTF-8";
extraLocale = "sv_SE.UTF-8";
};
};
utils = { utils = {
android = { android = {
enable = true; enable = true;
@@ -166,7 +174,9 @@
}; };
misc = { misc = {
enable = true; enable = true;
desktop.enable = false; desktop = {
enable = false;
};
}; };
nh = { nh = {
enable = true; enable = true;

View File

@@ -41,7 +41,7 @@
extraSpecialArgs = specialArgs; extraSpecialArgs = specialArgs;
}; };
} }
self.nixosModules.system self.nixosModules.nixos
inputs.chaotic.nixosModules.default inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default inputs.agenix.nixosModules.default
]; ];
@@ -59,7 +59,7 @@
extraSpecialArgs = specialArgs; extraSpecialArgs = specialArgs;
}; };
} }
self.nixosModules.system self.nixosModules.nixos
inputs.chaotic.nixosModules.default inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default inputs.agenix.nixosModules.default
]; ];
@@ -77,7 +77,7 @@
extraSpecialArgs = specialArgs; extraSpecialArgs = specialArgs;
}; };
} }
self.nixosModules.system self.nixosModules.nixos
inputs.chaotic.nixosModules.default inputs.chaotic.nixosModules.default
inputs.agenix.nixosModules.default inputs.agenix.nixosModules.default
]; ];

View File

@@ -1,5 +1,5 @@
{ {
system = { nixos = {
boot = { boot = {
loader = { loader = {
default = { default = {
@@ -91,7 +91,7 @@
enable = true; enable = true;
}; };
}; };
sysd = { services = {
network = { network = {
blueman = { blueman = {
enable = false; enable = false;
@@ -164,6 +164,14 @@
}; };
}; };
}; };
system = {
locale = {
enable = true;
timeZone = "Europe/Stockholm";
defaultLocale = "en_US.UTF-8";
extraLocale = "sv_SE.UTF-8";
};
};
utils = { utils = {
android = { android = {
enable = false; enable = false;

View File

@@ -53,67 +53,69 @@
./home/wm/utils/hyprpaper ./home/wm/utils/hyprpaper
]; ];
}; };
system = { nixos = {
imports = [ imports = [
./system/boot/loader ./nixos/boot/loader
./system/boot/kernel ./nixos/boot/kernel
./system/gaming/gamemode ./nixos/gaming/gamemode
./system/gaming/gamescope ./nixos/gaming/gamescope
./system/gaming/lutris ./nixos/gaming/lutris
./system/gaming/steam ./nixos/gaming/steam
./system/gui/gnome ./nixos/gui/gnome
./system/gui/hyprland ./nixos/gui/hyprland
./system/hardware/bluetooth ./nixos/hardware/bluetooth
./system/hardware/graphics/amd ./nixos/hardware/graphics/amd
./system/hardware/graphics/nvidia ./nixos/hardware/graphics/nvidia
./system/hardware/logitech ./nixos/hardware/logitech
./system/hardware/network ./nixos/hardware/network
./system/studio/blender ./nixos/studio/blender
./system/studio/gimp ./nixos/studio/gimp
./system/studio/inkscape ./nixos/studio/inkscape
./system/studio/beekeeper ./nixos/studio/beekeeper
./system/studio/mysql-workbench ./nixos/studio/mysql-workbench
./system/sysd/network/blueman ./nixos/services/network/blueman
./system/sysd/network/mullvad ./nixos/services/network/mullvad
./system/sysd/network/samba ./nixos/services/network/samba
./system/sysd/network/openssh ./nixos/services/network/openssh
./system/sysd/security/agenix ./nixos/services/security/agenix
./system/sysd/security/gnome-keyring ./nixos/services/security/gnome-keyring
./system/sysd/session/dbus ./nixos/services/session/dbus
./system/sysd/session/dconf ./nixos/services/session/dconf
./system/sysd/session/xserver ./nixos/services/session/xserver
./system/sysd/system/fwupd ./nixos/services/system/fwupd
./system/sysd/system/greetd ./nixos/services/system/greetd
./system/sysd/system/gvfs ./nixos/services/system/gvfs
./system/sysd/system/locate ./nixos/services/system/locate
./system/sysd/system/nix-ld ./nixos/services/system/nix-ld
./system/sysd/system/pcscd ./nixos/services/system/pcscd
./system/sysd/system/pipewire ./nixos/services/system/pipewire
./system/sysd/system/powerd ./nixos/services/system/powerd
./system/sysd/system/udisks ./nixos/services/system/udisks
./system/sysd/system/zram ./nixos/services/system/zram
./system/sysd/system/kanata ./nixos/services/system/kanata
./system/utils/android ./nixos/system/locale
./system/utils/anyrun
./system/utils/brightnessctl ./nixos/utils/android
./system/utils/chaotic ./nixos/utils/anyrun
./system/utils/corectrl ./nixos/utils/brightnessctl
./system/utils/microfetch ./nixos/utils/chaotic
./system/utils/misc ./nixos/utils/corectrl
./system/utils/nh ./nixos/utils/microfetch
./system/utils/npm ./nixos/utils/misc
./system/utils/obsidian ./nixos/utils/nh
./system/utils/yubikey ./nixos/utils/npm
./system/utils/zsh ./nixos/utils/obsidian
./nixos/utils/yubikey
./nixos/utils/zsh
]; ];
}; };
options = { options = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkOption; inherit (lib) mkOption;
cfg = config.system.boot.kernel; cfg = config.nixos.boot.kernel;
in { in {
options = { options = {
system.boot.kernel = { nixos.boot.kernel = {
variant = mkOption { variant = mkOption {
type = lib.types.enum ["stable" "latest" "cachyos"]; type = lib.types.enum ["stable" "latest" "cachyos"];
default = "latest"; default = "latest";
@@ -30,7 +30,7 @@ in {
extraBlacklistedModules = mkOption { extraBlacklistedModules = mkOption {
type = lib.types.listOf lib.types.str; type = lib.types.listOf lib.types.str;
default = []; default = [];
description = "Additional kernel system.to blacklist."; description = "Additional kernel nixos.to blacklist.";
}; };
}; };
}; };

View File

@@ -6,10 +6,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption mkMerge mkForce; inherit (lib) mkIf mkEnableOption mkMerge mkForce;
cfg = config.system.boot.loader; cfg = config.nixos.boot.loader;
in { in {
options = { options = {
system.boot.loader = { nixos.boot.loader = {
default = { default = {
enable = mkEnableOption "Enable default boot loader configuration."; enable = mkEnableOption "Enable default boot loader configuration.";
}; };
@@ -28,7 +28,7 @@ in {
assertions = [ assertions = [
{ {
assertion = !(cfg.default.enable && cfg.lanzaboote.enable); assertion = !(cfg.default.enable && cfg.lanzaboote.enable);
message = "Only one of system.boot.loader.default.enable and system.boot.loader.lanzaboote.enable can be set to true."; message = "Only one of nixos.boot.loader.default.enable and nixos.boot.loader.lanzaboote.enable can be set to true.";
} }
]; ];
} }

View File

@@ -6,14 +6,14 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption mkOption; inherit (lib) mkIf mkEnableOption mkOption;
cfg = config.system.gaming.gamemode; cfg = config.nixos.gaming.gamemode;
pipewireLowLatencyModule = inputs.nix-gaming.nixosModules.pipewireLowLatency; pipewireLowLatencyModule = inputs.nix-gaming.nixosModules.pipewireLowLatency;
in { in {
imports = [ imports = [
pipewireLowLatencyModule pipewireLowLatencyModule
]; ];
options = { options = {
system.gaming.gamemode = { nixos.gaming.gamemode = {
enable = mkEnableOption "Enables gamemode"; enable = mkEnableOption "Enables gamemode";
optimizeGpu.enable = mkOption { optimizeGpu.enable = mkOption {
type = lib.types.bool; type = lib.types.bool;

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.gaming.gamescope; cfg = config.nixos.gaming.gamescope;
in { in {
options = { options = {
system.gaming.gamescope.enable = mkEnableOption "Enables gamescope"; nixos.gaming.gamescope.enable = mkEnableOption "Enables gamescope";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.gamescope = { programs.gamescope = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.gaming.lutris; cfg = config.nixos.gaming.lutris;
in { in {
options = { options = {
system.gaming.lutris.enable = mkEnableOption "Enables lutris"; nixos.gaming.lutris.enable = mkEnableOption "Enables lutris";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.gaming.steam; cfg = config.nixos.gaming.steam;
in { in {
options = { options = {
system.gaming.steam.enable = mkEnableOption "Enables steam"; nixos.gaming.steam.enable = mkEnableOption "Enables steam";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs = { programs = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.gui.gnome; cfg = config.nixos.gui.gnome;
in { in {
options = { options = {
system.gui.gnome.enable = mkEnableOption "Enables gnome"; nixos.gui.gnome.enable = mkEnableOption "Enables gnome";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services = { services = {

View File

@@ -6,10 +6,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.gui.hyprland; cfg = config.nixos.gui.hyprland;
in { in {
options = { options = {
system.gui.hyprland.enable = mkEnableOption "Enables hyprland"; nixos.gui.hyprland.enable = mkEnableOption "Enables hyprland";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.hyprland = { programs.hyprland = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.hardware.bluetooth; cfg = config.nixos.hardware.bluetooth;
in { in {
options = { options = {
system.hardware.bluetooth.enable = mkEnableOption "Enables bluetooth"; nixos.hardware.bluetooth.enable = mkEnableOption "Enables bluetooth";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
hardware = { hardware = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.hardware.graphics.amd; cfg = config.nixos.hardware.graphics.amd;
in { in {
options = { options = {
system.hardware.graphics.amd.enable = mkEnableOption "Enables AMD graphics"; nixos.hardware.graphics.amd.enable = mkEnableOption "Enables AMD graphics";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
hardware = { hardware = {

View File

@@ -15,10 +15,10 @@
exec "$@" exec "$@"
''; '';
inherit (lib) types mkIf mkEnableOption mkOption; inherit (lib) types mkIf mkEnableOption mkOption;
cfg = config.system.hardware.graphics.nvidia; cfg = config.nixos.hardware.graphics.nvidia;
in { in {
options = { options = {
system.hardware.graphics.nvidia = { nixos.hardware.graphics.nvidia = {
enable = mkEnableOption "Enables NVidia graphics"; enable = mkEnableOption "Enables NVidia graphics";
package = mkOption { package = mkOption {
type = types.enum ["stable" "beta" "production" "latest"]; type = types.enum ["stable" "beta" "production" "latest"];

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.hardware.logitech; cfg = config.nixos.hardware.logitech;
in { in {
options = { options = {
system.hardware.logitech.enable = mkEnableOption "Enables logitech"; nixos.hardware.logitech.enable = mkEnableOption "Enables logitech";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
hardware = { hardware = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption mkOption types; inherit (lib) mkIf mkEnableOption mkOption types;
cfg = config.system.hardware.network; cfg = config.nixos.hardware.network;
in { in {
options = { options = {
system = { nixos = {
hardware = { hardware = {
network = { network = {
enable = mkEnableOption "Enable the custom networking module"; enable = mkEnableOption "Enable the custom networking module";
@@ -15,7 +15,7 @@ in {
hostName = mkOption { hostName = mkOption {
type = types.str; type = types.str;
default = "default-hostname"; default = "default-hostname";
description = "Hostname for the system."; description = "Hostname for the nixos.";
}; };
interfaces = mkOption { interfaces = mkOption {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.network.blueman; cfg = config.nixos.services.network.blueman;
in { in {
options = { options = {
system.sysd.network.blueman.enable = mkEnableOption "Enables blueman"; nixos.services.network.blueman.enable = mkEnableOption "Enables blueman";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services = { services = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.network.mullvad; cfg = config.nixos.services.network.mullvad;
in { in {
options = { options = {
system.sysd.network.mullvad.enable = mkEnableOption "Enables mullvad"; nixos.services.network.mullvad.enable = mkEnableOption "Enables mullvad";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.mullvad-vpn = { services.mullvad-vpn = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.network.openssh; cfg = config.nixos.services.network.openssh;
in { in {
options = { options = {
system.sysd.network.openssh.enable = mkEnableOption "Enables openssh"; nixos.services.network.openssh.enable = mkEnableOption "Enables openssh";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.openssh = { services.openssh = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.network.samba; cfg = config.nixos.services.network.samba;
in { in {
options = { options = {
system.sysd.network.samba.enable = mkEnableOption "Enables samba"; nixos.services.network.samba.enable = mkEnableOption "Enables samba";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services = { services = {

View File

@@ -7,10 +7,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption mkOption mkMerge; inherit (lib) mkIf mkEnableOption mkOption mkMerge;
cfg = config.system.sysd.security.agenix; cfg = config.nixos.services.security.agenix;
in { in {
options = { options = {
system.sysd.security.agenix = { nixos.services.security.agenix = {
enable = mkEnableOption "Enables agenix system environment"; enable = mkEnableOption "Enables agenix system environment";
cnix.enable = mkOption { cnix.enable = mkOption {
type = lib.types.bool; type = lib.types.bool;

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.security.gnome-keyring; cfg = config.nixos.services.security.gnome-keyring;
in { in {
options = { options = {
system.sysd.security.gnome-keyring.enable = mkEnableOption "Enables gnome-keyring"; nixos.services.security.gnome-keyring.enable = mkEnableOption "Enables gnome-keyring";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.session.dbus; cfg = config.nixos.services.session.dbus;
in { in {
options = { options = {
system.sysd.session.dbus.enable = mkEnableOption "Enables dbus"; nixos.services.session.dbus.enable = mkEnableOption "Enables dbus";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.dbus = { services.dbus = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.session.dconf; cfg = config.nixos.services.session.dconf;
in { in {
options = { options = {
system.sysd.session.dconf.enable = mkEnableOption "Enables dconf"; nixos.services.session.dconf.enable = mkEnableOption "Enables dconf";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.dconf.enable = true; programs.dconf.enable = true;

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkOption types; inherit (lib) mkOption types;
cfg = config.system.sysd.session.xserver; cfg = config.nixos.services.session.xserver;
in { in {
options = { options = {
system.sysd.session.xserver = { nixos.services.session.xserver = {
videoDrivers = mkOption { videoDrivers = mkOption {
type = types.listOf (types.enum ["amdgpu" "nvidia"]); type = types.listOf (types.enum ["amdgpu" "nvidia"]);
default = ["amdgpu"]; default = ["amdgpu"];

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.fwupd; cfg = config.nixos.services.system.fwupd;
in { in {
options = { options = {
system.sysd.system.fwupd.enable = mkEnableOption "Enables fwupd"; nixos.services.system.fwupd.enable = mkEnableOption "Enables fwupd";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.fwupd.enable = true; services.fwupd.enable = true;

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption mkMerge mkOption types; inherit (lib) mkIf mkEnableOption mkMerge mkOption types;
cfg = config.system.sysd.system.greetd; cfg = config.nixos.services.system.greetd;
in { in {
options = { options = {
system.sysd.system.greetd = { nixos.services.system.greetd = {
enable = mkEnableOption { enable = mkEnableOption {
type = types.bool; type = types.bool;
default = false; default = false;

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.gvfs; cfg = config.nixos.services.system.gvfs;
in { in {
options = { options = {
system.sysd.system.gvfs.enable = mkEnableOption "Enables gvfs"; nixos.services.system.gvfs.enable = mkEnableOption "Enables gvfs";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.gvfs.enable = true; services.gvfs.enable = true;

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.kanata; cfg = config.nixos.services.system.kanata;
in { in {
options = { options = {
system.sysd.system.kanata.enable = mkEnableOption "Enables kanata keyboard remapping"; nixos.services.system.kanata.enable = mkEnableOption "Enables kanata keyboard remapping";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.kanata = { services.kanata = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.locate; cfg = config.nixos.services.system.locate;
in { in {
options = { options = {
system.sysd.system.locate.enable = mkEnableOption "Enables plocate"; nixos.services.system.locate.enable = mkEnableOption "Enables plocate";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.locate = { services.locate = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.nix-ld; cfg = config.nixos.services.system.nix-ld;
in { in {
options = { options = {
system.sysd.system.nix-ld.enable = mkEnableOption "Enables nix-ld"; nixos.services.system.nix-ld.enable = mkEnableOption "Enables nix-ld";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.nix-ld = { programs.nix-ld = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.pcscd; cfg = config.nixos.services.system.pcscd;
in { in {
options = { options = {
system.sysd.system.pcscd.enable = mkEnableOption "Enables pcscd"; nixos.services.system.pcscd.enable = mkEnableOption "Enables pcscd";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.pcscd.enable = true; services.pcscd.enable = true;

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.pipewire; cfg = config.nixos.services.system.pipewire;
in { in {
options = { options = {
system.sysd.system.pipewire.enable = mkEnableOption "Enables pipewire"; nixos.services.system.pipewire.enable = mkEnableOption "Enables pipewire";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.powerd; cfg = config.nixos.services.system.powerd;
in { in {
options = { options = {
system.sysd.system.powerd.enable = mkEnableOption "Enables power-profiles-daemon"; nixos.services.system.powerd.enable = mkEnableOption "Enables power-profiles-daemon";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services = { services = {

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.udisks; cfg = config.nixos.services.system.udisks;
in { in {
options = { options = {
system.sysd.system.udisks.enable = mkEnableOption "Enables udisks"; nixos.services.system.udisks.enable = mkEnableOption "Enables udisks";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.udisks2.enable = true; services.udisks2.enable = true;

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.sysd.system.zram; cfg = config.nixos.services.system.zram;
in { in {
options = { options = {
system.sysd.system.zram.enable = mkEnableOption "Enables zram"; nixos.services.system.zram.enable = mkEnableOption "Enables zram";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
zramSwap.enable = true; zramSwap.enable = true;

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.studio.beekeeper; cfg = config.nixos.studio.beekeeper;
in { in {
options = { options = {
system.studio.beekeeper.enable = mkEnableOption "Enables Beekeeper Studio"; nixos.studio.beekeeper.enable = mkEnableOption "Enables Beekeeper Studio";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption mkOption; inherit (lib) mkIf mkEnableOption mkOption;
cfg = config.system.studio.blender; cfg = config.nixos.studio.blender;
in { in {
options = { options = {
system.studio.blender = { nixos.studio.blender = {
enable = mkEnableOption "Enables Blender"; enable = mkEnableOption "Enables Blender";
hip.enable = mkOption { hip.enable = mkOption {
type = lib.types.bool; type = lib.types.bool;

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.studio.gimp; cfg = config.nixos.studio.gimp;
in { in {
options = { options = {
system.studio.gimp.enable = mkEnableOption "Enables gimp"; nixos.studio.gimp.enable = mkEnableOption "Enables gimp";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ environment.systemPackages = [

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.studio.inkscape; cfg = config.nixos.studio.inkscape;
in { in {
options = { options = {
system.studio.inkscape.enable = mkEnableOption "Enables inkscape"; nixos.studio.inkscape.enable = mkEnableOption "Enables inkscape";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.studio.mysql-workbench; cfg = config.nixos.studio.mysql-workbench;
in { in {
options = { options = {
system.studio.mysql-workbench.enable = mkEnableOption "Enables MySQL Workbench"; nixos.studio.mysql-workbench.enable = mkEnableOption "Enables MySQL Workbench";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -0,0 +1,64 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkOption mkDefault;
cfg = config.nixos.system.locale;
defaultCategories = [
"LC_ADDRESS"
"LC_IDENTIFICATION"
"LC_MEASUREMENT"
"LC_MONETARY"
"LC_NAME"
"LC_NUMERIC"
"LC_PAPER"
"LC_TELEPHONE"
"LC_TIME"
];
in {
options = {
nixos.system.locale = {
enable = mkOption {
type = lib.types.bool;
default = true;
description = "Enable locale configuration.";
};
timeZone = mkOption {
type = lib.types.str;
default = null;
description = "The system time zone (e.g., \"Europe/Stockholm\").";
};
defaultLocale = mkOption {
type = lib.types.str;
default = null;
description = "The default locale for the system (e.g., \"en_US.UTF-8\").";
};
extraLocale = mkOption {
type = lib.types.str;
default = null;
description = ''
The locale to use for specific LC_* categories.
If set, it will override the categories specified in `locale.categories`.
Example: "sv_SE.UTF-8".
'';
};
categories = mkOption {
type = lib.types.listOf lib.types.str;
default = defaultCategories;
description = ''
List of LC_* categories to override with `locale.extraLocale`.
Defaults to common locale categories.
'';
};
};
};
config = mkIf cfg.enable {
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
);
};
}

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.utils.android; cfg = config.nixos.utils.android;
in { in {
options = { options = {
system.utils.android.enable = mkEnableOption "Enables android tools"; nixos.utils.android.enable = mkEnableOption "Enables android tools";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.adb.enable = true; programs.adb.enable = true;

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.utils.anyrun; cfg = config.nixos.utils.anyrun;
in { in {
options = { options = {
system.utils.anyrun.enable = mkEnableOption "Enables anyrun"; nixos.utils.anyrun.enable = mkEnableOption "Enables anyrun";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ environment.systemPackages = [

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.utils.brightnessctl; cfg = config.nixos.utils.brightnessctl;
in { in {
options = { options = {
system.utils.brightnessctl.enable = mkEnableOption "Enables brigthnessctl"; nixos.utils.brightnessctl.enable = mkEnableOption "Enables brigthnessctl";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ environment.systemPackages = [

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption mkOption mkMerge; inherit (lib) mkIf mkEnableOption mkOption mkMerge;
cfg = config.system.utils.chaotic; cfg = config.nixos.utils.chaotic;
in { in {
options = { options = {
system.utils.chaotic = { nixos.utils.chaotic = {
enable = mkEnableOption "Enables Chaotic AUR packages"; enable = mkEnableOption "Enables Chaotic AUR packages";
amd.enable = mkOption { amd.enable = mkOption {
type = lib.types.bool; type = lib.types.bool;

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.utils.corectrl; cfg = config.nixos.utils.corectrl;
in { in {
options = { options = {
system.utils.corectrl.enable = mkEnableOption "Enables CoreCtrl"; nixos.utils.corectrl.enable = mkEnableOption "Enables CoreCtrl";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.corectrl = { programs.corectrl = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.utils.microfetch; cfg = config.nixos.utils.microfetch;
in { in {
options = { options = {
system.utils.microfetch.enable = mkEnableOption "Enables microfetch"; nixos.utils.microfetch.enable = mkEnableOption "Enables microfetch";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [inputs.microfetch.packages.x86_64-linux.default]; environment.systemPackages = [inputs.microfetch.packages.x86_64-linux.default];

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption mkOption mkMerge; inherit (lib) mkIf mkEnableOption mkOption mkMerge;
cfg = config.system.utils.misc; cfg = config.nixos.utils.misc;
in { in {
options = { options = {
system.utils.misc = { nixos.utils.misc = {
enable = mkEnableOption "Enables miscellaneous packages"; enable = mkEnableOption "Enables miscellaneous packages";
desktop.enable = mkOption { desktop.enable = mkOption {
type = lib.types.bool; type = lib.types.bool;

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption mkOption; inherit (lib) mkIf mkEnableOption mkOption;
cfg = config.system.utils.nh; cfg = config.nixos.utils.nh;
in { in {
options = { options = {
system.utils.nh = { nixos.utils.nh = {
enable = mkEnableOption "Enables nix helper"; enable = mkEnableOption "Enables nix helper";
clean = { clean = {
enable = mkEnableOption "Enables nix helper cleaning"; enable = mkEnableOption "Enables nix helper cleaning";

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.utils.npm; cfg = config.nixos.utils.npm;
in { in {
options = { options = {
system.utils.npm.enable = mkEnableOption "Enables npm"; nixos.utils.npm.enable = mkEnableOption "Enables npm";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.npm = { programs.npm = {

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.utils.obsidian; cfg = config.nixos.utils.obsidian;
in { in {
options = { options = {
system.utils.obsidian.enable = mkEnableOption "Enables obsidian"; nixos.utils.obsidian.enable = mkEnableOption "Enables obsidian";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ environment.systemPackages = [

View File

@@ -5,10 +5,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.utils.yubikey; cfg = config.nixos.utils.yubikey;
in { in {
options = { options = {
system.utils.yubikey.enable = mkEnableOption "Enables yubikey utilities"; nixos.utils.yubikey.enable = mkEnableOption "Enables yubikey utilities";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ environment.systemPackages = [

View File

@@ -4,10 +4,10 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.system.utils.zsh; cfg = config.nixos.utils.zsh;
in { in {
options = { options = {
system.utils.zsh.enable = mkEnableOption "Enables zsh shell"; nixos.utils.zsh.enable = mkEnableOption "Enables zsh shell";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.zsh.enable = cfg.enable; programs.zsh.enable = cfg.enable;

View File

@@ -1,7 +1,6 @@
{ {
imports = [ imports = [
# shared imports # shared imports
./locale
./fonts ./fonts
./security ./security
./xdg ./xdg