refactor: automatic options for overlays, fix build
This commit is contained in:
parent
850d673035
commit
281d763c62
7 changed files with 72 additions and 46 deletions
52
flake.nix
52
flake.nix
|
|
@ -146,12 +146,13 @@
|
|||
in
|
||||
{
|
||||
overlays = {
|
||||
unstable-packages = final: prev: {
|
||||
unstable = final: prev: {
|
||||
unstable = import nixpkgs-unstable {
|
||||
localSystem = prev.stdenv.hostPlatform;
|
||||
inherit (prev) config;
|
||||
};
|
||||
};
|
||||
vscodeExtensions = nix-vscode-extensions.overlays.default;
|
||||
};
|
||||
|
||||
nixosModules = (importModuleDir ./nixosModules) // {
|
||||
|
|
@ -170,12 +171,6 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
pkgs-unstable = {
|
||||
nixpkgs.overlays = [ self.overlays.unstable-packages ];
|
||||
};
|
||||
pkgs-vscode-extensions = {
|
||||
nixpkgs.overlays = [ nix-vscode-extensions.overlays.default ];
|
||||
};
|
||||
};
|
||||
|
||||
homeModules = importModuleDir ./homeModules;
|
||||
|
|
@ -208,7 +203,6 @@
|
|||
lanzaboote.nixosModules.lanzaboote
|
||||
nova-shell.nixosModules.default
|
||||
self.nixosModules.niri
|
||||
self.nixosModules.pkgs-vscode-extensions
|
||||
servicepoint-cli.nixosModules.default
|
||||
servicepoint-simulator.nixosModules.default
|
||||
servicepoint-tanks.nixosModules.default
|
||||
|
|
@ -233,15 +227,19 @@
|
|||
doc.enable = false;
|
||||
};
|
||||
|
||||
my.autoupdate.enable = true;
|
||||
my.distributedBuilds.enable = true;
|
||||
my.extraCaches.enable = true;
|
||||
my.globalinstalls.enable = true;
|
||||
my.lixIsNix.enable = true;
|
||||
my.openssh.enable = true;
|
||||
my.prometheusNode.enable = true;
|
||||
my.systemdBoot.enable = true;
|
||||
my.tailscale.enable = true;
|
||||
my = {
|
||||
autoupdate.enable = true;
|
||||
distributedBuilds.enable = true;
|
||||
overlays.unstable.enable = true;
|
||||
overlays.vscodeExtensions.enable = true;
|
||||
extraCaches.enable = true;
|
||||
globalinstalls.enable = true;
|
||||
lixIsNix.enable = true;
|
||||
openssh.enable = true;
|
||||
prometheusNode.enable = true;
|
||||
systemdBoot.enable = true;
|
||||
tailscale.enable = true;
|
||||
};
|
||||
}
|
||||
]
|
||||
++ lib.optionals (home-manager-users != { }) [
|
||||
|
|
@ -272,15 +270,17 @@
|
|||
daemonIOSchedClass = "idle";
|
||||
};
|
||||
|
||||
my.enDe.enable = true;
|
||||
my.firmwareUpdates.enable = true;
|
||||
my.gnome.enable = true;
|
||||
my.kdeconnect.enable = true;
|
||||
my.modernDesktop.enable = true;
|
||||
my.niri.enable = true;
|
||||
my.nixLd.enable = true;
|
||||
my.quietBoot.enable = true;
|
||||
my.stylix.enable = true;
|
||||
my = {
|
||||
enDe.enable = true;
|
||||
firmwareUpdates.enable = true;
|
||||
gnome.enable = true;
|
||||
kdeconnect.enable = true;
|
||||
modernDesktop.enable = true;
|
||||
niri.enable = true;
|
||||
nixLd.enable = true;
|
||||
quietBoot.enable = true;
|
||||
stylix.enable = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,11 +10,9 @@
|
|||
# No one got time for xz compression.
|
||||
#isoImage.squashfsCompression = "zstd";
|
||||
|
||||
boot.loader = {
|
||||
raspberry-pi.bootloader = "kernel";
|
||||
systemd-boot.enable = lib.mkForce false;
|
||||
#generic-extlinux-compatible.enable = lib.mkForce false;
|
||||
};
|
||||
boot.loader.raspberry-pi.bootloader = "kernel";
|
||||
|
||||
my.systemdBoot.enable = lib.mkForce false;
|
||||
|
||||
/*
|
||||
fileSystems = {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
{
|
||||
pkgs,
|
||||
self,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
nixpkgs.overlays = [ self.overlays.unstable-packages ];
|
||||
my.overlays.unstable.enable = true;
|
||||
allowedUnfreePackages = [ "claude-code" ];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
|
|
|||
|
|
@ -1,6 +1,13 @@
|
|||
{ ... }:
|
||||
{ modulesPath, ... }:
|
||||
{
|
||||
imports = [ (modulesPath + "/virtualisation/proxmox-lxc.nix") ];
|
||||
|
||||
config = {
|
||||
my.pxvirtGuest.enable = true;
|
||||
|
||||
proxmoxLXC = {
|
||||
manageNetwork = false;
|
||||
privileged = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
./modern-desktop.nix
|
||||
./muede-desktop-settings.nix
|
||||
./nix-ld.nix
|
||||
./nixpkgs-overlays.nix
|
||||
./openssh.nix
|
||||
./podman.nix
|
||||
./printing.nix
|
||||
|
|
|
|||
33
nixosModules/nixpkgs-overlays.nix
Normal file
33
nixosModules/nixpkgs-overlays.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
self,
|
||||
...
|
||||
}:
|
||||
{
|
||||
options.my.overlays = {
|
||||
enableAll = lib.mkEnableOption "all nixpkgs overlays";
|
||||
}
|
||||
// lib.mapAttrs (_: _: {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
};
|
||||
}) self.overlays;
|
||||
|
||||
config = lib.mkMerge (
|
||||
[
|
||||
{
|
||||
my.overlays = lib.mapAttrs (_: _: {
|
||||
enable = lib.mkDefault config.my.overlays.enableAll;
|
||||
}) self.overlays;
|
||||
}
|
||||
]
|
||||
++ lib.mapAttrsToList (
|
||||
name: overlay:
|
||||
lib.mkIf config.my.overlays.${name}.enable {
|
||||
nixpkgs.overlays = [ overlay ];
|
||||
}
|
||||
) self.overlays
|
||||
);
|
||||
}
|
||||
|
|
@ -1,24 +1,12 @@
|
|||
{
|
||||
modulesPath,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
# Import unconditionally — the module only defines options, activating nothing by default.
|
||||
imports = [ (modulesPath + "/virtualisation/proxmox-lxc.nix") ];
|
||||
|
||||
options.my.pxvirtGuest.enable = lib.mkEnableOption "Proxmox LXC guest configuration";
|
||||
|
||||
config = lib.mkIf config.my.pxvirtGuest.enable {
|
||||
# TODO is this needed?
|
||||
# nix.settings.sandbox = false;
|
||||
|
||||
proxmoxLXC = {
|
||||
manageNetwork = false;
|
||||
privileged = false;
|
||||
};
|
||||
|
||||
# Let Proxmox host handle fstrim
|
||||
services.fstrim.enable = false;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue