diff --git a/.remoteenv b/.remoteenv index 8784f2e..b1b297a 100644 --- a/.remoteenv +++ b/.remoteenv @@ -7,6 +7,14 @@ if [[ ! -f /run/current-system/nixos-version ]]; then flake_shell+=-fhs fi +# nix() { +# if [[ "$(nix --version | cut -d. -f2)" -lt 18 ]]; then +# command nix run nixpkgs#nix -- "$@" +# else +# command nix "$@" +# fi +# } + # `test A -nt B` deferences symlinks t1=$(stat --format=%Z flake.nix 2>/dev/null || printf 0) t2=$(stat --format=%Z flake.lock 2>/dev/null || printf 0) diff --git a/flake.nix b/flake.nix index 88cf33b..744f94a 100644 --- a/flake.nix +++ b/flake.nix @@ -296,16 +296,22 @@ nixosReports = builtins.mapAttrs (key: self.lib.mkNixosConfigSummary) self.nixosConfigurations; overlays = { - pbsdspkgs = final: prev: let pkgs = final; inherit (pkgs) lib; in { + pbsdspkgs = final: prev: let + pkgs = final; + inherit (pkgs) lib; + # TODO: get faketty to work, ${expect}/bin/unbuffer is bad + wrapWithNom = pkg: pkgs.writeScriptBin pkg.meta.mainProgram '' + if test -t 1 && test -z "''${NIX_NO_NOM-}"; then + exec ${lib.getExe pkg} -L "$@" |& ${lib.getExe pkgs.nix-output-monitor} + else + exec ${lib.getExe pkg} -L "$@" + fi + ''; + in { pbsds = lib.makeScope pkgs.newScope (pbsds: { - # TODO: get faketty to work, ${expect}/bin/unbuffer is bad - nixos-rebuild-nom = pkgs.writeScriptBin "nixos-rebuild" '' - if test -t 1 && test -z "''${NIX_NO_NOM-}"; then - exec ${lib.getExe pkgs.nixos-rebuild} -L "$@" |& ${lib.getExe pkgs.nix-output-monitor} - else - exec ${lib.getExe pkgs.nixos-rebuild} -L "$@" - fi - ''; + nom-nixos-rebuild = wrapWithNom pkgs.nixos-rebuild; + nom-nixos-rebuild-ng = wrapWithNom pkgs.nixos-rebuild-ng; + nom-home-manager = wrapWithNom pkgs.home-manager; v4l2-play = pkgs.callPackage ./pkgs/v4l2-play {}; device-mon = pkgs.callPackage ./pkgs/device-mon {}; @@ -348,8 +354,8 @@ homeModules.jump = ./users/pbsds/modules/jump.nix; homeModules.micro = ./users/pbsds/modules/micro.nix; - homeConfigurations = forAllSystems ({ system, ... }: let - mkHome = username: homeDirectory: inputs: modules: inputs.home-manager.lib.homeManagerConfiguration { + homeConfigurations = let + mkHome = username: homeDirectory: system: inputs: modules: inputs.home-manager.lib.homeManagerConfiguration { pkgs = inputs.nixpkgs.legacyPackages.${system}; modules = modules ++ [{ home = { inherit username homeDirectory; }; @@ -362,34 +368,31 @@ inputs.system-manager-edge.overlays.default (final: prev: { unstable = import inputs.unstable { - inherit system; - config = final.pkgs.config; + inherit (final.pkgs) system config; }; }) ]; }]; - extraSpecialArgs = { - inherit inputs; - }; + extraSpecialArgs = { inherit inputs; }; }; - in { + in + { # TODO: minimal # TODO: static - fhs # TODO: pvv - nfs home # TODO: nix-portable - heid # TODO: garmr # TODO: furios? - pbsds = mkHome "pbsds" "/home/pbsds" inputs-edge [ ./users/pbsds/home ]; - pbsds-2411 = mkHome "pbsds" "/home/pbsds" inputs-2411 [ ./users/pbsds/home ]; - pbsds-2405 = mkHome "pbsds" "/home/pbsds" inputs-2405 [ ./users/pbsds/home ]; - pbsds-2311 = mkHome "pbsds" "/home/pbsds" inputs-2311 [ ./users/pbsds/home ]; - pbsds-2305 = mkHome "pbsds" "/home/pbsds" inputs-2305 [ ./users/pbsds/home ]; - pbsds-gnome = mkHome "pbsds" "/home/pbsds" inputs-edge [ ./users/pbsds/home/gnome.nix ]; - pbsds-gnome-2411 = mkHome "pbsds" "/home/pbsds" inputs-2411 [ ./users/pbsds/home/gnome.nix ]; - pbsds-gnome-2405 = mkHome "pbsds" "/home/pbsds" inputs-2405 [ ./users/pbsds/home/gnome.nix ]; - pbsds-gnome-2311 = mkHome "pbsds" "/home/pbsds" inputs-2311 [ ./users/pbsds/home/gnome.nix ]; - pbsds-gnome-2305 = mkHome "pbsds" "/home/pbsds" inputs-2305 [ ./users/pbsds/home/gnome.nix ]; - }); + pbsds = mkHome "pbsds" "/home/pbsds" "x86_64-linux" inputs-edge [ ./users/pbsds/home/minimal.nix ]; + pbsds-edge = mkHome "pbsds" "/home/pbsds" "x86_64-linux" inputs-edge [ ./users/pbsds/home ]; + pbsds-2505 = mkHome "pbsds" "/home/pbsds" "x86_64-linux" inputs-2505 [ ./users/pbsds/home ]; + pbsds-2411 = mkHome "pbsds" "/home/pbsds" "x86_64-linux" inputs-2411 [ ./users/pbsds/home ]; + pbsds-gnome-edge = mkHome "pbsds" "/home/pbsds" "x86_64-linux" inputs-edge [ ./users/pbsds/home/gnome.nix ]; + pbsds-gnome-2505 = mkHome "pbsds" "/home/pbsds" "x86_64-linux" inputs-2505 [ ./users/pbsds/home/gnome.nix ]; + pbsds-gnome-2411 = mkHome "pbsds" "/home/pbsds" "x86_64-linux" inputs-2411 [ ./users/pbsds/home/gnome.nix ]; + + "pederbs@pvv" = mkHome "pederbs" "/home/pvv/d/pederbs" "x86_64-linux" inputs-2505 [ ./users/pbsds/home/minimal.nix ]; + }; # TODO: use this to pull changes to repo homeFileMap = let @@ -440,8 +443,9 @@ #}); inherit (inputs-edge.system-manager-edge.packages.${system}) system-manager; envrc-pkgs = [ - self.packages.${system}.nixos-rebuild-nom - pkgs.home-manager + self.packages.${system}.nom-nixos-rebuild + # self.packages.${system}.nom-nixos-rebuild-ng + self.packages.${system}.nom-home-manager pkgs.nix-output-monitor pkgs.cachix pkgs.age @@ -459,11 +463,14 @@ pkgs.rsync ]); remoteenv = mkShell { } [ - self.packages.${system}.nixos-rebuild-nom + self.packages.${system}.nom-nixos-rebuild + # self.packages.${system}.nom-nixos-rebuild-ng + self.packages.${system}.nom-home-manager pkgs.age pkgs.ssh-to-age pkgs.just pkgs.gum + pkgs.lix # bruh, debian, why so old ]; envrc-fhs = mkShell { inheritFrom = [ envrc ]; } [ system-manager ]; envrc-remotes-fhs = mkShell { inheritFrom = [ envrc-remotes ]; } [ system-manager ];