diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..da82870 --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1693771906, + "narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index e69de29..11cc538 100644 --- a/flake.nix +++ b/flake.nix @@ -0,0 +1,34 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; + }; + + outputs = { self, nixpkgs }: + let + system = "x86_64-linux"; + crossSystem = "aarch64-linux"; + pkgs = import nixpkgs { + inherit system; + crossSystem = { + gcc.cpu = "cortex-a53"; + config = "aarch64-unknown-linux-gnu"; + linux-kernel = { + DTB = true; + autoModules = true; + baseConfig = "defconfig"; + extraConfig = "# Raspberry Pi 3 stuff. Not needed for s >= 4.10.\nARCH_BCM2835 y\nBCM2835_MBOX y\nBCM2835_WDT y\nRASPBERRYPI_FIRMWARE y\nRASPBERRYPI_POWER y\nSERIAL_8250_BCM2835AUX y\nSERIAL_8250_EXTENDED y\nSERIAL_8250_SHARE_IRQ y\n\n# Cavium ThunderX stuff.\nPCI_HOST_THUNDER_ECAM y\n\n# Nvidia Tegra stuff.\nPCI_TEGRA y\n\n# The default (=y) forces us to have the XHCI firmware available in initrd,\n# which our initrd builder can't currently do easily.\nUSB_XHCI_TEGRA m\n"; + name = "aarch64-multiplatform"; + preferBuiltin = true; + target = "Image"; + }; + }; + }; + in + { + nixosConfigurations.triviOS = nixpkgs.lib.nixosSystem { + system = crossSystem; + modules = [ ./triviOS ]; + }; + formatter.${system} = pkgs.pkgsBuildBuild.nixpkgs-fmt; + }; +} diff --git a/triviOS/default.nix b/triviOS/default.nix new file mode 100644 index 0000000..ab40208 --- /dev/null +++ b/triviOS/default.nix @@ -0,0 +1,8 @@ +# _____ _ _ ___ ___ +# |_ _| _(_)_ _(_)/ _ \/ __| +# | || '_| \ V / | (_) \__ \ +# |_||_| |_|\_/|_|\___/|___/ +# +# Copyright (C) 2023 - Grupo 8, inc. + +{ }