This commit is contained in:
2025-06-15 03:40:37 +02:00
parent bb9868fdef
commit 50d742e311
9 changed files with 101 additions and 62 deletions

View File

@@ -205,11 +205,14 @@
default = self.overlays.pbsdspkgs;
};
packages = forAllSystems ({ pkgs, lib, ... }: let
# TODO: by-name
pbsdspkgs = lib.filterAttrs (name: value: lib.isDerivation value) (self.overlays.pbsdspkgs pkgs null).pbsds;
in
pbsdspkgs // { });
packages = forAllSystems (
{ pkgs, lib, ... }:
let
# TODO: by-name
pbsdspkgs = lib.filterAttrs (_: lib.isDerivation) (self.overlays.pbsdspkgs pkgs null).pbsds;
in
pbsdspkgs // { }
);
homeModules.jump = ./users/pbsds/modules/jump.nix;
homeModules.micro = ./users/pbsds/modules/micro.nix;

View File

@@ -5,19 +5,22 @@ let
mkModule = extra-modules: domain: system: inputs: stateVersion: modules: hostname: ({ lib, ... }: {
system.stateVersion = lib.mkDefault stateVersion; # TODO: home-manager
nixpkgs.hostPlatform = system;
#nixpkgs.buildPlatform = buildSystem; # cross
imports = [
./../profiles/base
./nixos/${hostname}/configuration.nix
inputs.home-manager.nixosModules.default
#inputs.nix-index-database.nixosModules.nix-index # TODO: fix?
] ++ modules ++ extra-modules;
#++ inputs.flake-programs-sqlite.nixosModules.programs-sqlite; # TODO: make work
]
++ modules
++ extra-modules
#++ inputs.flake-programs-sqlite.nixosModules.programs-sqlite # TODO: make work
;
home-manager.useGlobalPkgs = true; # go brrr, reuse overrides
home-manager.extraSpecialArgs = {
inherit inputs;
};
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.sharedModules = [
inputs.sops-nix.homeManagerModules.sops
inputs.nix-index-database.hmModules.nix-index
@@ -54,55 +57,43 @@ let
inherit inputs;
};
modules = [
# TODO: specify this in mkModule?
{
nixpkgs.hostPlatform = system;
#nixpkgs.buildPlatform = system;
}
(mkModule extra-modules domain system inputs stateVersion modules hostname)
];
};
# TODO: move this to a file or separate flake
mkHosts = mk: let
ls = imports: { inherit imports; };
hw = input-views.inputs-edge.nixos-hardware.nixosModules;
#vf = input-views.inputs-edge.nixos-vf2.nixosModules;
amd = ls [ hw.common-pc hw.common-pc-ssd hw.common-cpu-amd ];
intel = ls [ hw.common-pc hw.common-pc-ssd hw.common-cpu-intel ./../hardware/gpu/intel.nix ];
intel-novga = ls [ hw.common-pc hw.common-pc-ssd hw.common-cpu-intel-cpu-only ];
cuda = ls [ ./../hardware/gpu/cuda.nix hw.common-gpu-nvidia-nonprime ];
cuda-prime = ls [ ./../hardware/gpu/cuda.nix hw.common-gpu-nvidia ];
rocm = ls [ ./../hardware/gpu/rocm.nix hw.common-gpu-amd ];
# nspawn = ls [ "${nixos-nspawn}/nspawn-image.nix" { boot.isContainer = true; } ];
hidpi = ls [ hw.common-hidpi ./../profiles/hidpi.nix ];
p1005 = ./../hardware/printer/hp-laserjet-p1005.nix;
au = ./../profiles/auto-upgrade.nix;
ts1 = ./../profiles/tailscale-inner.nix;
ts2 = ./../profiles/tailscale-outer.nix;
tse = ./../profiles/tailscale-exit-node.nix;
#rb = ./../profiles/known-hosts; # TODO
nixld = ./../profiles/nix-ld.nix;
dns64 = { config, ... }: {
networking.nameservers = [ "2001:700:1:11::2:51" ]; # dns64.uninett.no
networking.networkmanager.enable = true;
networking.networkmanager.insertNameservers = config.networking.nameservers; # https://github.com/NixOS/nixpkgs/issues/61230
networking.resolvconf.enable = false;
mkHosts = mk:
let
hw = input-views.inputs-edge.nixos-hardware.nixosModules;
#vf = input-views.inputs-edge.nixos-vf2.nixosModules;
# nspawn = ls [ "${nixos-nspawn}/nspawn-image.nix" { boot.isContainer = true; } ];
p1005 = ./../hardware/printer/hp-laserjet-p1005.nix;
au = ./../profiles/auto-upgrade.nix;
ts1 = ./../profiles/tailscale-inner.nix;
ts2 = ./../profiles/tailscale-outer.nix;
tse = ./../profiles/tailscale-exit-node.nix;
#rb = ./../profiles/known-hosts; # TODO
nixld = ./../profiles/nix-ld.nix;
dns64 = { config, ... }: {
networking.nameservers = [ "2001:700:1:11::2:51" ]; # dns64.uninett.no
networking.networkmanager.enable = true;
networking.networkmanager.insertNameservers = config.networking.nameservers; # https://github.com/NixOS/nixpkgs/issues/61230
networking.resolvconf.enable = false;
};
in builtins.mapAttrs (hostname: curried: curried hostname) {
#hostname "domain" "system" inputs "state" [ modules ... ]
# asgaut = mk "pbsds.net" "riscv64-linux" input-views.inputs-2405 "24.05" [ hw.starfive-visionfive-2 ];
# noximilien = mk "pbsds.net" "x86_64-linux" input-views.inputs-250T "24.11" [ ts1 au tse ];
noximilien = mk "pbsds.net" "x86_64-linux" input-views.inputs-241T "24.11" [ ts1 au tse ];
nord = mk "pbsds.net" "x86_64-linux" input-views.inputs-2411 "24.11" [ ts1 au ];
sopp = mk "pbsds.net" "x86_64-linux" input-views.inputs-edge "24.11" [ ts1 au nixld p1005 ];
bjarte = mk "pbsds.net" "x86_64-linux" input-views.inputs-edge "24.11" [ ts1 nixld ];
bolle = mk "pbsds.net" "x86_64-linux" input-views.inputs-2505 "24.11" [ ts2 au ];
eple = mk "pbsds.net" "x86_64-linux" input-views.inputs-2505 "24.11" [ ts1 au tse dns64 ];
garp = mk "pbsds.net" "x86_64-linux" input-views.inputs-2505 "24.11" [ ts2 au ];
# hasselknippe= mk "pbsds.net" "aarch64-linux" input-views.inputs-2405 "24.05" [ ts1 hw.pine64-pinebook-pro ];
#gomperud smattkuken skrytebiffen skalkesnerken balleby bingus skjrlaltatjlstad
#bergjlot snortheimsmoen ditlefsen skrukkerud podebusk zmaragd makrell alfnes blix urke pytte uddu imdorf rosenqvist
};
in builtins.mapAttrs (hostname: curried: curried hostname) {
#hostname "domain" "system" inputs "state" [ modules ... ]
# asgaut = mk "pbsds.net" "riscv64-linux" input-views.inputs-2405 "24.05" [ hw.starfive-visionfive-2 ];
# noximilien = mk "pbsds.net" "x86_64-linux" input-views.inputs-250T "24.11" [ au ts1 tse intel ];
noximilien = mk "pbsds.net" "x86_64-linux" input-views.inputs-241T "24.11" [ au ts1 tse intel ];
nord = mk "pbsds.net" "x86_64-linux" input-views.inputs-2411 "24.11" [ au ts1 intel-novga hw.common-gpu-intel-sandy-bridge rocm hidpi ];
sopp = mk "pbsds.net" "x86_64-linux" input-views.inputs-edge "24.11" [ au ts1 nixld intel cuda p1005 ];
bjarte = mk "pbsds.net" "x86_64-linux" input-views.inputs-edge "24.11" [ ts1 nixld intel hw.lenovo-thinkpad-x1-7th-gen ];
bolle = mk "pbsds.net" "x86_64-linux" input-views.inputs-2505 "24.11" [ au ts2 intel ];
eple = mk "pbsds.net" "x86_64-linux" input-views.inputs-2505 "24.11" [ au ts1 tse dns64 intel rocm ];
garp = mk "pbsds.net" "x86_64-linux" input-views.inputs-2505 "24.11" [ au ts2 intel-novga cuda ];
# hasselknippe= mk "pbsds.net" "aarch64-linux" input-views.inputs-2405 "24.05" [ ts1 hw.pine64-pinebook-pro ];
#gomperud smattkuken skrytebiffen skalkesnerken balleby bingus skjrlaltatjlstad
#bergjlot snortheimsmoen ditlefsen skrukkerud podebusk zmaragd makrell alfnes blix urke pytte uddu imdorf rosenqvist
};
in
rec {

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ inputs, config, pkgs, lib, ... }:
{
# Bootloader
boot.loader.systemd-boot.enable = true;
@@ -22,6 +22,12 @@
imports = [
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x1-7th-gen
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.nixos-hardware.nixosModules.common-cpu-intel
../../../hardware/gpu/intel.nix
../../../profiles/sshd/ts-only.nix
#../../../profiles/no-suspend.nix
../../../profiles/oci/podman.nix

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ inputs, config, pkgs, lib, ... }:
{
# Bootloader
boot.loader.systemd-boot.enable = true;
@@ -11,6 +11,11 @@
imports = [
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.nixos-hardware.nixosModules.common-cpu-intel
../../../hardware/gpu/intel.nix
../../../profiles/sshd
../../../profiles/nix-cgroups.nix

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ inputs, config, pkgs, lib, ... }:
{
# Bootloader
boot.loader.systemd-boot.enable = true;
@@ -13,6 +13,13 @@
imports = [
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.nixos-hardware.nixosModules.common-cpu-intel
../../../hardware/gpu/intel.nix
inputs.nixos-hardware.nixosModules.common-gpu-amd
../../../hardware/gpu/rocm.nix
../../../profiles/sshd
../../../profiles/nix-cgroups.nix

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ inputs, config, pkgs, lib, ... }:
{
# Bootloader.
boot.loader.systemd-boot.enable = true;
@@ -22,6 +22,12 @@
imports = [
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.nixos-hardware.nixosModules.common-cpu-intel-cpu-only
inputs.nixos-hardware.nixosModules.common-gpu-nvidia-nonprime
../../../hardware/gpu/cuda.nix
../../../profiles/sshd
../../../profiles/nix-cgroups.nix
#../../../profiles/no-suspend.nix

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ inputs, config, pkgs, lib, ... }:
{
# Bootloader
boot.loader.systemd-boot.enable = true;
@@ -21,6 +21,15 @@
imports = [
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.nixos-hardware.nixosModules.common-cpu-intel-cpu-only
inputs.nixos-hardware.nixosModules.common-gpu-intel-sandy-bridge
inputs.nixos-hardware.nixosModules.common-gpu-amd
../../../hardware/gpu/rocm.nix
inputs.nixos-hardware.nixosModules.common-hidpi
../../../profiles/hidpi.nix
../../../profiles/sshd
#../../../profiles/oci/podman.nix
#../../../profiles/oci/docker.nix

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ inputs, config, pkgs, lib, ... }:
{
# Bootloader
boot.loader.grub.enable = true;
@@ -6,6 +6,11 @@
boot.loader.grub.useOSProber = true;
imports = [
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.nixos-hardware.nixosModules.common-cpu-intel
../../../hardware/gpu/intel.nix
../../../profiles/sshd
#../../../profiles/oci/podman.nix

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib, modulesPath, ... }:
{ inputs, config, pkgs, lib, modulesPath, ... }:
{
# Bootloader
@@ -44,6 +44,13 @@
imports = [
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.nixos-hardware.nixosModules.common-cpu-intel
../../../hardware/gpu/intel.nix
inputs.nixos-hardware.nixosModules.common-gpu-nvidia-nonprime
../../../hardware/gpu/cuda.nix
../../../profiles/sshd
../../../profiles/earlyoom.nix
../../../profiles/no-suspend.nix