try to split desktop and server flake input

This commit is contained in:
陈浩南 2024-04-08 14:24:19 +08:00
parent d12e234e71
commit 53bf14e159
2 changed files with 136 additions and 104 deletions

View File

@ -1554,6 +1554,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-desktop": {
"locked": {
"lastModified": 1712556756,
"narHash": "sha256-CY2DdAgfkZhXkMI4qZuFzLDZXIHdLiGRT5xoubBJ5E8=",
"owner": "CHN-beta",
"repo": "nixpkgs",
"rev": "83e5df8d893894fb6777e706dcd8f8ab68827343",
"type": "github"
},
"original": {
"owner": "CHN-beta",
"ref": "nixos-23.11-desktop",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"dir": "lib", "dir": "lib",
@ -1972,6 +1988,7 @@
"nixpkgs-22.05": "nixpkgs-22.05", "nixpkgs-22.05": "nixpkgs-22.05",
"nixpkgs-22.11": "nixpkgs-22.11", "nixpkgs-22.11": "nixpkgs-22.11",
"nixpkgs-23.05": "nixpkgs-23.05", "nixpkgs-23.05": "nixpkgs-23.05",
"nixpkgs-desktop": "nixpkgs-desktop",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nodesoup": "nodesoup", "nodesoup": "nodesoup",
"nur": "nur", "nur": "nur",

View File

@ -4,6 +4,7 @@
inputs = inputs =
{ {
nixpkgs.url = "github:CHN-beta/nixpkgs/nixos-23.11"; nixpkgs.url = "github:CHN-beta/nixpkgs/nixos-23.11";
nixpkgs-desktop.url = "github:CHN-beta/nixpkgs/nixos-23.11-desktop";
nixpkgs-unstable.url = "github:CHN-beta/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:CHN-beta/nixpkgs/nixos-unstable";
"nixpkgs-23.05".url = "github:CHN-beta/nixpkgs/nixos-23.05"; "nixpkgs-23.05".url = "github:CHN-beta/nixpkgs/nixos-23.05";
"nixpkgs-22.11".url = "github:NixOS/nixpkgs/nixos-22.11"; "nixpkgs-22.11".url = "github:NixOS/nixpkgs/nixos-22.11";
@ -39,10 +40,7 @@
nix-fast-build = { url = "github:/Mic92/nix-fast-build"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-fast-build = { url = "github:/Mic92/nix-fast-build"; inputs.nixpkgs.follows = "nixpkgs"; };
nix-flatpak.url = "github:gmodena/nix-flatpak"; nix-flatpak.url = "github:gmodena/nix-flatpak";
chaotic = chaotic =
{ { url = "github:chaotic-cx/nyx"; inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; }; };
url = "github:chaotic-cx/nyx?rev=03b2bea544688068025df1912ff1e9a1ad4a642a";
inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; };
};
gricad = { url = "github:Gricad/nur-packages"; flake = false; }; gricad = { url = "github:Gricad/nur-packages"; flake = false; };
misskey = { url = "git+https://github.com/CHN-beta/misskey?submodules=1"; flake = false; }; misskey = { url = "git+https://github.com/CHN-beta/misskey?submodules=1"; flake = false; };
@ -71,12 +69,8 @@
}; };
outputs = inputs: outputs = inputs:
let
localLib = import ./local/lib inputs.nixpkgs.lib;
devices = builtins.attrNames (builtins.readDir ./devices);
in
{ {
packages.x86_64-linux = packages.x86_64-linux = let devices = builtins.attrNames (builtins.readDir ./devices); in
{ {
default = inputs.nixpkgs.legacyPackages.x86_64-linux.writeText "systems" default = inputs.nixpkgs.legacyPackages.x86_64-linux.writeText "systems"
(builtins.concatStringsSep "\n" (builtins.map (builtins.concatStringsSep "\n" (builtins.map
@ -92,16 +86,13 @@
}) })
devices) devices)
); );
# ssh-keygen -t rsa -C root@pe -f /mnt/nix/persistent/etc/ssh/ssh_host_rsa_key nixosConfigurations = builtins.listToAttrs (builtins.concatLists
# ssh-keygen -t ed25519 -C root@pe -f /mnt/nix/persistent/etc/ssh/ssh_host_ed25519_key [
# systemd-machine-id-setup --root=/mnt/nix/persistent (builtins.map
nixosConfigurations =
(
(builtins.listToAttrs (builtins.map
(system: (system:
{ {
name = system; name = system;
value = inputs.nixpkgs.lib.nixosSystem value = let localLib = import ./local/lib inputs.nixpkgs.lib; in inputs.nixpkgs.lib.nixosSystem
{ {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { topInputs = inputs; inherit localLib; }; specialArgs = { topInputs = inputs; inherit localLib; };
@ -115,23 +106,44 @@
]; ];
}; };
}) })
devices)) [ "nas" "pcarm" "vps6" "vps7" "xmupc1" "xmupc2" ])
// { (builtins.map
pi3b = inputs.nixpkgs.lib.nixosSystem (system:
{ {
system = "aarch64-linux"; name = system;
value = let localLib = import ./local/lib inputs.nixpkgs-desktop.lib; in inputs.nixpkgs.lib.nixosSystem
{
system = "x86_64-linux";
specialArgs = { topInputs = inputs; inherit localLib; }; specialArgs = { topInputs = inputs; inherit localLib; };
modules = localLib.mkModules modules = localLib.mkModules
[ [
(moduleInputs: { config.nixpkgs.overlays = [(prev: final: (moduleInputs: { config.nixpkgs.overlays = [(prev: final:
# replace pkgs with final to avoid infinite recursion
{ localPackages = import ./local/pkgs (moduleInputs // { pkgs = final; }); })]; }) { localPackages = import ./local/pkgs (moduleInputs // { pkgs = final; }); })]; })
./modules ./modules
./devices/pi3b ./devices/${system}
]; ];
}; };
} })
); [ "pc" "surface" ])
(builtins.map
(system:
{
name = system;
value = let localLib = import ./local/lib inputs.nixpkgs.lib; in inputs.nixpkgs.lib.nixosSystem
{
system = "aarch64-linux";
specialArgs = { topInputs = inputs; inherit localLib; };
modules = inputs.nixpkgs.lib.mkModules
[
(moduleInputs: { config.nixpkgs.overlays = [(prev: final:
{ localPackages = import ./local/pkgs (moduleInputs // { pkgs = final; }); })]; })
./modules
./devices/${system}
];
};
})
[ "pi3b" ])
]);
# sudo HTTPS_PROXY=socks5://127.0.0.1:10884 nixos-install --flake .#bootstrap --option substituters http://127.0.0.1:5000 --option require-sigs false --option system-features gccarch-silvermont # sudo HTTPS_PROXY=socks5://127.0.0.1:10884 nixos-install --flake .#bootstrap --option substituters http://127.0.0.1:5000 --option require-sigs false --option system-features gccarch-silvermont
# nix-serve -p 5000 # nix-serve -p 5000
# nix copy --substitute-on-destination --to ssh://server /run/current-system # nix copy --substitute-on-destination --to ssh://server /run/current-system
@ -149,6 +161,9 @@
# usbip attach -r 127.0.0.1 -b 3-6 # usbip attach -r 127.0.0.1 -b 3-6
# systemd-cryptenroll --fido2-device=auto /dev/vda2 # systemd-cryptenroll --fido2-device=auto /dev/vda2
# systemd-cryptsetup attach root /dev/vda2 # systemd-cryptsetup attach root /dev/vda2
# ssh-keygen -t rsa -C root@pe -f /mnt/nix/persistent/etc/ssh/ssh_host_rsa_key
# ssh-keygen -t ed25519 -C root@pe -f /mnt/nix/persistent/etc/ssh/ssh_host_ed25519_key
# systemd-machine-id-setup --root=/mnt/nix/persistent
deploy = deploy =
{ {
sshUser = "root"; sshUser = "root";