initial commit

This commit is contained in:
Bernardo Magri
2026-04-01 17:06:01 +01:00
parent 12cdfaeeef
commit 33deeb494b
526 changed files with 12287 additions and 1 deletions

View File

@@ -0,0 +1,9 @@
{ config, pkgs, ... }:
{
imports = [
./plymouth.nix
./sddm.nix
./hardware.nix
];
}

View File

@@ -0,0 +1,50 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.nomarchy.hardware;
in
{
options.nomarchy.hardware = {
isXPS = mkEnableOption "Dell XPS specific hardware fixes";
isT2Mac = mkEnableOption "Apple T2 MacBook specific hardware fixes";
isFramework = mkEnableOption "Framework laptop specific hardware fixes";
hasIPU7Camera = mkEnableOption "Intel IPU7 camera support";
};
config = mkMerge [
(mkIf cfg.isXPS {
services.udev.extraRules = ''
ACTION=="add", SUBSYSTEM=="pci", KERNEL=="0000:00:19.0", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="platform", KERNEL=="i2c_designware.0", ATTR{power/control}="on"
'';
systemd.services.nomarchy-haptic-touchpad = {
description = "Dell XPS haptic touchpad feedback";
after = [ "systemd-udev-settle.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${config.home-manager.users.${config.services.displayManager.autoLogin.user}.home.homeDirectory}/.nix-profile/bin/nomarchy-haptic-touchpad";
Restart = "on-failure";
RestartSec = "2";
};
};
})
(mkIf cfg.isFramework {
services.udev.extraRules = ''
# Framework 16 QMK HID
SUBSYSTEM=="usb", ATTR{idVendor}=="32ac", ATTR{idProduct}=="0012", MODE="0666", GROUP="users"
'';
})
(mkIf cfg.isT2Mac {
boot.kernelParams = [ "intel_iommu=on" "iommu=pt" "pcie_ports=compat" ];
boot.kernelModules = [ "apple-bce" ];
boot.extraModprobeConfig = ''
options brcmfmac feature_disable=0x82000
'';
})
];
}

View File

@@ -0,0 +1,10 @@
{ config, pkgs, ... }:
{
boot.initrd.systemd.enable = true;
boot.plymouth = {
enable = true;
};
boot.kernelParams = [ "quiet" "splash" "loglevel=3" ];
}

11
modules/system/sddm.nix Normal file
View File

@@ -0,0 +1,11 @@
{ config, pkgs, lib, ... }:
{
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
# Enable Hyprland system-level dependencies
programs.hyprland.enable = true;
}