Update nixos support

Add flake.nix file and update shell.nix.
pull/193/head
renesat 2 years ago
parent d776cca5b3
commit ba716d9d4c

@ -0,0 +1,75 @@
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1638122382,
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"naersk": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1639947939,
"narHash": "sha256-pGsM8haJadVP80GFq4xhnSpNitYNQpaXk4cnA796Cso=",
"owner": "nmattia",
"repo": "naersk",
"rev": "2fc8ce9d3c025d59fee349c1f80be9785049d653",
"type": "github"
},
"original": {
"owner": "nmattia",
"repo": "naersk",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1640234302,
"narHash": "sha256-dALA+cOam5jQ2KOYdWiv6H6Y2stcYG6eclWQQVGx/FI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "81cbfc8f2a1e218249b7bff74013b63150171496",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1640139330,
"narHash": "sha256-Nkp3wUOGwtoQ7EH28RLVJ7EqB/e0TU7VcsM7GLy+SdY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "81cef6b70fb5d5cdba5a0fef3f714c2dadaf0d6d",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"naersk": "naersk",
"nixpkgs": "nixpkgs_2"
}
}
},
"root": "root",
"version": 7
}

@ -0,0 +1,92 @@
{
description = "Alternative Free Identity System";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
naersk.url = "github:nmattia/naersk";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils, naersk }:
let
systems = [
"aarch64-linux"
"aarch64-darwin"
"i686-linux"
"x86_64-darwin"
"x86_64-linux"
"i686-windows"
"x86_64-windows"
];
in flake-utils.lib.eachSystem systems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
naersk-lib = naersk.lib.${system};
alfis = { webgui ? true, doh ? true, edge ? false }:
let
features = builtins.concatStringsSep " " (builtins.concatMap
({ option, features }: pkgs.lib.optionals option features) [
{
option = webgui;
features = [ "webgui" ];
}
{
option = doh;
features = [ "doh" ];
}
{
option = edge;
features = [ "edge" ];
}
]);
in naersk-lib.buildPackage {
pname = "alfis";
nativeBuildInputs = with pkgs; [ pkg-config webkitgtk kdialog ];
dontWrapQtApps = true;
cargoBuildOptions = opts:
opts ++ [ "--no-default-features" ]
++ [ "--features" ''"${features}"'' ];
root = ./.;
};
isWindows = builtins.elem system [ "i686-windows" "x86_64-windows" ];
in rec {
packages = {
alfis = alfis {
webgui = true;
doh = true;
edge = false;
};
alfisWithoutGUI = alfis {
webgui = false;
doh = true;
edge = false;
};
} // pkgs.lib.optionalAttrs isWindows {
alfisEdge = alfis {
webgui = false;
doh = true;
edge = true;
};
};
defaultPackage = packages.alfis;
apps = with flake-utils.lib;
{
alfis = mkApp { drv = packages.alfis; };
alfisWithoutGUI = mkApp { drv = packages.alfisWithoutGUI; };
} // pkgs.lib.optionalAttrs isWindows {
alfisEdge = mkApp { drv = packages.alfisEdge; };
};
defaultApp = apps.alfis;
devShell = import ./shell.nix { inherit pkgs; };
});
}

@ -1,10 +1,6 @@
let
# Pinned nixpkgs, deterministic. Last updated: 2/12/21.
pkgs = import (fetchTarball("https://github.com/NixOS/nixpkgs/archive/a58a0b5098f0c2a389ee70eb69422a052982d990.tar.gz")) {};
{ pkgs ? import <nixpkgs> { } }:
# Rolling updates, not deterministic.
# pkgs = import (fetchTarball("channel:nixpkgs-unstable")) {};
in pkgs.mkShell {
buildInputs = [ pkgs.cargo pkgs.rustc pkgs.webkitgtk pkgs.pkg-config pkgs.kdialog];
pkgs.mkShell {
buildInputs =
[ pkgs.cargo pkgs.rustc pkgs.webkitgtk pkgs.pkg-config pkgs.kdialog ];
}

Loading…
Cancel
Save