chore: pretty up with alejandra
This commit is contained in:
parent
7bbda6140f
commit
37b85877bb
75 changed files with 584 additions and 452 deletions
|
|
@ -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";
|
||||
};
|
||||
|
|
@ -17,6 +19,6 @@ in
|
|||
|
||||
# Ensure firmware is available (needed for devices like Intel AX200)
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.firmware = [ pkgs.linux-firmware ];
|
||||
hardware.firmware = [pkgs.linux-firmware];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./bluetooth.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -10,16 +10,18 @@
|
|||
# - 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.";
|
||||
};
|
||||
|
|
@ -38,13 +40,12 @@ 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
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./custom-kernel-surfacepro-kbl.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./Bluetooth
|
||||
./Surface
|
||||
|
|
|
|||
|
|
@ -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 = [
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./brave.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./signal-desktop.nix
|
||||
./vesktop.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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./rustdesk.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -10,13 +10,14 @@
|
|||
# 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";
|
||||
|
||||
|
|
@ -32,6 +33,6 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = [ cfg.package ];
|
||||
home.packages = [cfg.package];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./Messaging
|
||||
./Remote-Support
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./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,8 +43,7 @@ in
|
|||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
|
||||
profiles.default.extensions =
|
||||
lib.optionals cfg.extensions.enable (
|
||||
profiles.default.extensions = lib.optionals cfg.extensions.enable (
|
||||
(lib.optionals cfg.extensions.standard (with pkgs.vscode-extensions; [
|
||||
catppuccin.catppuccin-vsc
|
||||
jnoortheen.nix-ide
|
||||
|
|
|
|||
|
|
@ -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)";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./classic-game-collection.nix
|
||||
./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;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
||||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./cava.nix
|
||||
./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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./camera.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./image-viewer.nix
|
||||
./krita.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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./kdenlive.nix
|
||||
./video-player.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";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 ];
|
||||
# };
|
||||
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./Audio
|
||||
./Capture
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./libreoffice.nix
|
||||
./pdf-reader.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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./Knowledge
|
||||
./Productivity
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./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)";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./Browsers
|
||||
./Communication
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./tools.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -7,27 +7,28 @@
|
|||
# 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; [
|
||||
home.packages = with pkgs;
|
||||
[
|
||||
fastfetch
|
||||
hyfetch
|
||||
bat
|
||||
|
|
@ -35,6 +36,7 @@ in
|
|||
tree
|
||||
lsd
|
||||
tmux
|
||||
] ++ cfg.extra;
|
||||
]
|
||||
++ cfg.extra;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./cli-tools
|
||||
./zsh
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./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)";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./private-webapps.nix
|
||||
./work-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)";
|
||||
|
||||
|
|
|
|||
|
|
@ -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)";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./GUI-Apps
|
||||
./Shell
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./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)";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./Steam
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./flatpak.nix
|
||||
./wireshark.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)";
|
||||
};
|
||||
|
|
@ -31,6 +33,6 @@ in
|
|||
};
|
||||
|
||||
# Optional explicit installation (not strictly needed)
|
||||
environment.systemPackages = [ pkgs.flatpak ];
|
||||
environment.systemPackages = [pkgs.flatpak];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,7 +28,7 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.wireshark ];
|
||||
environment.systemPackages = [pkgs.wireshark];
|
||||
|
||||
programs.wireshark = {
|
||||
enable = true; # Installs wireshark + sets dumpcap caps
|
||||
|
|
@ -35,7 +36,7 @@ in
|
|||
};
|
||||
|
||||
# Add user to wireshark group
|
||||
users.users.${cfg.username}.extraGroups = [ "wireshark" ];
|
||||
users.users.${cfg.username}.extraGroups = ["wireshark"];
|
||||
|
||||
assertions = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./docker.nix
|
||||
./openssh.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 = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)";
|
||||
|
||||
|
|
|
|||
|
|
@ -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,7 +42,7 @@ in
|
|||
];
|
||||
|
||||
# Optional: enable Podman socket activation
|
||||
services.dbus.packages = [ pkgs.podman ];
|
||||
services.dbus.packages = [pkgs.podman];
|
||||
|
||||
assertions = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./cli
|
||||
./Gaming
|
||||
|
|
|
|||
|
|
@ -8,13 +8,14 @@
|
|||
# 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)";
|
||||
};
|
||||
|
|
@ -27,4 +28,3 @@ in
|
|||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./c-compiler.nix
|
||||
./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)";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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)";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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)";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -43,15 +43,15 @@ with lib; let
|
|||
|
||||
# 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 {
|
|||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./Application
|
||||
./Programming-Tools
|
||||
|
|
|
|||
13
flake.nix
13
flake.nix
|
|
@ -10,12 +10,15 @@
|
|||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, ... }:
|
||||
let
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
...
|
||||
}: let
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
in
|
||||
{
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
in {
|
||||
################################################################
|
||||
# NixOS Modules
|
||||
################################################################
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
{ config, nixDirectory, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
nixDirectory,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
################################################################
|
||||
# Module Imports
|
||||
################################################################
|
||||
|
|
@ -12,7 +16,6 @@
|
|||
# Nyx Modules
|
||||
################################################################
|
||||
nyx-module.home = {
|
||||
|
||||
################################################################
|
||||
# Web Browsers
|
||||
################################################################
|
||||
|
|
@ -72,7 +75,7 @@
|
|||
|
||||
video-player = {
|
||||
enable = true;
|
||||
packages = [ pkgs.vlc pkgs.mpv ];
|
||||
packages = [pkgs.vlc pkgs.mpv];
|
||||
};
|
||||
|
||||
################################################################
|
||||
|
|
@ -94,7 +97,7 @@
|
|||
################################################################
|
||||
cli-tools = {
|
||||
enable = true;
|
||||
extra = [ pkgs.ripgrep pkgs.htop ];
|
||||
extra = [pkgs.ripgrep pkgs.htop];
|
||||
};
|
||||
|
||||
zsh.enable = true;
|
||||
|
|
@ -117,8 +120,7 @@
|
|||
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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue