Compare commits

...

2 commits

Author SHA1 Message Date
f86275f331 progress 2026-03-28 00:04:05 +01:00
86090fa40e progress? 2026-03-27 19:36:20 +01:00
9 changed files with 89 additions and 9 deletions

View file

@ -0,0 +1,13 @@
{
config.flake.factory.user = username: {
nixos."${username}" = {pkgs, ...}: {
users.users."${username}" = {
isNormalUser = true;
name = "${username}";
};
extraGroups = ["wheel"];
shell = pkgs.nushell;
};
};
}

View file

@ -1,9 +0,0 @@
{inputs, ...}: {
flake.nixosModules.firefoxHelix = {pkgs, ...}: {
programs.firefox.enable = true;
environment.systemPackages = with pkgs; [
helix
];
};
}

View file

@ -0,0 +1,13 @@
{pkgs, ...}: {
flake.modules.nixos.desktop = {
boot = {
kernelPackages = pkgs.linuxPackages_6_12;
kernelParams = ["nvidia-drm.modeset=1"];
loader.grub = {
enable = true;
device = "/dev/disk/by-id/ata-KINGSTON_SKC300S37A60G_50026B7239039148";
};
};
};
}

View file

@ -0,0 +1 @@
{inputs, ...}: {flake.nixosConfigurations = inputs.self.lib.mkNixos "x86_64-linux" "desktop";}

View file

@ -0,0 +1,19 @@
{config, ...}: {
flake.modules.nixos.desktop = {
nixpkgs.hostPlatform = "x86_64-linux";
hardware = {
graphics = {
enable = true;
enable32Bit = true;
};
};
nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
open = false;
package = config.boot.kernelPackages.nvidiaPackages.production;
};
};
}

View file

@ -0,0 +1,7 @@
{self, ...}: {
flake.modules.nixos.desktop = {
imports = [
self.factory.benDesktop
];
};
}

View file

@ -0,0 +1,6 @@
{lib, ...}: {
options.flake.factory = lib.mkOption {
type = lib.types.attrsof lib.types.unspecified;
default = {};
};
}

View file

@ -0,0 +1,21 @@
{
inputs,
lib,
...
}: {
options.flake.lib = lib.mkOption {
type = lib.types.attrsOf lib.types.unspecified;
default = {};
};
config.flake.lib = {
mkNixos = system: name: {
${name} = inputs.nixpkgs.lib.nixosSystem {
modules = [
inputs.self.modules.nixos.${name}
{nixpkgs.hostPlatform = lib.mkDefault system;}
];
};
};
};
}

View file

@ -0,0 +1,9 @@
{
self,
lib,
...
}: {
flake.modules = lib.mkMerge [
(self.factory.user "benDesktop")
];
}