├── flake.lock └── flake.nix /flake.lock: -------------------------------------------------------------------------------- 1 | { 2 | "nodes": { 3 | "nixpkgs": { 4 | "locked": { 5 | "lastModified": 1721138476, 6 | "narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=", 7 | "owner": "nixos", 8 | "repo": "nixpkgs", 9 | "rev": "ad0b5eed1b6031efaed382844806550c3dcb4206", 10 | "type": "github" 11 | }, 12 | "original": { 13 | "owner": "nixos", 14 | "ref": "nixos-unstable", 15 | "repo": "nixpkgs", 16 | "type": "github" 17 | } 18 | }, 19 | "root": { 20 | "inputs": { 21 | "nixpkgs": "nixpkgs" 22 | } 23 | } 24 | }, 25 | "root": "root", 26 | "version": 7 27 | } 28 | -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A very basic flake"; 3 | 4 | inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; }; 5 | 6 | outputs = { self, nixpkgs }: 7 | let 8 | # System types to support. 9 | supportedSystems = [ "x86_64-linux" "aarch64-linux" ]; 10 | 11 | # Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'. 12 | forAllSystems = nixpkgs.lib.genAttrs supportedSystems; 13 | 14 | # Nixpkgs instantiated for supported system types. 15 | nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); 16 | in { 17 | packages = forAllSystems (system: 18 | let 19 | pkgs = nixpkgsFor.${system}; 20 | 21 | libnng-dev = pkgs.stdenv.mkDerivation { 22 | name = "libnng-dev"; 23 | version = "1.8.0"; 24 | 25 | src = pkgs.fetchFromGitHub { 26 | owner = "nanomsg"; 27 | repo = "nng"; 28 | rev = "v1.8.0"; 29 | sha256 = "sha256-E2uosZrmxO3fqwlLuu5e36P70iGj5xUlvhEb+1aSvOA="; 30 | }; 31 | 32 | nativeBuildInputs = [ pkgs.cmake ]; 33 | }; 34 | in { 35 | default = pkgs.stdenv.mkDerivation { 36 | name = "SatDump"; 37 | version = "1.2.0"; 38 | 39 | src = pkgs.fetchFromGitHub { 40 | owner = "SatDump"; 41 | repo = "SatDump"; 42 | rev = "1.2.0"; 43 | sha256 = "sha256-u15asHCMVf9cE4JGHpSw37B+4PW/aVfF4aDwzeg0rQ4="; 44 | }; 45 | buildInputs = [ 46 | pkgs.libpng 47 | pkgs.libtiff 48 | pkgs.fftwSinglePrec 49 | pkgs.glfw 50 | pkgs.librtlsdr 51 | pkgs.portaudio 52 | pkgs.volk 53 | pkgs.jemalloc 54 | libnng-dev 55 | ]; 56 | nativeBuildInputs = [ pkgs.cmake pkgs.pkg-config ]; 57 | }; 58 | }); 59 | }; 60 | } 61 | --------------------------------------------------------------------------------