refactor
This commit is contained in:
@@ -2,7 +2,6 @@ let
|
||||
shared = [
|
||||
./etc
|
||||
./nix
|
||||
./modules
|
||||
];
|
||||
in {
|
||||
inherit shared;
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
nixpkgs.overlays = [inputs.fenix.overlays.default];
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Language servers, other utilities and tools
|
||||
gcc
|
||||
rust-analyzer-nightly
|
||||
rust-analyzer
|
||||
lua-language-server
|
||||
nixd
|
||||
php
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOption;
|
||||
cfg = config.systemModules.boot.kernel;
|
||||
in {
|
||||
options = {
|
||||
systemModules.boot.kernel = {
|
||||
variant = mkOption {
|
||||
type = lib.types.enum ["stable" "latest" "cachyos"];
|
||||
default = "latest";
|
||||
description = "Kernel variant to use.";
|
||||
};
|
||||
|
||||
hardware = mkOption {
|
||||
type = lib.types.enum ["amd" "nvidia"];
|
||||
default = "amd";
|
||||
description = "Hardware type (GPU) configuration.";
|
||||
};
|
||||
|
||||
extraKernelParams = mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
description = "Additional kernel parameters.";
|
||||
};
|
||||
|
||||
extraBlacklistedModules = mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
description = "Additional kernel systemModules to blacklist.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
boot = {
|
||||
consoleLogLevel = 3;
|
||||
|
||||
kernelPackages = let
|
||||
variant = cfg.variant or "latest"; # Ensure a default value
|
||||
in
|
||||
if variant == "stable"
|
||||
then pkgs.linuxPackages
|
||||
else if variant == "latest"
|
||||
then pkgs.linuxPackages_latest
|
||||
else if variant == "cachyos"
|
||||
then pkgs.linuxPackages_cachyos
|
||||
else throw "Unknown kernel variant: ${variant}";
|
||||
|
||||
kernelParams =
|
||||
[
|
||||
"quiet"
|
||||
"splash"
|
||||
]
|
||||
++ (
|
||||
if cfg.hardware == "amd"
|
||||
then ["amd_pstate=active"]
|
||||
else []
|
||||
)
|
||||
++ cfg.extraKernelParams;
|
||||
|
||||
blacklistedKernelModules =
|
||||
(
|
||||
if cfg.hardware == "nvidia"
|
||||
then ["nouveau"]
|
||||
else []
|
||||
)
|
||||
++ cfg.extraBlacklistedModules;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge mkForce;
|
||||
cfg = config.systemModules.boot.loader;
|
||||
in {
|
||||
options = {
|
||||
systemModules.boot.loader = {
|
||||
default = {
|
||||
enable = mkEnableOption "Enable default boot loader configuration.";
|
||||
};
|
||||
lanzaboote = {
|
||||
enable = mkEnableOption "Enable Lanzaboote boot loader configuration.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
inputs.lanzaboote.nixosModules.lanzaboote
|
||||
];
|
||||
|
||||
config = mkMerge [
|
||||
{
|
||||
assertions = [
|
||||
{
|
||||
assertion = !(cfg.default.enable && cfg.lanzaboote.enable);
|
||||
message = "Only one of systemModules.boot.loader.default.enable and systemModules.boot.loader.lanzaboote.enable can be set to true.";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
(mkIf cfg.default.enable {
|
||||
# Default boot loader configuration
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
systemd-boot.graceful = true;
|
||||
efi.canTouchEfiVariables = false;
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.lanzaboote.enable {
|
||||
# Lanzaboote boot loader configuration
|
||||
boot = {
|
||||
lanzaboote = {
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
};
|
||||
|
||||
# We let Lanzaboote install systemd-boot
|
||||
loader.systemd-boot.enable = mkForce false;
|
||||
};
|
||||
|
||||
environment.systemPackages = [pkgs.sbctl];
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
{smodPath, ...}: {
|
||||
imports = [
|
||||
"${smodPath}/boot/loader"
|
||||
"${smodPath}/boot/kernel"
|
||||
"${smodPath}/gaming/gamemode"
|
||||
"${smodPath}/gaming/gamescope"
|
||||
"${smodPath}/gaming/lutris"
|
||||
"${smodPath}/gaming/steam"
|
||||
"${smodPath}/gui/gnome"
|
||||
"${smodPath}/gui/hyprland"
|
||||
"${smodPath}/hardware/bluetooth"
|
||||
"${smodPath}/hardware/graphics/amd"
|
||||
"${smodPath}/hardware/graphics/nvidia"
|
||||
"${smodPath}/hardware/logitech"
|
||||
"${smodPath}/hardware/network"
|
||||
"${smodPath}/nix/nh"
|
||||
"${smodPath}/studio/blender"
|
||||
"${smodPath}/studio/gimp"
|
||||
"${smodPath}/studio/inkscape"
|
||||
"${smodPath}/studio/beekeeper"
|
||||
"${smodPath}/studio/mysql-workbench"
|
||||
"${smodPath}/sysd/network/blueman"
|
||||
"${smodPath}/sysd/network/mullvad"
|
||||
"${smodPath}/sysd/network/samba"
|
||||
"${smodPath}/sysd/network/openssh"
|
||||
"${smodPath}/sysd/security/agenix"
|
||||
"${smodPath}/sysd/security/gnome-keyring"
|
||||
"${smodPath}/sysd/session/dbus"
|
||||
"${smodPath}/sysd/session/dconf"
|
||||
"${smodPath}/sysd/session/xserver"
|
||||
"${smodPath}/sysd/system/fwupd"
|
||||
"${smodPath}/sysd/system/greetd"
|
||||
"${smodPath}/sysd/system/gvfs"
|
||||
"${smodPath}/sysd/system/locate"
|
||||
"${smodPath}/sysd/system/nix-ld"
|
||||
"${smodPath}/sysd/system/pcscd"
|
||||
"${smodPath}/sysd/system/pipewire"
|
||||
"${smodPath}/sysd/system/powerd"
|
||||
"${smodPath}/sysd/system/udisks"
|
||||
"${smodPath}/sysd/system/zram"
|
||||
"${smodPath}/sysd/system/kanata"
|
||||
"${smodPath}/utils/android"
|
||||
"${smodPath}/utils/anyrun"
|
||||
"${smodPath}/utils/brightnessctl"
|
||||
"${smodPath}/utils/chaotic"
|
||||
"${smodPath}/utils/corectrl"
|
||||
"${smodPath}/utils/microfetch"
|
||||
"${smodPath}/utils/misc"
|
||||
"${smodPath}/utils/npm"
|
||||
"${smodPath}/utils/obsidian"
|
||||
"${smodPath}/utils/yubikey"
|
||||
"${smodPath}/utils/zsh"
|
||||
];
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
cfg = config.systemModules.gaming.gamemode;
|
||||
pipewireLowLatencyModule = inputs.nix-gaming.nixosModules.pipewireLowLatency;
|
||||
in {
|
||||
imports = [
|
||||
pipewireLowLatencyModule
|
||||
];
|
||||
options = {
|
||||
systemModules.gaming.gamemode = {
|
||||
enable = mkEnableOption "Enables gamemode";
|
||||
optimizeGpu.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Whether to apply GPU optimizations.";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.gamemode = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
inhibit_screensaver = 1;
|
||||
softrealtime = "auto";
|
||||
# renice = 15;
|
||||
};
|
||||
gpu = mkIf cfg.optimizeGpu.enable {
|
||||
apply_gpu_optimisations = "accept-responsibility";
|
||||
gpu_device = 0;
|
||||
amd_performance_level = "high";
|
||||
};
|
||||
custom = {
|
||||
start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
|
||||
end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
|
||||
};
|
||||
};
|
||||
};
|
||||
# see https://github.com/fufexan/nix-gaming/#pipewire-low-latency
|
||||
services.pipewire.lowLatency.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.gaming.gamescope;
|
||||
in {
|
||||
options = {
|
||||
systemModules.gaming.gamescope.enable = mkEnableOption "Enables gamescope";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
args = [
|
||||
"--rt"
|
||||
"--expose-wayland"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.gaming.lutris;
|
||||
in {
|
||||
options = {
|
||||
systemModules.gaming.lutris.enable = mkEnableOption "Enables lutris";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
lutris
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.gaming.steam;
|
||||
in {
|
||||
options = {
|
||||
systemModules.gaming.steam.enable = mkEnableOption "Enables steam";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.gui.gnome;
|
||||
in {
|
||||
options = {
|
||||
systemModules.gui.gnome.enable = mkEnableOption "Enables gnome";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services = {
|
||||
xserver = {
|
||||
desktopManager.gnome = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
gnome.games.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.gui.hyprland;
|
||||
in {
|
||||
options = {
|
||||
systemModules.gui.hyprland.enable = mkEnableOption "Enables hyprland";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.default;
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
environment.variables.NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.hardware.bluetooth;
|
||||
in {
|
||||
options = {
|
||||
systemModules.hardware.bluetooth.enable = mkEnableOption "Enables bluetooth";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
hardware = {
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.hardware.graphics.amd;
|
||||
in {
|
||||
options = {
|
||||
systemModules.hardware.graphics.amd.enable = mkEnableOption "Enables AMD graphics";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
hardware = {
|
||||
graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
extraPackages = with pkgs; [
|
||||
libva
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
amdvlk
|
||||
vulkan-tools
|
||||
];
|
||||
extraPackages32 = with pkgs.pkgsi686Linux; [
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
|
||||
export LIBVA_DRIVER_NAME=nvidia
|
||||
export GBM_BACKEND=nvidia-drm
|
||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||||
export __GL_VRR_ALLOWED=1
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
export NVD_BACKEND=direct
|
||||
export ELECTRON_OZONE_PLATFORM_HINT=auto
|
||||
exec "$@"
|
||||
'';
|
||||
inherit (lib) types mkIf mkEnableOption mkOption;
|
||||
cfg = config.systemModules.hardware.graphics.nvidia;
|
||||
in {
|
||||
options = {
|
||||
systemModules.hardware.graphics.nvidia = {
|
||||
enable = mkEnableOption "Enables NVidia graphics";
|
||||
package = mkOption {
|
||||
type = types.enum ["stable" "beta" "production" "latest"];
|
||||
default = "stable";
|
||||
description = "Choose between the stable, beta, latest, or production NVidia driver package";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
egl-wayland
|
||||
];
|
||||
hardware = {
|
||||
graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
extraPackages = with pkgs; [
|
||||
nvidia-offload
|
||||
libva
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
intel-media-driver
|
||||
nvidia-vaapi-driver
|
||||
vulkan-tools
|
||||
];
|
||||
extraPackages32 = with pkgs.pkgsi686Linux; [
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
nvidia = {
|
||||
package =
|
||||
if cfg.package == "beta"
|
||||
then config.boot.kernelPackages.nvidiaPackages.beta
|
||||
else if cfg.package == "latest"
|
||||
then config.boot.kernelPackages.nvidiaPackages.latest
|
||||
else if cfg.package == "production"
|
||||
then config.boot.kernelPackages.nvidiaPackages.prodution
|
||||
else config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
modesetting.enable = true;
|
||||
powerManagement = {
|
||||
enable = false;
|
||||
finegrained = false;
|
||||
};
|
||||
open = true;
|
||||
nvidiaSettings = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.hardware.logitech;
|
||||
in {
|
||||
options = {
|
||||
systemModules.hardware.logitech.enable = mkEnableOption "Enables logitech";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
hardware = {
|
||||
logitech.wireless = {
|
||||
enable = true;
|
||||
enableGraphical = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption types;
|
||||
cfg = config.systemModules.hardware.network;
|
||||
in {
|
||||
options = {
|
||||
systemModules = {
|
||||
hardware = {
|
||||
network = {
|
||||
enable = mkEnableOption "Enable the custom networking module";
|
||||
|
||||
hostName = mkOption {
|
||||
type = types.str;
|
||||
default = "default-hostname";
|
||||
description = "Hostname for the system.";
|
||||
};
|
||||
|
||||
interfaces = mkOption {
|
||||
type = types.attrsOf (types.submodule {
|
||||
options = {
|
||||
allowedTCPPorts = mkOption {
|
||||
type = types.listOf types.int;
|
||||
default = [];
|
||||
description = "List of allowed TCP ports for this interface.";
|
||||
};
|
||||
};
|
||||
});
|
||||
default = {};
|
||||
description = "Network interface configurations.";
|
||||
};
|
||||
nm-applet = {
|
||||
enable = mkEnableOption "Enables the nm-applet service.";
|
||||
indicator = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enables the nm-applet indicator.";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
inherit (cfg) hostName;
|
||||
nftables.enable = true;
|
||||
firewall = {
|
||||
enable = true;
|
||||
inherit (cfg) interfaces;
|
||||
};
|
||||
};
|
||||
programs.nm-applet = {
|
||||
enable = cfg.nm-applet.enable;
|
||||
indicator = cfg.nm-applet.indicator;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
cfg = config.systemModules.nix.nh;
|
||||
in {
|
||||
options = {
|
||||
systemModules.nix.nh = {
|
||||
enable = mkEnableOption "Enables nix helper";
|
||||
clean = {
|
||||
enable = mkEnableOption "Enables nix helper cleaning";
|
||||
extraArgs = mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Extra arguments for the clean command";
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs = {
|
||||
nh = {
|
||||
enable = cfg.enable;
|
||||
clean = {
|
||||
enable = cfg.clean.enable;
|
||||
extraArgs = cfg.clean.extraArgs;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.studio.beekeeper;
|
||||
in {
|
||||
options = {
|
||||
systemModules.studio.beekeeper.enable = mkEnableOption "Enables Beekeeper Studio";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
beekeeper-studio
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
cfg = config.systemModules.studio.blender;
|
||||
in {
|
||||
options = {
|
||||
systemModules.studio.blender = {
|
||||
enable = mkEnableOption "Enables Blender";
|
||||
hip.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Use the HIP-enabled version of Blender (for AMD GPUs).";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
(
|
||||
if cfg.hip.enable
|
||||
then pkgs.blender-hip
|
||||
else pkgs.blender
|
||||
)
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.studio.gimp;
|
||||
in {
|
||||
options = {
|
||||
systemModules.studio.gimp.enable = mkEnableOption "Enables gimp";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.gimp-with-plugins
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.studio.inkscape;
|
||||
in {
|
||||
options = {
|
||||
systemModules.studio.inkscape.enable = mkEnableOption "Enables inkscape";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
inkscape-with-extensions
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.studio.mysql-workbench;
|
||||
in {
|
||||
options = {
|
||||
systemModules.studio.mysql-workbench.enable = mkEnableOption "Enables MySQL Workbench";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
mysql-workbench
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.network.blueman;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.network.blueman.enable = mkEnableOption "Enables blueman";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.network.mullvad;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.network.mullvad.enable = mkEnableOption "Enables mullvad";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.mullvad-vpn = {
|
||||
enable = true;
|
||||
package = pkgs.mullvad-vpn;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.network.openssh;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.network.openssh.enable = mkEnableOption "Enables openssh";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.network.samba;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.network.samba.enable = mkEnableOption "Enables samba";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services = {
|
||||
samba = {
|
||||
enable = true;
|
||||
package = pkgs.samba4Full;
|
||||
openFirewall = true;
|
||||
};
|
||||
avahi = {
|
||||
publish.enable = true;
|
||||
publish.userServices = true;
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
samba-wsdd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
self,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption mkMerge;
|
||||
cfg = config.systemModules.sysd.security.agenix;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.security.agenix = {
|
||||
enable = mkEnableOption "Enables agenix system environment";
|
||||
cnix.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Apply cnix agenix settings";
|
||||
};
|
||||
toothpc.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Apply toothpc agenix settings";
|
||||
};
|
||||
cnixpad.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Apply cnixpad agenix settings";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
age = mkMerge [
|
||||
(mkIf cfg.cnix.enable {
|
||||
secrets = {
|
||||
cnstssh.file = "${self}/secrets/cnstssh.age";
|
||||
cnixssh.file = "${self}/secrets/cnixssh.age";
|
||||
helix-gpt = {
|
||||
file = "${self}/secrets/helix-gpt.age";
|
||||
owner = "cnst";
|
||||
group = "users";
|
||||
};
|
||||
};
|
||||
})
|
||||
(mkIf cfg.toothpc.enable {
|
||||
secrets = {
|
||||
# Add toothpc specific secrets here
|
||||
};
|
||||
})
|
||||
(mkIf cfg.cnixpad.enable {
|
||||
secrets = {
|
||||
# Add adampad specific secrets here
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
environment.systemPackages = [
|
||||
inputs.agenix.packages.x86_64-linux.default
|
||||
pkgs.age
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.security.gnome-keyring;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.security.gnome-keyring.enable = mkEnableOption "Enables gnome-keyring";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.session.dbus;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.session.dbus.enable = mkEnableOption "Enables dbus";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.dbus = {
|
||||
enable = true;
|
||||
packages = with pkgs; [
|
||||
gcr
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.session.dconf;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.session.dconf.enable = mkEnableOption "Enables dconf";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.dconf.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOption types;
|
||||
cfg = config.systemModules.sysd.session.xserver;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.session.xserver = {
|
||||
videoDrivers = mkOption {
|
||||
type = types.listOf (types.enum ["amdgpu" "nvidia"]);
|
||||
default = ["amdgpu"];
|
||||
description = "The names of the video drivers the configuration supports";
|
||||
};
|
||||
xkbLayout = mkOption {
|
||||
type = types.str;
|
||||
default = "se";
|
||||
description = "X keyboard layout, or multiple keyboard layouts separated by commas.";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
services.xserver = {
|
||||
videoDrivers = cfg.videoDrivers;
|
||||
xkb.layout = cfg.xkbLayout;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.fwupd;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.fwupd.enable = mkEnableOption "Enables fwupd";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.fwupd.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge mkOption types;
|
||||
cfg = config.systemModules.sysd.system.greetd;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.greetd = {
|
||||
enable = mkEnableOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enables the greetd service.";
|
||||
};
|
||||
gnomeKeyring.enable = mkEnableOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enables GnomeKeyring PAM service for greetd.";
|
||||
};
|
||||
autologin.enable = mkEnableOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enables autologin for a specified user.";
|
||||
};
|
||||
autologin.user = mkOption {
|
||||
type = types.str;
|
||||
default = "cnst";
|
||||
description = "The username to auto-login when autologin is enabled.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = mkMerge [
|
||||
# Conditionally include initial_session if autologin is enabled
|
||||
(mkIf cfg.autologin.enable {
|
||||
initial_session = {
|
||||
command = "${pkgs.hyprland}/bin/Hyprland";
|
||||
user = cfg.autologin.user;
|
||||
};
|
||||
})
|
||||
{
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet -r --remember-session --asterisks";
|
||||
user = "greeter";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# Apply GnomeKeyring PAM Service based on user configuration
|
||||
security.pam.services.greetd.enableGnomeKeyring = cfg.gnomeKeyring.enable;
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.gvfs;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.gvfs.enable = mkEnableOption "Enables gvfs";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.gvfs.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.kanata;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.kanata.enable = mkEnableOption "Enables kanata keyboard remapping";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.kanata = {
|
||||
enable = true;
|
||||
package = pkgs.kanata-with-cmd;
|
||||
keyboards.hhkbse = {
|
||||
devices = ["/dev/input/by-id/usb-PFU_Limited_HHKB-Hybrid-event-kbd"];
|
||||
config = builtins.readFile (./. + "/hhkbse.kbd");
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
(deflocalkeys-linux
|
||||
§ 41
|
||||
+ 12
|
||||
´ 13
|
||||
å 26
|
||||
¨ 27
|
||||
ö 39
|
||||
ä 40
|
||||
' 43
|
||||
< 86
|
||||
> 100
|
||||
, 51
|
||||
. 52
|
||||
- 53
|
||||
)
|
||||
|
||||
(defsrc
|
||||
esc 1 2 3 4 5 6 7 8 9 0 + ´ ' §
|
||||
tab q w e r t y u i o p å ¨ bspc
|
||||
lctl a s d f g h j k l ö ä ret
|
||||
lsft z x c v b n m , . - rsft
|
||||
lalt lmet spc rmet ralt
|
||||
)
|
||||
|
||||
(deflayer default
|
||||
esc 1 2 3 4 5 6 7 8 9 0 + pgdn pgup del
|
||||
tab q w e r t y u i o p å ' bspc
|
||||
lctl a s d f g h j k l ö ä ret
|
||||
@shift z x c v b n m , . - rsft
|
||||
lalt lmet spc @level3 ralt
|
||||
)
|
||||
|
||||
(deflayer shift
|
||||
esc S-1 S-2 S-3 RA-4 S-5 S-6 S-7 S-8 S-9 S-0 S-+ RA-7 RA-0 RA-<
|
||||
tab S-q S-w S-e S-r S-t S-y S-u S-i S-o S-p S-å S-¨ bspc
|
||||
lctl S-a S-s S-d S-f S-g S-h S-j S-k S-l S-ö S-ä S-ret
|
||||
@shift S-z S-x S-c S-v S-b S-n S-m S-, S-. S-- rsft
|
||||
lalt lmet spc @level3 ralt
|
||||
)
|
||||
|
||||
(deflayer level3
|
||||
esc 1 RA-2 RA-3 S-4 RA-5 RA-6 RA-7 RA-8 RA-9 RA-0 RA-+ ⇤ ⇥ S-'
|
||||
tab q w RA-5 r t y u i o ▲ å RA-¨ bspc
|
||||
lctl a s d f g h j k ◀ ▼ ▶ ret
|
||||
@shift RA-S-z RA-S-x c v b n m , . - rsft
|
||||
lalt lmet spc @level3 ralt
|
||||
)
|
||||
|
||||
(defalias
|
||||
shift (layer-toggle shift)
|
||||
level3 (layer-toggle level3)
|
||||
)
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.locate;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.locate.enable = mkEnableOption "Enables plocate";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.locate = {
|
||||
enable = true;
|
||||
package = pkgs.plocate;
|
||||
localuser = null;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,103 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.nix-ld;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.nix-ld.enable = mkEnableOption "Enables nix-ld";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
# Sets up all the libraries to load
|
||||
libraries = with pkgs; [
|
||||
stdenv.cc.cc
|
||||
openssl
|
||||
xorg.libXcomposite
|
||||
xorg.libXtst
|
||||
xorg.libXrandr
|
||||
xorg.libXext
|
||||
xorg.libX11
|
||||
xorg.libXfixes
|
||||
libGL
|
||||
libva
|
||||
xorg.libxcb
|
||||
xorg.libXdamage
|
||||
xorg.libxshmfence
|
||||
xorg.libXxf86vm
|
||||
libelf
|
||||
glib
|
||||
gtk3
|
||||
bzip2
|
||||
xorg.libXinerama
|
||||
xorg.libXcursor
|
||||
xorg.libXrender
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXi
|
||||
xorg.libSM
|
||||
xorg.libICE
|
||||
gnome2.GConf
|
||||
nspr
|
||||
nss
|
||||
cups
|
||||
libcap
|
||||
SDL2
|
||||
libusb1
|
||||
dbus-glib
|
||||
ffmpeg
|
||||
libudev0-shim
|
||||
xorg.libXt
|
||||
xorg.libXmu
|
||||
libogg
|
||||
libvorbis
|
||||
SDL
|
||||
SDL2_image
|
||||
glew110
|
||||
libidn
|
||||
tbb
|
||||
flac
|
||||
freeglut
|
||||
libjpeg
|
||||
libpng
|
||||
libpng12
|
||||
libsamplerate
|
||||
libmikmod
|
||||
libtheora
|
||||
libtiff
|
||||
pixman
|
||||
speex
|
||||
SDL_image
|
||||
SDL_ttf
|
||||
SDL_mixer
|
||||
SDL2_ttf
|
||||
SDL2_mixer
|
||||
libappindicator-gtk2
|
||||
libdbusmenu-gtk2
|
||||
libindicator-gtk2
|
||||
libcaca
|
||||
libcanberra
|
||||
libgcrypt
|
||||
libvpx
|
||||
librsvg
|
||||
xorg.libXft
|
||||
libvdpau
|
||||
gnome2.pango
|
||||
cairo
|
||||
atk
|
||||
gdk-pixbuf
|
||||
fontconfig
|
||||
freetype
|
||||
dbus
|
||||
alsaLib
|
||||
expat
|
||||
libdrm
|
||||
mesa
|
||||
libxkbcommon
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.pcscd;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.pcscd.enable = mkEnableOption "Enables pcscd";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.pcscd.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.pipewire;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.pipewire.enable = mkEnableOption "Enables pipewire";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
hardware.pulseaudio.enable = false;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.powerd;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.powerd.enable = mkEnableOption "Enables power-profiles-daemon";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services = {
|
||||
power-profiles-daemon.enable = true;
|
||||
upower.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.udisks;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.udisks.enable = mkEnableOption "Enables udisks";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.udisks2.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.sysd.system.zram;
|
||||
in {
|
||||
options = {
|
||||
systemModules.sysd.system.zram.enable = mkEnableOption "Enables zram";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
zramSwap.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.utils.android;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.android.enable = mkEnableOption "Enables android tools";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.adb.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.utils.anyrun;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.anyrun.enable = mkEnableOption "Enables anyrun";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.anyrun
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.utils.brightnessctl;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.brightnessctl.enable = mkEnableOption "Enables brigthnessctl";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.brightnessctl
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption mkMerge;
|
||||
cfg = config.systemModules.utils.chaotic;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.chaotic = {
|
||||
enable = mkEnableOption "Enables Chaotic AUR packages";
|
||||
amd.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Whether to install AMD-specific settings.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
{
|
||||
chaotic.scx.enable = true;
|
||||
}
|
||||
(mkIf cfg.amd.enable {
|
||||
# AMD-specific configuration
|
||||
chaotic.mesa-git = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
mesa_git.opencl
|
||||
intel-media-driver
|
||||
intel-ocl
|
||||
vaapiIntel
|
||||
];
|
||||
extraPackages32 = with pkgs; [
|
||||
mesa32_git.opencl
|
||||
intel-media-driver
|
||||
vaapiIntel
|
||||
];
|
||||
};
|
||||
})
|
||||
]);
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.utils.corectrl;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.corectrl.enable = mkEnableOption "Enables CoreCtrl";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.corectrl = {
|
||||
enable = true;
|
||||
gpuOverclock = {
|
||||
enable = true;
|
||||
ppfeaturemask = "0xffffffff";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.utils.microfetch;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.microfetch.enable = mkEnableOption "Enables microfetch";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [inputs.microfetch.packages.x86_64-linux.default];
|
||||
};
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkOption mkMerge;
|
||||
cfg = config.systemModules.utils.misc;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.misc = {
|
||||
enable = mkEnableOption "Enables miscellaneous packages";
|
||||
desktop.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Whether to install desktop-specific packages.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = mkMerge [
|
||||
[
|
||||
pkgs.nodejs_22
|
||||
pkgs.tree
|
||||
]
|
||||
(mkIf cfg.desktop.enable [
|
||||
pkgs.protonup
|
||||
pkgs.winetricks
|
||||
])
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.utils.npm;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.npm.enable = mkEnableOption "Enables npm";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.npm = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.utils.obsidian;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.obsidian.enable = mkEnableOption "Enables obsidian";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.obsidian
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.utils.yubikey;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.yubikey.enable = mkEnableOption "Enables yubikey utilities";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.yubioath-flutter
|
||||
pkgs.yubikey-manager
|
||||
pkgs.yubikey-personalization
|
||||
pkgs.yubikey-personalization-gui
|
||||
pkgs.pcsc-tools
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.systemModules.utils.zsh;
|
||||
in {
|
||||
options = {
|
||||
systemModules.utils.zsh.enable = mkEnableOption "Enables android tools";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.zsh.enable = cfg.enable;
|
||||
};
|
||||
}
|
||||
@@ -6,13 +6,13 @@
|
||||
default = pkgs.mkShell {
|
||||
# Add Rust toolchain from Fenix and rust-analyzer-nightly
|
||||
packages = [
|
||||
(inputs.fenix.packages.${pkgs.stdenv.hostPlatform.system}.complete.withComponents [
|
||||
"cargo"
|
||||
"clippy"
|
||||
"rust-src"
|
||||
"rustc"
|
||||
"rustfmt"
|
||||
])
|
||||
# (inputs.fenix.packages.${pkgs.stdenv.hostPlatform.system}.complete.withComponents [
|
||||
# "cargo"
|
||||
# "clippy"
|
||||
# "rust-src"
|
||||
# "rustc"
|
||||
# "rustfmt"
|
||||
# ])
|
||||
];
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
|
||||
Reference in New Issue
Block a user