From 16595f9cddbb1f8dc95feaf1b1cd6a1013a46d3d Mon Sep 17 00:00:00 2001 From: asonix Date: Sat, 18 Feb 2023 23:04:54 -0600 Subject: [PATCH] Build images --- .gitignore | 1 + flake.lock | 48 ++++++++++++++++++++++++++++++++++++++++ flake.nix | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 .gitignore create mode 100644 flake.lock create mode 100644 flake.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4a847d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/result diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..dfb4c5c --- /dev/null +++ b/flake.lock @@ -0,0 +1,48 @@ +{ + "nodes": { + "nixos-aarch64-images": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1676782443, + "narHash": "sha256-z0EUeHX/f0z6iO6R+R3JX/QdbYzNaM655Zz6chmz4G4=", + "ref": "refs/heads/main", + "rev": "6f45acca5d7d9aa7a1176168b3ed3c6e309172c5", + "revCount": 68, + "type": "git", + "url": "https://git.asonix.dog/asonix/nixos-aarch64-images" + }, + "original": { + "type": "git", + "url": "https://git.asonix.dog/asonix/nixos-aarch64-images" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1676721149, + "narHash": "sha256-mN2EpTGxxVNnFZLoLWRwh6f7UWhXy4qE+wO2CZyrXps=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "5f4e07deb7c44f27d498f8df9c5f34750acf52d2", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixos-aarch64-images": "nixos-aarch64-images", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..2cb738a --- /dev/null +++ b/flake.nix @@ -0,0 +1,65 @@ +{ + description = "A very basic flake"; + + # pin this to unstable + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixos-aarch64-images = { + url = "git+https://git.asonix.dog/asonix/nixos-aarch64-images"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { self, nixpkgs, nixos-aarch64-images }: + let + asonix-key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3+mNUlokSKZQNXJAuGm2LCHelKuElWLJArzIYZQYEPbrFaE+J8VtfNbMMD1qVI21ksfcqvFQW4aiP4+BFDxTOGW0uBmUHWKxkyyU39y2yhnsa+svwwIooc+Iwkxw0atzSMEBb94UaZlq9cKMSnG9RGeRFqfYnW2s49wpU79wk6zEFUuOHCMKn4R7zqkPac7IyjxZeKlspY3fOasNH4zyrkbhEOlvrwEOdRNTRNCWWzDcinIVZjfmErHlSynshx9yLnCGkLBxHSxgI2TVyR3RlQ3aGbHtB3QN5X7/T/dwXJFJ11P1Q2bC3XP3hHCogDqXcPvDTFSQEM/mZuFcKNbsn asonix@asonix-tower"; + trusted-public-keys = "firestar:spmMw07mO3cxflq5g2GazhE7ddgEoz6QLwaiCnyz/fg="; + + userModule = { + users.users.asonix = { + isNormalUser = true; + description = "Tavi"; + extraGroups = [ "wheel" ]; + openssh.authorizedKeys.keys = [ asonix-key ]; + initialPassword = "changeme"; + }; + }; + + baseModule = ({ lib, ... }: { + # Nix config + nix.extraOptions = '' + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${trusted-public-keys} + ''; + + services.openssh = { + enable = true; + settings.PermitRootLogin = lib.mkForce "prohibit-password"; + }; + }); + + buildConfig = { + kernel = nixos-aarch64-images.packages.x86_64-linux.kernels.testing-rockchip; + modules = [ + baseModule + userModule + ]; + }; + in + with nixos-aarch64-images.packages.x86_64-linux; + { + packages.x86_64-linux = { + modules = buildModules buildConfig; + + quartz64a = buildQuartz64A buildConfig; + quartz64b = buildQuartz64B buildConfig; + soquartz-blade = buildSoQuartzBlade buildConfig; + soquartz-cm4 = buildSoQuartzCM4 buildConfig; + soquartz-model-a = buildSoQuartzModelA buildConfig; + rock64 = buildRock64 buildConfig; + rockPro64 = buildRockPro64 buildConfig; + rockPro64V2 = buildRockPro64V2 buildConfig; + rock-pc-rk3399 = buildRockPCRk3399 buildConfig; + pinebook-pro = buildPinebookPro buildConfig; + }; + }; +}