From 37b85877bb0825739ddf19f34867478765ea8ef1 Mon Sep 17 00:00:00 2001 From: Peritia Date: Mon, 22 Sep 2025 16:16:02 +0200 Subject: [PATCH] chore: pretty up with alejandra --- Modules/Hardware/Bluetooth/bluetooth.nix | 18 ++--- Modules/Hardware/Bluetooth/default.nix | 7 +- .../Surface/custom-kernel-surfacepro-kbl.nix | 25 +++---- Modules/Hardware/Surface/default.nix | 7 +- Modules/Hardware/default.nix | 7 +- Modules/Home/GUI-Apps/Browsers/brave.nix | 25 +++---- Modules/Home/GUI-Apps/Browsers/default.nix | 7 +- .../Communication/Messaging/default.nix | 7 +- .../Messaging/signal-desktop.nix | 15 ++-- .../Communication/Messaging/vesktop.nix | 15 ++-- .../Communication/Remote-Support/default.nix | 7 +- .../Communication/Remote-Support/rustdesk.nix | 17 ++--- .../Home/GUI-Apps/Communication/default.nix | 7 +- Modules/Home/GUI-Apps/Development/default.nix | 7 +- .../Home/GUI-Apps/Development/vscodium.nix | 35 +++++---- .../Gaming/classic-game-collection.nix | 13 ++-- Modules/Home/GUI-Apps/Gaming/default.nix | 7 +- .../Home/GUI-Apps/Gaming/prismlauncher.nix | 21 +++--- .../Home/GUI-Apps/Multimedia/Audio/cava.nix | 21 +++--- .../GUI-Apps/Multimedia/Audio/default.nix | 7 +- .../GUI-Apps/Multimedia/Audio/spotify.nix | 15 ++-- .../GUI-Apps/Multimedia/Capture/camera.nix | 13 ++-- .../GUI-Apps/Multimedia/Capture/default.nix | 7 +- .../GUI-Apps/Multimedia/Graphics/default.nix | 7 +- .../Multimedia/Graphics/image-viewer.nix | 15 ++-- .../GUI-Apps/Multimedia/Graphics/krita.nix | 13 ++-- .../GUI-Apps/Multimedia/Video/default.nix | 7 +- .../GUI-Apps/Multimedia/Video/kdenlive.nix | 13 ++-- .../Multimedia/Video/video-player.nix | 20 +++--- .../Home/GUI-Apps/Multimedia/Video/zoom.nix | 15 ++-- Modules/Home/GUI-Apps/Multimedia/default.nix | 7 +- .../GUI-Apps/Office/Knowledge/default.nix | 7 +- .../GUI-Apps/Office/Knowledge/obsidian.nix | 15 ++-- .../GUI-Apps/Office/Productivity/default.nix | 7 +- .../Office/Productivity/libreoffice.nix | 15 ++-- .../Office/Productivity/pdf-reader.nix | 15 ++-- .../Office/Productivity/printer-scan.nix | 15 ++-- .../Office/Productivity/thunderbird.nix | 15 ++-- Modules/Home/GUI-Apps/Office/default.nix | 7 +- Modules/Home/GUI-Apps/VPN/default.nix | 7 +- Modules/Home/GUI-Apps/VPN/protonvpn.nix | 14 ++-- Modules/Home/GUI-Apps/default.nix | 7 +- Modules/Home/Shell/cli-tools/default.nix | 7 +- Modules/Home/Shell/cli-tools/tools.nix | 36 +++++----- Modules/Home/Shell/default.nix | 7 +- Modules/Home/Shell/zsh/default.nix | 7 +- Modules/Home/Shell/zsh/zsh.nix | 13 ++-- Modules/Home/Webapps/default.nix | 7 +- Modules/Home/Webapps/private-webapps.nix | 13 ++-- Modules/Home/Webapps/work-webapps.nix | 13 ++-- Modules/Home/default.nix | 7 +- .../Application/Gaming/Steam/default.nix | 7 +- .../System/Application/Gaming/Steam/steam.nix | 13 ++-- Modules/System/Application/Gaming/default.nix | 7 +- .../Special-Applications/default.nix | 7 +- .../Special-Applications/flatpak.nix | 16 +++-- .../Special-Applications/wireshark.nix | 19 ++--- Modules/System/Application/cli/default.nix | 7 +- Modules/System/Application/cli/docker.nix | 18 ++--- Modules/System/Application/cli/openssh.nix | 13 ++-- Modules/System/Application/cli/podman.nix | 19 ++--- Modules/System/Application/cli/vm.nix | 17 ++--- Modules/System/Application/cli/zsh.nix | 17 ++--- Modules/System/Application/default.nix | 7 +- .../System/Programming-Tools/c-compiler.nix | 20 +++--- Modules/System/Programming-Tools/default.nix | 7 +- Modules/System/Programming-Tools/go.nix | 13 ++-- Modules/System/Programming-Tools/lua.nix | 13 ++-- Modules/System/Programming-Tools/python.nix | 13 ++-- Modules/System/Programming-Tools/ruby.nix | 16 ++--- Modules/System/Programming-Tools/rust.nix | 13 ++-- Modules/System/Service/vnc-server.nix | 11 ++- Modules/System/default.nix | 7 +- flake.nix | 43 +++++------ other/example/simple/home.nix | 72 ++++++++++--------- 75 files changed, 584 insertions(+), 452 deletions(-) diff --git a/Modules/Hardware/Bluetooth/bluetooth.nix b/Modules/Hardware/Bluetooth/bluetooth.nix index 3895de9..54df0ee 100644 --- a/Modules/Hardware/Bluetooth/bluetooth.nix +++ b/Modules/Hardware/Bluetooth/bluetooth.nix @@ -1,9 +1,11 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.hardware.bluetooth; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.hardware.bluetooth; +in { options.nyx-module.hardware.bluetooth = { enable = lib.mkEnableOption "Enable the system Bluetooth module"; }; @@ -11,12 +13,12 @@ in config = lib.mkIf cfg.enable { # Enable Bluetooth support hardware.bluetooth = { - enable = true; # Enable Bluetooth service - powerOnBoot = true; # Power up the controller at boot + enable = true; # Enable Bluetooth service + powerOnBoot = true; # Power up the controller at boot }; # Ensure firmware is available (needed for devices like Intel AX200) hardware.enableAllFirmware = true; - hardware.firmware = [ pkgs.linux-firmware ]; + hardware.firmware = [pkgs.linux-firmware]; }; } diff --git a/Modules/Hardware/Bluetooth/default.nix b/Modules/Hardware/Bluetooth/default.nix index 18489a5..455f149 100644 --- a/Modules/Hardware/Bluetooth/default.nix +++ b/Modules/Hardware/Bluetooth/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./bluetooth.nix ]; diff --git a/Modules/Hardware/Surface/custom-kernel-surfacepro-kbl.nix b/Modules/Hardware/Surface/custom-kernel-surfacepro-kbl.nix index e207e2b..0197704 100644 --- a/Modules/Hardware/Surface/custom-kernel-surfacepro-kbl.nix +++ b/Modules/Hardware/Surface/custom-kernel-surfacepro-kbl.nix @@ -4,22 +4,24 @@ # - inputs.nixos-hardware.nixosModules.microsoft-surface-pro-intel # # Notes: -# - Estimated kernel build time: +# - Estimated kernel build time: # ~4h30m using Kernel 6.15.6 -# ~4h00m using Kernel 6.15.9 +# ~4h00m using Kernel 6.15.9 # - Known Issues: # - Battery not getting detected. Issue opened: https://github.com/NixOS/nixos-hardware/issues/1612 # -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.hardware.Custom-Kernel.SurfacePro-KabyLake; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.hardware.Custom-Kernel.SurfacePro-KabyLake; +in { options.nyx-module.hardware.Custom-Kernel.SurfacePro-KabyLake = { enable = lib.mkEnableOption "Enable Custom Surface Pro (Kaby Lake) kernel module"; kernelVersion = lib.mkOption { - type = lib.types.enum [ "stable" "longtime" ]; + type = lib.types.enum ["stable" "longtime"]; default = "stable"; description = "Choose which kernel version nixos-hardware will build for Surface Pro."; }; @@ -37,14 +39,13 @@ in ''; } ]; - - + # Pick kernel version for Surface hardware support hardware.microsoft-surface.kernelVersion = cfg.kernelVersion; # boot.kernelPackages = pkgs.linuxPackages_6_6; # normally set by nixos-hardware # Extra kernel modules - boot.kernelModules = [ "hid-microsoft" "battery" "ac" ]; + boot.kernelModules = ["hid-microsoft" "battery" "ac"]; hardware.enableAllFirmware = true; # Initrd modules — required for Surface hardware to function @@ -66,7 +67,7 @@ in #for camera libcamera - # for Battery + # for Battery tlp upower acpi diff --git a/Modules/Hardware/Surface/default.nix b/Modules/Hardware/Surface/default.nix index fa355e9..5472b75 100644 --- a/Modules/Hardware/Surface/default.nix +++ b/Modules/Hardware/Surface/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./custom-kernel-surfacepro-kbl.nix ]; diff --git a/Modules/Hardware/default.nix b/Modules/Hardware/default.nix index fc5a5b6..2326e26 100644 --- a/Modules/Hardware/default.nix +++ b/Modules/Hardware/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./Bluetooth ./Surface diff --git a/Modules/Home/GUI-Apps/Browsers/brave.nix b/Modules/Home/GUI-Apps/Browsers/brave.nix index ee84b64..71e3996 100644 --- a/Modules/Home/GUI-Apps/Browsers/brave.nix +++ b/Modules/Home/GUI-Apps/Browsers/brave.nix @@ -14,13 +14,14 @@ # - Default extensions include uBlock Origin, Proton Pass, Proton VPN # - Extra extensions must be specified by Chrome Web Store ID # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.brave; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.brave; +in { options.nyx-module.home.brave = { enable = lib.mkEnableOption "Enable Brave (home module)"; @@ -30,7 +31,7 @@ in extra = lib.mkOption { type = lib.types.listOf lib.types.str; default = []; - example = [ "abcdefghijklmnop" "qrstuvwxyz123456" ]; + example = ["abcdefghijklmnop" "qrstuvwxyz123456"]; description = "List of additional Brave extension IDs to install."; }; }; @@ -43,11 +44,11 @@ in extensions = lib.optionals cfg.extensions.enable ( (lib.optionals cfg.extensions.standard [ - { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # uBlock Origin - { id = "ghmbeldphafepmbegfdlkpapadhbakde"; } # Proton Pass - { id = "jplgfhpmjnbigmhklmmbgecoobifkmpa"; } # Proton VPN - ]) ++ - (map (id: { inherit id; }) cfg.extensions.extra) + {id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # uBlock Origin + {id = "ghmbeldphafepmbegfdlkpapadhbakde";} # Proton Pass + {id = "jplgfhpmjnbigmhklmmbgecoobifkmpa";} # Proton VPN + ]) + ++ (map (id: {inherit id;}) cfg.extensions.extra) ); commandLineArgs = [ diff --git a/Modules/Home/GUI-Apps/Browsers/default.nix b/Modules/Home/GUI-Apps/Browsers/default.nix index 10e340e..cb1407f 100644 --- a/Modules/Home/GUI-Apps/Browsers/default.nix +++ b/Modules/Home/GUI-Apps/Browsers/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./brave.nix ]; diff --git a/Modules/Home/GUI-Apps/Communication/Messaging/default.nix b/Modules/Home/GUI-Apps/Communication/Messaging/default.nix index 4a7ea6b..3a08d3f 100644 --- a/Modules/Home/GUI-Apps/Communication/Messaging/default.nix +++ b/Modules/Home/GUI-Apps/Communication/Messaging/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./signal-desktop.nix ./vesktop.nix diff --git a/Modules/Home/GUI-Apps/Communication/Messaging/signal-desktop.nix b/Modules/Home/GUI-Apps/Communication/Messaging/signal-desktop.nix index 5d03d78..151a699 100644 --- a/Modules/Home/GUI-Apps/Communication/Messaging/signal-desktop.nix +++ b/Modules/Home/GUI-Apps/Communication/Messaging/signal-desktop.nix @@ -7,13 +7,14 @@ # - enable → Enable Signal Desktop # - package → Override package (default: pkgs.signal-desktop) # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.signal-desktop; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.signal-desktop; +in { options.nyx-module.home.signal-desktop = { enable = lib.mkEnableOption "Enable signal-desktop (home) module"; @@ -25,6 +26,6 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = [cfg.package]; }; } diff --git a/Modules/Home/GUI-Apps/Communication/Messaging/vesktop.nix b/Modules/Home/GUI-Apps/Communication/Messaging/vesktop.nix index b5e6298..4cfe139 100644 --- a/Modules/Home/GUI-Apps/Communication/Messaging/vesktop.nix +++ b/Modules/Home/GUI-Apps/Communication/Messaging/vesktop.nix @@ -7,13 +7,14 @@ # - enable → Enable Vesktop client # - package → Override package (default: pkgs.vesktop) # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.vesktop; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.vesktop; +in { options.nyx-module.home.vesktop = { enable = lib.mkEnableOption "Enable vesktop (home) module"; @@ -25,6 +26,6 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = [cfg.package]; }; } diff --git a/Modules/Home/GUI-Apps/Communication/Remote-Support/default.nix b/Modules/Home/GUI-Apps/Communication/Remote-Support/default.nix index d431b76..99eb353 100644 --- a/Modules/Home/GUI-Apps/Communication/Remote-Support/default.nix +++ b/Modules/Home/GUI-Apps/Communication/Remote-Support/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./rustdesk.nix ]; diff --git a/Modules/Home/GUI-Apps/Communication/Remote-Support/rustdesk.nix b/Modules/Home/GUI-Apps/Communication/Remote-Support/rustdesk.nix index 50f8196..ba49f62 100644 --- a/Modules/Home/GUI-Apps/Communication/Remote-Support/rustdesk.nix +++ b/Modules/Home/GUI-Apps/Communication/Remote-Support/rustdesk.nix @@ -10,20 +10,21 @@ # Notes: # - Estimated build time: ~? Long.... # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.rustdesk; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.rustdesk; +in { options.nyx-module.home.rustdesk = { enable = lib.mkEnableOption "Enable rustdesk (home) module"; package = lib.mkOption { type = lib.types.package; default = pkgs.rustdesk; - description = '' + description = '' Package to install for RustDesk. You can override this if you want to pin a version or use a fork. ''; @@ -32,6 +33,6 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = [cfg.package]; }; } diff --git a/Modules/Home/GUI-Apps/Communication/default.nix b/Modules/Home/GUI-Apps/Communication/default.nix index 2b020de..227cf9a 100644 --- a/Modules/Home/GUI-Apps/Communication/default.nix +++ b/Modules/Home/GUI-Apps/Communication/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./Messaging ./Remote-Support diff --git a/Modules/Home/GUI-Apps/Development/default.nix b/Modules/Home/GUI-Apps/Development/default.nix index eaa8ce3..065e98c 100644 --- a/Modules/Home/GUI-Apps/Development/default.nix +++ b/Modules/Home/GUI-Apps/Development/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./vscodium.nix ]; diff --git a/Modules/Home/GUI-Apps/Development/vscodium.nix b/Modules/Home/GUI-Apps/Development/vscodium.nix index cbeda7b..9b8a03d 100644 --- a/Modules/Home/GUI-Apps/Development/vscodium.nix +++ b/Modules/Home/GUI-Apps/Development/vscodium.nix @@ -13,14 +13,14 @@ # Notes: # - Some Microsoft extensions may be broken (e.g., ms-python.python) # - - -{ config, pkgs, lib, ... }: - -let - cfg = config.nyx-module.home.vscodium; -in { + config, + pkgs, + lib, + ... +}: let + cfg = config.nyx-module.home.vscodium; +in { options.nyx-module.home.vscodium = { enable = lib.mkEnableOption "Enable VSCodium with extensions"; @@ -32,7 +32,7 @@ in extra = lib.mkOption { type = lib.types.listOf lib.types.package; default = []; - example = [ pkgs.vscode-extensions.ms-python.python ]; + example = [pkgs.vscode-extensions.ms-python.python]; description = "List of extra VSCodium extensions to install."; }; }; @@ -43,16 +43,15 @@ in enable = true; package = pkgs.vscodium; - profiles.default.extensions = - lib.optionals cfg.extensions.enable ( - (lib.optionals cfg.extensions.standard (with pkgs.vscode-extensions; [ - catppuccin.catppuccin-vsc - jnoortheen.nix-ide - ms-azuretools.vscode-docker - # ms-python.python # currently broken (pygls failure) - ])) - ++ cfg.extensions.extra - ); + profiles.default.extensions = lib.optionals cfg.extensions.enable ( + (lib.optionals cfg.extensions.standard (with pkgs.vscode-extensions; [ + catppuccin.catppuccin-vsc + jnoortheen.nix-ide + ms-azuretools.vscode-docker + # ms-python.python # currently broken (pygls failure) + ])) + ++ cfg.extensions.extra + ); }; }; } diff --git a/Modules/Home/GUI-Apps/Gaming/classic-game-collection.nix b/Modules/Home/GUI-Apps/Gaming/classic-game-collection.nix index 017ef0d..5eed2a7 100644 --- a/Modules/Home/GUI-Apps/Gaming/classic-game-collection.nix +++ b/Modules/Home/GUI-Apps/Gaming/classic-game-collection.nix @@ -15,13 +15,14 @@ # Options: # - enable → Enable the Classic Game Collection # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.classic-game-collection; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.classic-game-collection; +in { options.nyx-module.home.classic-game-collection = { enable = lib.mkEnableOption "Enable the Classic Game Collection (home module)"; }; diff --git a/Modules/Home/GUI-Apps/Gaming/default.nix b/Modules/Home/GUI-Apps/Gaming/default.nix index 7b13130..4da7065 100644 --- a/Modules/Home/GUI-Apps/Gaming/default.nix +++ b/Modules/Home/GUI-Apps/Gaming/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./classic-game-collection.nix ./prismlauncher.nix diff --git a/Modules/Home/GUI-Apps/Gaming/prismlauncher.nix b/Modules/Home/GUI-Apps/Gaming/prismlauncher.nix index efb8bc0..c8a6829 100644 --- a/Modules/Home/GUI-Apps/Gaming/prismlauncher.nix +++ b/Modules/Home/GUI-Apps/Gaming/prismlauncher.nix @@ -14,13 +14,14 @@ # - Installed via home.packages # - JDKs are added to PATH so PrismLauncher can discover them # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.prismlauncher; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.prismlauncher; +in { options.nyx-module.home.prismlauncher = { enable = lib.mkEnableOption "Enable PrismLauncher (Minecraft launcher)"; @@ -28,16 +29,16 @@ in jdks = lib.mkOption { type = lib.types.listOf lib.types.package; - default = [ pkgs.jdk17 ]; - example = [ pkgs.jdk8 pkgs.jdk17 pkgs.jdk21 ]; + default = [pkgs.jdk17]; + example = [pkgs.jdk8 pkgs.jdk17 pkgs.jdk21]; description = "List of Java runtimes to make available for PrismLauncher."; }; }; config = lib.mkIf cfg.enable { home.packages = - [ pkgs.prismlauncher ] - ++ lib.optionals cfg.includeFfmpeg [ pkgs.ffmpeg ] + [pkgs.prismlauncher] + ++ lib.optionals cfg.includeFfmpeg [pkgs.ffmpeg] ++ cfg.jdks; }; } diff --git a/Modules/Home/GUI-Apps/Multimedia/Audio/cava.nix b/Modules/Home/GUI-Apps/Multimedia/Audio/cava.nix index 3b55821..e4fbe8e 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Audio/cava.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Audio/cava.nix @@ -20,13 +20,14 @@ # settings.general.framerate = 120; # settings.input.method = "pulse"; # }; - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.cava; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.cava; +in { options.nyx-module.home.cava = { enable = lib.mkEnableOption "Enable CAVA (home) module"; @@ -42,7 +43,7 @@ in }; }; description = '' - Declarative CAVA settings, written to `~/.config/cava/config`. + Declarative CAVA settings, written to `~/.config/cava/config`. Ignored if `configText` is set. ''; example = { @@ -56,7 +57,7 @@ in type = lib.types.nullOr lib.types.lines; default = null; description = '' - Raw CAVA configuration file contents. + Raw CAVA configuration file contents. If set, overrides `settings` and is written directly to `~/.config/cava/config`. ''; example = '' @@ -64,7 +65,7 @@ in framerate = 120 [input] method = pulse - ''; + ''; }; }; @@ -73,11 +74,9 @@ in enable = true; package = pkgs.cava; - settings = lib.mkIf (cfg.configText == null) cfg.settings; }; - xdg.configFile."cava/config" = lib.mkIf (cfg.configText != null) { text = cfg.configText; }; diff --git a/Modules/Home/GUI-Apps/Multimedia/Audio/default.nix b/Modules/Home/GUI-Apps/Multimedia/Audio/default.nix index 50ccc2a..95098d9 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Audio/default.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Audio/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./cava.nix ./spotify.nix diff --git a/Modules/Home/GUI-Apps/Multimedia/Audio/spotify.nix b/Modules/Home/GUI-Apps/Multimedia/Audio/spotify.nix index 9ecd5a3..3b4c05b 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Audio/spotify.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Audio/spotify.nix @@ -7,13 +7,14 @@ # Notes: # - Installs into home.packages # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.spotify; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.spotify; +in { options.nyx-module.home.spotify = { enable = lib.mkEnableOption "Enable Spotify (home) module"; @@ -30,6 +31,6 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = [cfg.package]; }; } diff --git a/Modules/Home/GUI-Apps/Multimedia/Capture/camera.nix b/Modules/Home/GUI-Apps/Multimedia/Capture/camera.nix index 3407c74..b0bb968 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Capture/camera.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Capture/camera.nix @@ -7,13 +7,14 @@ # Notes: # - You can override the GUI package with another (e.g., cheese, kamoso) # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.camera; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.camera; +in { options.nyx-module.home.camera = { enable = lib.mkEnableOption "Enable camera (home) module"; diff --git a/Modules/Home/GUI-Apps/Multimedia/Capture/default.nix b/Modules/Home/GUI-Apps/Multimedia/Capture/default.nix index e05ea34..f57259c 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Capture/default.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Capture/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./camera.nix ]; diff --git a/Modules/Home/GUI-Apps/Multimedia/Graphics/default.nix b/Modules/Home/GUI-Apps/Multimedia/Graphics/default.nix index 1542fd5..4ca6390 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Graphics/default.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Graphics/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./image-viewer.nix ./krita.nix diff --git a/Modules/Home/GUI-Apps/Multimedia/Graphics/image-viewer.nix b/Modules/Home/GUI-Apps/Multimedia/Graphics/image-viewer.nix index 3159ce3..44b657c 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Graphics/image-viewer.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Graphics/image-viewer.nix @@ -6,13 +6,14 @@ # Notes: # - Defaults to Gwenview # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.image-viewer; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.image-viewer; +in { options.nyx-module.home.image-viewer = { enable = lib.mkEnableOption "Enable image viewer (home module)"; @@ -25,6 +26,6 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = [cfg.package]; }; } diff --git a/Modules/Home/GUI-Apps/Multimedia/Graphics/krita.nix b/Modules/Home/GUI-Apps/Multimedia/Graphics/krita.nix index e03b953..c230054 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Graphics/krita.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Graphics/krita.nix @@ -6,13 +6,14 @@ # Notes: # - Installed via home.packages # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.krita; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.krita; +in { options.nyx-module.home.krita = { enable = lib.mkEnableOption "Enable Krita (home) module"; }; diff --git a/Modules/Home/GUI-Apps/Multimedia/Video/default.nix b/Modules/Home/GUI-Apps/Multimedia/Video/default.nix index 62be2d7..1743664 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Video/default.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Video/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./kdenlive.nix ./video-player.nix diff --git a/Modules/Home/GUI-Apps/Multimedia/Video/kdenlive.nix b/Modules/Home/GUI-Apps/Multimedia/Video/kdenlive.nix index d1d62ea..1839715 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Video/kdenlive.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Video/kdenlive.nix @@ -9,13 +9,14 @@ # * pkgs.kdePackages.kdenlive (preferred, modern KDE split) # * pkgs.libsForQt5.kdenlive (older releases, fallback) # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.kdenlive; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.kdenlive; +in { options.nyx-module.home.kdenlive = { enable = lib.mkEnableOption "Enable Kdenlive (home) module"; }; diff --git a/Modules/Home/GUI-Apps/Multimedia/Video/video-player.nix b/Modules/Home/GUI-Apps/Multimedia/Video/video-player.nix index d1982ef..d6153ba 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Video/video-player.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Video/video-player.nix @@ -6,20 +6,21 @@ # Notes: # - Defaults to [ vlc ] # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.video-player; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.video-player; +in { options.nyx-module.home.video-player = { enable = lib.mkEnableOption "Enable video players (home module)"; packages = lib.mkOption { type = lib.types.listOf lib.types.package; - default = [ pkgs.vlc ]; - example = [ pkgs.vlc pkgs.mpv pkgs.celluloid ]; + default = [pkgs.vlc]; + example = [pkgs.vlc pkgs.mpv pkgs.celluloid]; description = "List of video/media players to install (e.g. vlc, mpv, celluloid)."; }; }; @@ -28,12 +29,11 @@ in home.packages = cfg.packages; }; } - ########## # Example ########## - # nyx-module.home.video-player = { # enable = true; # packages = [ pkgs.vlc pkgs.mpv ]; # }; + diff --git a/Modules/Home/GUI-Apps/Multimedia/Video/zoom.nix b/Modules/Home/GUI-Apps/Multimedia/Video/zoom.nix index 6a307b2..93b4ddd 100644 --- a/Modules/Home/GUI-Apps/Multimedia/Video/zoom.nix +++ b/Modules/Home/GUI-Apps/Multimedia/Video/zoom.nix @@ -9,13 +9,14 @@ # Notes: # - Installed via home.packages # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.zoom; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.zoom; +in { options.nyx-module.home.zoom = { enable = lib.mkEnableOption "Enable Zoom (home) module"; @@ -27,6 +28,6 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = [cfg.package]; }; } diff --git a/Modules/Home/GUI-Apps/Multimedia/default.nix b/Modules/Home/GUI-Apps/Multimedia/default.nix index fb5d596..b0c3013 100644 --- a/Modules/Home/GUI-Apps/Multimedia/default.nix +++ b/Modules/Home/GUI-Apps/Multimedia/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./Audio ./Capture diff --git a/Modules/Home/GUI-Apps/Office/Knowledge/default.nix b/Modules/Home/GUI-Apps/Office/Knowledge/default.nix index 299bc0e..3bfd35b 100644 --- a/Modules/Home/GUI-Apps/Office/Knowledge/default.nix +++ b/Modules/Home/GUI-Apps/Office/Knowledge/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./obsidian.nix ]; diff --git a/Modules/Home/GUI-Apps/Office/Knowledge/obsidian.nix b/Modules/Home/GUI-Apps/Office/Knowledge/obsidian.nix index fab0034..e1cf5a3 100644 --- a/Modules/Home/GUI-Apps/Office/Knowledge/obsidian.nix +++ b/Modules/Home/GUI-Apps/Office/Knowledge/obsidian.nix @@ -7,18 +7,19 @@ # - Consider adding theming support later # (e.g., https://github.com/jackiejude/obsidian-temple-os) # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.obsidian; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.obsidian; +in { options.nyx-module.home.obsidian = { enable = lib.mkEnableOption "Enable Obsidian (home module)"; }; config = lib.mkIf cfg.enable { - home.packages = [ pkgs.obsidian ]; + home.packages = [pkgs.obsidian]; }; } diff --git a/Modules/Home/GUI-Apps/Office/Productivity/default.nix b/Modules/Home/GUI-Apps/Office/Productivity/default.nix index cdaf7ff..633b16f 100644 --- a/Modules/Home/GUI-Apps/Office/Productivity/default.nix +++ b/Modules/Home/GUI-Apps/Office/Productivity/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./libreoffice.nix ./pdf-reader.nix diff --git a/Modules/Home/GUI-Apps/Office/Productivity/libreoffice.nix b/Modules/Home/GUI-Apps/Office/Productivity/libreoffice.nix index d97dae2..bf32b17 100644 --- a/Modules/Home/GUI-Apps/Office/Productivity/libreoffice.nix +++ b/Modules/Home/GUI-Apps/Office/Productivity/libreoffice.nix @@ -6,18 +6,19 @@ # Notes: # - Simple module, just adds LibreOffice to the user environment # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.libreoffice; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.libreoffice; +in { options.nyx-module.home.libreoffice = { enable = lib.mkEnableOption "Enable LibreOffice (home module)"; }; config = lib.mkIf cfg.enable { - home.packages = [ pkgs.libreoffice ]; + home.packages = [pkgs.libreoffice]; }; } diff --git a/Modules/Home/GUI-Apps/Office/Productivity/pdf-reader.nix b/Modules/Home/GUI-Apps/Office/Productivity/pdf-reader.nix index af7e3e3..2edef43 100644 --- a/Modules/Home/GUI-Apps/Office/Productivity/pdf-reader.nix +++ b/Modules/Home/GUI-Apps/Office/Productivity/pdf-reader.nix @@ -6,13 +6,14 @@ # Notes: # - Defaults to Okular # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.pdf-viewer; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.pdf-viewer; +in { options.nyx-module.home.pdf-viewer = { enable = lib.mkEnableOption "Enable PDF (home module)"; @@ -25,6 +26,6 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = [cfg.package]; }; } diff --git a/Modules/Home/GUI-Apps/Office/Productivity/printer-scan.nix b/Modules/Home/GUI-Apps/Office/Productivity/printer-scan.nix index 0ffaa08..46a4653 100644 --- a/Modules/Home/GUI-Apps/Office/Productivity/printer-scan.nix +++ b/Modules/Home/GUI-Apps/Office/Productivity/printer-scan.nix @@ -7,13 +7,14 @@ # - Default is `simple-scan` (GNOME Document Scanner) # - Can be overridden with another package such as `system-config-printer` # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.printer; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.printer; +in { options.nyx-module.home.printer = { enable = lib.mkEnableOption "Enable printer GUI (home module)"; @@ -26,6 +27,6 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = [cfg.package]; }; } diff --git a/Modules/Home/GUI-Apps/Office/Productivity/thunderbird.nix b/Modules/Home/GUI-Apps/Office/Productivity/thunderbird.nix index 84cedda..a7f150d 100644 --- a/Modules/Home/GUI-Apps/Office/Productivity/thunderbird.nix +++ b/Modules/Home/GUI-Apps/Office/Productivity/thunderbird.nix @@ -6,18 +6,19 @@ # Notes: # - Simple module, just adds Thunderbird to the user environment # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.thunderbird; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.thunderbird; +in { options.nyx-module.home.thunderbird = { enable = lib.mkEnableOption "Enable Thunderbird (home module)"; }; config = lib.mkIf cfg.enable { - home.packages = [ pkgs.thunderbird ]; + home.packages = [pkgs.thunderbird]; }; } diff --git a/Modules/Home/GUI-Apps/Office/default.nix b/Modules/Home/GUI-Apps/Office/default.nix index 6f5d9f8..fd949f2 100644 --- a/Modules/Home/GUI-Apps/Office/default.nix +++ b/Modules/Home/GUI-Apps/Office/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./Knowledge ./Productivity diff --git a/Modules/Home/GUI-Apps/VPN/default.nix b/Modules/Home/GUI-Apps/VPN/default.nix index f8d5c4c..d581192 100644 --- a/Modules/Home/GUI-Apps/VPN/default.nix +++ b/Modules/Home/GUI-Apps/VPN/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./protonvpn.nix ]; diff --git a/Modules/Home/GUI-Apps/VPN/protonvpn.nix b/Modules/Home/GUI-Apps/VPN/protonvpn.nix index 0d70b03..cd37760 100644 --- a/Modules/Home/GUI-Apps/VPN/protonvpn.nix +++ b/Modules/Home/GUI-Apps/VPN/protonvpn.nix @@ -8,14 +8,14 @@ # # Notes: # - GUI only by default (CLI version available as pkgs.protonvpn-cli) - - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.protonvpn; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.protonvpn; +in { options.nyx-module.home.protonvpn = { enable = lib.mkEnableOption "Enable ProtonVPN (home module)"; }; diff --git a/Modules/Home/GUI-Apps/default.nix b/Modules/Home/GUI-Apps/default.nix index a6b94e3..7c66b62 100644 --- a/Modules/Home/GUI-Apps/default.nix +++ b/Modules/Home/GUI-Apps/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./Browsers ./Communication diff --git a/Modules/Home/Shell/cli-tools/default.nix b/Modules/Home/Shell/cli-tools/default.nix index 0680e32..d696990 100644 --- a/Modules/Home/Shell/cli-tools/default.nix +++ b/Modules/Home/Shell/cli-tools/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./tools.nix ]; diff --git a/Modules/Home/Shell/cli-tools/tools.nix b/Modules/Home/Shell/cli-tools/tools.nix index ab656bb..554c7e1 100644 --- a/Modules/Home/Shell/cli-tools/tools.nix +++ b/Modules/Home/Shell/cli-tools/tools.nix @@ -7,34 +7,36 @@ # Options: # - enable → Enable CLI tools collection # - extra → List of extra packages to install - - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.cli-tools; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.cli-tools; +in { options.nyx-module.home.cli-tools = { enable = lib.mkEnableOption "Enable CLI tools (home module)"; extra = lib.mkOption { type = lib.types.listOf lib.types.package; default = []; - example = [ pkgs.ripgrep pkgs.htop ]; + example = [pkgs.ripgrep pkgs.htop]; description = "Extra CLI tools to install in addition to the defaults."; }; }; config = lib.mkIf cfg.enable { - home.packages = with pkgs; [ - fastfetch - hyfetch - bat - fzf - tree - lsd - tmux - ] ++ cfg.extra; + home.packages = with pkgs; + [ + fastfetch + hyfetch + bat + fzf + tree + lsd + tmux + ] + ++ cfg.extra; }; } diff --git a/Modules/Home/Shell/default.nix b/Modules/Home/Shell/default.nix index 5b9f980..9072fd2 100644 --- a/Modules/Home/Shell/default.nix +++ b/Modules/Home/Shell/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./cli-tools ./zsh diff --git a/Modules/Home/Shell/zsh/default.nix b/Modules/Home/Shell/zsh/default.nix index adc82e4..0942b59 100644 --- a/Modules/Home/Shell/zsh/default.nix +++ b/Modules/Home/Shell/zsh/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./zsh.nix ]; diff --git a/Modules/Home/Shell/zsh/zsh.nix b/Modules/Home/Shell/zsh/zsh.nix index aaae151..571bd4d 100644 --- a/Modules/Home/Shell/zsh/zsh.nix +++ b/Modules/Home/Shell/zsh/zsh.nix @@ -6,13 +6,14 @@ # # Options: # - enable → Enable Zsh in the user profile - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.zsh; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.zsh; +in { options.nyx-module.home.zsh = { enable = lib.mkEnableOption "Enable Zsh (home module)"; }; diff --git a/Modules/Home/Webapps/default.nix b/Modules/Home/Webapps/default.nix index 85d37b0..de0a5af 100644 --- a/Modules/Home/Webapps/default.nix +++ b/Modules/Home/Webapps/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./private-webapps.nix ./work-webapps.nix diff --git a/Modules/Home/Webapps/private-webapps.nix b/Modules/Home/Webapps/private-webapps.nix index 6791420..e7a0450 100644 --- a/Modules/Home/Webapps/private-webapps.nix +++ b/Modules/Home/Webapps/private-webapps.nix @@ -12,13 +12,14 @@ # Notes: # - Uses --app mode to create minimal browser windows # - Additional services can be added following the same pattern - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.private-webapps; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.private-webapps; +in { options.nyx-module.home.private-webapps = { enable = lib.mkEnableOption "Enable private webapps (home module)"; diff --git a/Modules/Home/Webapps/work-webapps.nix b/Modules/Home/Webapps/work-webapps.nix index 1a27803..fd9fcb3 100644 --- a/Modules/Home/Webapps/work-webapps.nix +++ b/Modules/Home/Webapps/work-webapps.nix @@ -18,13 +18,14 @@ # Notes: # - Uses --app mode for minimal windows (like PWAs) # - Outlook entry uses a custom profile directory for isolation - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.home.work-webapps; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.home.work-webapps; +in { options.nyx-module.home.work-webapps = { enable = lib.mkEnableOption "Enable work webapps (home module)"; diff --git a/Modules/Home/default.nix b/Modules/Home/default.nix index 39b9867..d7b7295 100644 --- a/Modules/Home/default.nix +++ b/Modules/Home/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./GUI-Apps ./Shell diff --git a/Modules/System/Application/Gaming/Steam/default.nix b/Modules/System/Application/Gaming/Steam/default.nix index 3977769..7ac7e21 100644 --- a/Modules/System/Application/Gaming/Steam/default.nix +++ b/Modules/System/Application/Gaming/Steam/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./steam.nix ]; diff --git a/Modules/System/Application/Gaming/Steam/steam.nix b/Modules/System/Application/Gaming/Steam/steam.nix index e34bc66..741ff17 100644 --- a/Modules/System/Application/Gaming/Steam/steam.nix +++ b/Modules/System/Application/Gaming/Steam/steam.nix @@ -14,13 +14,14 @@ # - openFirewall.dedicatedServer → Open firewall for Source Dedicated Server # - openFirewall.localNetworkGameTransfers → Open firewall for LAN transfers # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.steam; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.steam; +in { options.nyx-module.system.steam = { enable = lib.mkEnableOption "Enable Steam (system module)"; diff --git a/Modules/System/Application/Gaming/default.nix b/Modules/System/Application/Gaming/default.nix index 500a2bf..fd64cdd 100644 --- a/Modules/System/Application/Gaming/default.nix +++ b/Modules/System/Application/Gaming/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./Steam ]; diff --git a/Modules/System/Application/Special-Applications/default.nix b/Modules/System/Application/Special-Applications/default.nix index 633b39d..942495e 100644 --- a/Modules/System/Application/Special-Applications/default.nix +++ b/Modules/System/Application/Special-Applications/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./flatpak.nix ./wireshark.nix diff --git a/Modules/System/Application/Special-Applications/flatpak.nix b/Modules/System/Application/Special-Applications/flatpak.nix index cbd958d..088faa4 100644 --- a/Modules/System/Application/Special-Applications/flatpak.nix +++ b/Modules/System/Application/Special-Applications/flatpak.nix @@ -8,12 +8,14 @@ # Options: # - enable → Enable Flatpak system module # -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.flatpak; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.flatpak; +in { options.nyx-module.system.flatpak = { enable = lib.mkEnableOption "Enable Flatpak (system module)"; }; @@ -25,12 +27,12 @@ in xdg.portal = { enable = true; extraPortals = with pkgs; [ - xdg-desktop-portal-gtk # For GTK desktops + xdg-desktop-portal-gtk # For GTK desktops # xdg-desktop-portal-kde # Uncomment for KDE Plasma ]; }; # Optional explicit installation (not strictly needed) - environment.systemPackages = [ pkgs.flatpak ]; + environment.systemPackages = [pkgs.flatpak]; }; } diff --git a/Modules/System/Application/Special-Applications/wireshark.nix b/Modules/System/Application/Special-Applications/wireshark.nix index 5b3b247..b4f1f7a 100644 --- a/Modules/System/Application/Special-Applications/wireshark.nix +++ b/Modules/System/Application/Special-Applications/wireshark.nix @@ -9,13 +9,14 @@ # - enable → Enable Wireshark system module # - username → User to add to the wireshark group (required) # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.wireshark; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.wireshark; +in { options.nyx-module.system.wireshark = { enable = lib.mkEnableOption "Enable Wireshark (system module)"; @@ -27,15 +28,15 @@ in }; config = lib.mkIf cfg.enable { - environment.systemPackages = [ pkgs.wireshark ]; + environment.systemPackages = [pkgs.wireshark]; programs.wireshark = { - enable = true; # Installs wireshark + sets dumpcap caps + enable = true; # Installs wireshark + sets dumpcap caps package = pkgs.wireshark; }; # Add user to wireshark group - users.users.${cfg.username}.extraGroups = [ "wireshark" ]; + users.users.${cfg.username}.extraGroups = ["wireshark"]; assertions = [ { diff --git a/Modules/System/Application/cli/default.nix b/Modules/System/Application/cli/default.nix index ea61465..eb36cee 100644 --- a/Modules/System/Application/cli/default.nix +++ b/Modules/System/Application/cli/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./docker.nix ./openssh.nix diff --git a/Modules/System/Application/cli/docker.nix b/Modules/System/Application/cli/docker.nix index 72e6be2..85e78fb 100644 --- a/Modules/System/Application/cli/docker.nix +++ b/Modules/System/Application/cli/docker.nix @@ -15,13 +15,14 @@ # Notes: # - Rootless mode is disabled by default # - Uses cgroup v2 for better resource management on modern kernels - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.docker; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.docker; +in { options.nyx-module.system.docker = { enable = lib.mkEnableOption "Enable Docker (system module)"; @@ -47,7 +48,7 @@ in rootless.enable = cfg.rootless; }; - users.users.${cfg.username}.extraGroups = [ "docker" ]; + users.users.${cfg.username}.extraGroups = ["docker"]; environment.systemPackages = with pkgs; [ docker @@ -55,8 +56,7 @@ in ]; # Optional: Docker cgroup v2 (usually enabled by default in modern NixOS) - boot.kernelParams = [ "cgroup_enable=memory" "cgroup_memory=1" ]; - + boot.kernelParams = ["cgroup_enable=memory" "cgroup_memory=1"]; assertions = [ { diff --git a/Modules/System/Application/cli/openssh.nix b/Modules/System/Application/cli/openssh.nix index 715ebcd..0dedbf3 100644 --- a/Modules/System/Application/cli/openssh.nix +++ b/Modules/System/Application/cli/openssh.nix @@ -11,13 +11,14 @@ # Notes: # - By default, password authentication is disabled for better security # - Root login is disabled unless explicitly enabled - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.openssh; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.openssh; +in { options.nyx-module.system.openssh = { enable = lib.mkEnableOption "Enable OpenSSH (system module)"; diff --git a/Modules/System/Application/cli/podman.nix b/Modules/System/Application/cli/podman.nix index abd38ef..39705fe 100644 --- a/Modules/System/Application/cli/podman.nix +++ b/Modules/System/Application/cli/podman.nix @@ -13,13 +13,14 @@ # - Adds podman + podman-compose to system packages # - Enables D-Bus socket activation for Podman # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.podman; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.podman; +in { options.nyx-module.system.podman = { enable = lib.mkEnableOption "Enable Podman (system module)"; @@ -33,7 +34,7 @@ in config = lib.mkIf cfg.enable { virtualisation.podman.enable = true; - users.users.${cfg.username}.extraGroups = [ "podman" ]; + users.users.${cfg.username}.extraGroups = ["podman"]; environment.systemPackages = with pkgs; [ podman @@ -41,8 +42,8 @@ in ]; # Optional: enable Podman socket activation - services.dbus.packages = [ pkgs.podman ]; - + services.dbus.packages = [pkgs.podman]; + assertions = [ { assertion = cfg.username != ""; diff --git a/Modules/System/Application/cli/vm.nix b/Modules/System/Application/cli/vm.nix index ee6984d..3b150f7 100644 --- a/Modules/System/Application/cli/vm.nix +++ b/Modules/System/Application/cli/vm.nix @@ -15,13 +15,14 @@ # - virt-manager GUI is enabled automatically # - Only generic "kvm" kernel module is forced (host picks intel/amd) # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.vm; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.vm; +in { options.nyx-module.system.vm = { enable = lib.mkEnableOption "Enable VM (system module)"; @@ -49,10 +50,10 @@ in }; # Add user to groups - users.users.${cfg.username}.extraGroups = [ "libvirtd" "kvm" ]; + users.users.${cfg.username}.extraGroups = ["libvirtd" "kvm"]; # Enable kernel modules for virtualization - boot.kernelModules = [ "kvm" ]; + boot.kernelModules = ["kvm"]; # Enable GUI management tool programs.virt-manager.enable = true; diff --git a/Modules/System/Application/cli/zsh.nix b/Modules/System/Application/cli/zsh.nix index b42f95b..7a6a58a 100644 --- a/Modules/System/Application/cli/zsh.nix +++ b/Modules/System/Application/cli/zsh.nix @@ -11,13 +11,14 @@ # - theme → oh-my-zsh theme (default: "xiong-chiamiov-plus") # - plugins → List of oh-my-zsh plugins (default: [ "git" ]) # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.zsh; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.zsh; +in { options.nyx-module.system.zsh = { enable = lib.mkEnableOption "Enable Zsh (system module)"; @@ -31,7 +32,7 @@ in plugins = lib.mkOption { type = lib.types.listOf lib.types.str; - default = [ "git" ]; + default = ["git"]; description = "List of oh-my-zsh plugins to enable."; }; }; @@ -47,6 +48,6 @@ in }; # Add zsh to available shells - environment.shells = with pkgs; [ zsh ]; + environment.shells = with pkgs; [zsh]; }; } diff --git a/Modules/System/Application/default.nix b/Modules/System/Application/default.nix index 5f16a46..3acdddf 100644 --- a/Modules/System/Application/default.nix +++ b/Modules/System/Application/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./cli ./Gaming diff --git a/Modules/System/Programming-Tools/c-compiler.nix b/Modules/System/Programming-Tools/c-compiler.nix index ce853a8..111db15 100644 --- a/Modules/System/Programming-Tools/c-compiler.nix +++ b/Modules/System/Programming-Tools/c-compiler.nix @@ -8,23 +8,23 @@ # Options: # - enable → Enable C compiler toolchain # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.c-compiler; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.c-compiler; +in { options.nyx-module.system.c-compiler = { enable = lib.mkEnableOption "Enable C compiler (system module)"; }; config = lib.mkIf cfg.enable { environment.systemPackages = with pkgs; [ - gcc # C & C++ - clang # alt C/C++ - mono # C# + gcc # C & C++ + clang # alt C/C++ + mono # C# ]; }; } - diff --git a/Modules/System/Programming-Tools/default.nix b/Modules/System/Programming-Tools/default.nix index aa776f2..90d01ef 100644 --- a/Modules/System/Programming-Tools/default.nix +++ b/Modules/System/Programming-Tools/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./c-compiler.nix ./go.nix diff --git a/Modules/System/Programming-Tools/go.nix b/Modules/System/Programming-Tools/go.nix index 1501f54..b676968 100644 --- a/Modules/System/Programming-Tools/go.nix +++ b/Modules/System/Programming-Tools/go.nix @@ -6,13 +6,14 @@ # Options: # - enable → Enable Go system module # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.go; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.go; +in { options.nyx-module.system.go = { enable = lib.mkEnableOption "Enable Go (system module)"; }; diff --git a/Modules/System/Programming-Tools/lua.nix b/Modules/System/Programming-Tools/lua.nix index a7bae35..43bfd58 100644 --- a/Modules/System/Programming-Tools/lua.nix +++ b/Modules/System/Programming-Tools/lua.nix @@ -7,13 +7,14 @@ # Options: # - enable → Enable Lua system module # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.lua; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.lua; +in { options.nyx-module.system.lua = { enable = lib.mkEnableOption "Enable Lua (system module)"; }; diff --git a/Modules/System/Programming-Tools/python.nix b/Modules/System/Programming-Tools/python.nix index b547be5..72922a0 100644 --- a/Modules/System/Programming-Tools/python.nix +++ b/Modules/System/Programming-Tools/python.nix @@ -7,13 +7,14 @@ # Options: # - enable → Enable Python system module # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.python; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.python; +in { options.nyx-module.system.python = { enable = lib.mkEnableOption "Enable Python (system module)"; }; diff --git a/Modules/System/Programming-Tools/ruby.nix b/Modules/System/Programming-Tools/ruby.nix index ce85fa5..047cd87 100644 --- a/Modules/System/Programming-Tools/ruby.nix +++ b/Modules/System/Programming-Tools/ruby.nix @@ -13,13 +13,14 @@ # nyx-module.system.ruby.enable = true; # nyx-module.system.ruby.bundler = false; # disable Bundler explicitly # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.ruby; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.ruby; +in { options.nyx-module.system.ruby = { enable = lib.mkEnableOption "Enable Ruby (system module)"; @@ -35,8 +36,7 @@ in }; config = lib.mkIf cfg.enable { - environment.systemPackages = - with pkgs; + environment.systemPackages = with pkgs; [ ruby jruby diff --git a/Modules/System/Programming-Tools/rust.nix b/Modules/System/Programming-Tools/rust.nix index ae9a7c9..4cd1a00 100644 --- a/Modules/System/Programming-Tools/rust.nix +++ b/Modules/System/Programming-Tools/rust.nix @@ -7,13 +7,14 @@ # Options: # - enable → Enable Rust system module # - -{ config, lib, pkgs, ... }: - -let - cfg = config.nyx-module.system.rust; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.nyx-module.system.rust; +in { options.nyx-module.system.rust = { enable = lib.mkEnableOption "Enable Rust (system module)"; }; diff --git a/Modules/System/Service/vnc-server.nix b/Modules/System/Service/vnc-server.nix index 9b26188..130b579 100644 --- a/Modules/System/Service/vnc-server.nix +++ b/Modules/System/Service/vnc-server.nix @@ -41,17 +41,17 @@ with lib; let # Resolve the user home safely even if the user isn't declared yet. userHome = lib.attrByPath ["users" "users" cfg.user "home"] "/home/${cfg.user}" config; - # Only generate passwd file if enabled, otherwise null + # Only generate passwd file if enabled, otherwise null generatedPasswdFile = - if cfg.enable then + if cfg.enable + then pkgs.runCommand "tigervnc-passwd" { - buildInputs = [ pkgs.tigervnc ]; + buildInputs = [pkgs.tigervnc]; } '' mkdir -p $out echo -n "${cfg.password}" | vncpasswd -f > $out/passwd '' - else - null; + else null; in { options.nyx-module.system.service.vnc = { enable = mkEnableOption "Enable a TigerVNC multi-session server."; @@ -250,4 +250,3 @@ in { ]; }; } - diff --git a/Modules/System/default.nix b/Modules/System/default.nix index ff0cd2a..a572929 100644 --- a/Modules/System/default.nix +++ b/Modules/System/default.nix @@ -1,6 +1,9 @@ -{ config, lib, pkgs, ... }: - { + config, + lib, + pkgs, + ... +}: { imports = [ ./Application ./Programming-Tools diff --git a/flake.nix b/flake.nix index 17ab265..117f79c 100644 --- a/flake.nix +++ b/flake.nix @@ -10,25 +10,28 @@ }; }; - outputs = { self, nixpkgs, home-manager, ... }: - let - system = "x86_64-linux"; - pkgs = import nixpkgs { inherit system; }; - in - { - ################################################################ - # NixOS Modules - ################################################################ - nixosModules = { - default = import ./Modules/System; - hardware = import ./Modules/Hardware; - }; - - ################################################################ - # Home Manager Modules - ################################################################ - homeManagerModules = { - default = import ./Modules/Home; - }; + outputs = { + self, + nixpkgs, + home-manager, + ... + }: let + system = "x86_64-linux"; + pkgs = import nixpkgs {inherit system;}; + in { + ################################################################ + # NixOS Modules + ################################################################ + nixosModules = { + default = import ./Modules/System; + hardware = import ./Modules/Hardware; }; + + ################################################################ + # Home Manager Modules + ################################################################ + homeManagerModules = { + default = import ./Modules/Home; + }; + }; } diff --git a/other/example/simple/home.nix b/other/example/simple/home.nix index 3aa5ed4..ac4f289 100644 --- a/other/example/simple/home.nix +++ b/other/example/simple/home.nix @@ -1,6 +1,10 @@ -{ config, nixDirectory, pkgs, inputs, ... }: - { + config, + nixDirectory, + pkgs, + inputs, + ... +}: { ################################################################ # Module Imports ################################################################ @@ -12,16 +16,15 @@ # Nyx Modules ################################################################ nyx-module.home = { - ################################################################ # Web Browsers ################################################################ brave = { enable = true; extensions = { - enable = true; - standard = true; # uBlock, Proton Pass, Proton VPN - extra = []; # Additional extension IDs + enable = true; + standard = true; # uBlock, Proton Pass, Proton VPN + extra = []; # Additional extension IDs }; }; @@ -29,13 +32,13 @@ # Messaging ################################################################ signal-desktop.enable = true; - vesktop.enable = true; - zoom.enable = false; + vesktop.enable = true; + zoom.enable = false; ################################################################ # Remote Support ################################################################ - rustdesk.enable = false; + rustdesk.enable = false; ################################################################ # Development @@ -43,9 +46,9 @@ vscodium = { enable = true; extensions = { - enable = true; + enable = true; standard = true; - extra = []; + extra = []; }; }; @@ -53,35 +56,35 @@ # Gaming ################################################################ classic-game-collection.enable = true; - prismlauncher.enable = true; + prismlauncher.enable = true; ################################################################ # Audio / Visual Utilities ################################################################ - cava.enable = false; - spotify.enable = true; - camera.enable = true; + cava.enable = false; + spotify.enable = true; + camera.enable = true; image-viewer = { - enable = true; + enable = true; package = pkgs.gwenview; }; - krita.enable = true; - kdenlive.enable = true; + krita.enable = true; + kdenlive.enable = true; video-player = { - enable = true; - packages = [ pkgs.vlc pkgs.mpv ]; + enable = true; + packages = [pkgs.vlc pkgs.mpv]; }; ################################################################ # Office ################################################################ - obsidian.enable = true; + obsidian.enable = true; libreoffice.enable = true; - pdf-viewer.enable = true; - printer.enable = true; + pdf-viewer.enable = true; + printer.enable = true; thunderbird.enable = true; ################################################################ @@ -94,7 +97,7 @@ ################################################################ cli-tools = { enable = true; - extra = [ pkgs.ripgrep pkgs.htop ]; + extra = [pkgs.ripgrep pkgs.htop]; }; zsh.enable = true; @@ -103,22 +106,21 @@ # Webapps ################################################################ private-webapps = { - enable = true; - browser = pkgs.chromium; + enable = true; + browser = pkgs.chromium; whatsapp.enable = true; }; work-webapps = { - enable = true; - browser = pkgs.chromium; - slack.enable = false; - teams.enable = false; - outlook.enable = true; - entra.enable = false; + enable = true; + browser = pkgs.chromium; + slack.enable = false; + teams.enable = false; + outlook.enable = true; + entra.enable = false; }; }; -# note this is not all Nyx-Module can do. - -# other home.nix configurations + # note this is not all Nyx-Module can do. + # other home.nix configurations }