From 50d742e311b112385065f950f900812644104e61 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sun, 15 Jun 2025 03:40:37 +0200 Subject: [PATCH] lkjsad --- flake.nix | 13 ++-- hosts/default.nix | 91 +++++++++++------------- hosts/nixos/bjarte/configuration.nix | 8 ++- hosts/nixos/bolle/configuration.nix | 7 +- hosts/nixos/eple/configuration.nix | 9 ++- hosts/nixos/garp/configuration.nix | 8 ++- hosts/nixos/nord/configuration.nix | 11 ++- hosts/nixos/noximilien/configuration.nix | 7 +- hosts/nixos/sopp/configuration.nix | 9 ++- 9 files changed, 101 insertions(+), 62 deletions(-) diff --git a/flake.nix b/flake.nix index 339ccd9..7f0b34b 100644 --- a/flake.nix +++ b/flake.nix @@ -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; diff --git a/hosts/default.nix b/hosts/default.nix index 3ee0bc9..d835131 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -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 { diff --git a/hosts/nixos/bjarte/configuration.nix b/hosts/nixos/bjarte/configuration.nix index 04de7c2..1c35ef2 100644 --- a/hosts/nixos/bjarte/configuration.nix +++ b/hosts/nixos/bjarte/configuration.nix @@ -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 diff --git a/hosts/nixos/bolle/configuration.nix b/hosts/nixos/bolle/configuration.nix index 4265b25..2f593c2 100644 --- a/hosts/nixos/bolle/configuration.nix +++ b/hosts/nixos/bolle/configuration.nix @@ -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 diff --git a/hosts/nixos/eple/configuration.nix b/hosts/nixos/eple/configuration.nix index df0351f..8ffc4a2 100644 --- a/hosts/nixos/eple/configuration.nix +++ b/hosts/nixos/eple/configuration.nix @@ -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 diff --git a/hosts/nixos/garp/configuration.nix b/hosts/nixos/garp/configuration.nix index d949112..4826bfa 100644 --- a/hosts/nixos/garp/configuration.nix +++ b/hosts/nixos/garp/configuration.nix @@ -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 diff --git a/hosts/nixos/nord/configuration.nix b/hosts/nixos/nord/configuration.nix index 9bcb2f2..5c43130 100644 --- a/hosts/nixos/nord/configuration.nix +++ b/hosts/nixos/nord/configuration.nix @@ -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 diff --git a/hosts/nixos/noximilien/configuration.nix b/hosts/nixos/noximilien/configuration.nix index 584ccf4..eb602a6 100644 --- a/hosts/nixos/noximilien/configuration.nix +++ b/hosts/nixos/noximilien/configuration.nix @@ -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 diff --git a/hosts/nixos/sopp/configuration.nix b/hosts/nixos/sopp/configuration.nix index caccaf7..f854ff5 100644 --- a/hosts/nixos/sopp/configuration.nix +++ b/hosts/nixos/sopp/configuration.nix @@ -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