mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-11-25 09:36:14 +01:00
132 lines
4.4 KiB
Nix
132 lines
4.4 KiB
Nix
|
{inputs, ...}: let
|
||
|
inherit
|
||
|
(inputs)
|
||
|
self
|
||
|
;
|
||
|
in {
|
||
|
perSystem = {
|
||
|
system,
|
||
|
pkgs,
|
||
|
...
|
||
|
}: {
|
||
|
devShells.default = let
|
||
|
unpackSrc = package:
|
||
|
pkgs.stdenv.mkDerivation {
|
||
|
pname = package.pname;
|
||
|
version = package.version;
|
||
|
|
||
|
src = package.src;
|
||
|
|
||
|
phases = ["unpackPhase" "installPhase"];
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir $out
|
||
|
cp -r . $out
|
||
|
'';
|
||
|
};
|
||
|
prepareDeps = pkgs.writeShellScript "prepare-deps.sh" ''
|
||
|
cd "$(git rev-parse --show-toplevel)/home-manager/modules/xmonad"
|
||
|
mkdir -p .packages
|
||
|
|
||
|
_rsync_args=("--no-perms" "--no-owner" "--no-group" "--del" "--exclude=.stack-work" "--chmod=ugo=rwX" "-crvP")
|
||
|
rsync "''${_rsync_args[@]}" ${unpackSrc pkgs.haskell.packages.ghc946.xmonad}/. .packages/xmonad >/dev/null 2>&1
|
||
|
rsync "''${_rsync_args[@]}" ${unpackSrc pkgs.haskell.packages.ghc946.xmonad-contrib}/. .packages/xmonad-contrib >/dev/null 2>&1
|
||
|
rsync "''${_rsync_args[@]}" ${unpackSrc pkgs.haskell.packages.ghc946.xmobar}/. .packages/xmobar >/dev/null 2>&1
|
||
|
'';
|
||
|
stack-wrapped = pkgs.symlinkJoin {
|
||
|
name = "stack"; # will be available as the usual `stack` in terminal
|
||
|
paths = [pkgs.stack];
|
||
|
buildInputs = [pkgs.makeWrapper];
|
||
|
postBuild = ''
|
||
|
wrapProgram $out/bin/stack \
|
||
|
--run "${prepareDeps}"\
|
||
|
--add-flags "\
|
||
|
--no-nix \
|
||
|
--system-ghc \
|
||
|
--no-install-ghc \
|
||
|
"
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
inherit
|
||
|
(pkgs.callPackage ../scripts/nix-secret-wrapper {})
|
||
|
nixos-rebuild
|
||
|
nix
|
||
|
;
|
||
|
|
||
|
nix-verify =
|
||
|
pkgs.callPackage ../scripts/nix-verify {};
|
||
|
in
|
||
|
pkgs.mkShell {
|
||
|
shellHook = ''
|
||
|
${self.checks.${system}.pre-commit-check.shellHook}
|
||
|
'';
|
||
|
|
||
|
nativeBuildInputs = with pkgs;
|
||
|
[
|
||
|
(pkgs.writeShellScriptBin "update-secret" ''
|
||
|
nix flake lock --update-input secret
|
||
|
'')
|
||
|
nil
|
||
|
nix
|
||
|
nixos-rebuild
|
||
|
nix-verify
|
||
|
(pkgs.callPackage inputs.nix-fast-build.packages.${pkgs.stdenv.system}.nix-fast-build.override {})
|
||
|
# nix-eval-jobs doesn't like our nix version, don't override it then
|
||
|
(inputs.nix-eval-jobs.packages.${pkgs.stdenv.system}.nix-eval-jobs)
|
||
|
(nomad.overrideAttrs (old: {meta = old.meta // {license = "mpl-2.0";};}))
|
||
|
(consul.overrideAttrs (old: {meta = old.meta // {license = "mpl-2.0";};}))
|
||
|
(vault.overrideAttrs (old: {meta = old.meta // {license = "mpl-2.0";};}))
|
||
|
|
||
|
kubectl
|
||
|
kubeconform
|
||
|
|
||
|
haskell.compiler.ghc946
|
||
|
stack-wrapped
|
||
|
pkg-config
|
||
|
haskell.packages.ghc946.haskell-language-server
|
||
|
jq
|
||
|
alejandra
|
||
|
(inputs.uk3s-nix.legacyPackages.${system}.helm2nixScript {
|
||
|
name = "base";
|
||
|
charts = [
|
||
|
# {
|
||
|
# helmChart = pkgs.istioctl.src + "/manifests/charts/base";
|
||
|
# name = "istio-base";
|
||
|
# namespace = "istio-system";
|
||
|
# values = {
|
||
|
# defaultRevision = "foo";
|
||
|
# };
|
||
|
# }
|
||
|
# {
|
||
|
# helmChart = pkgs.istioctl.src + "/manifests/charts/istio-operator";
|
||
|
# name = "istio-operator";
|
||
|
# namespace = "istio-system";
|
||
|
# values = {
|
||
|
# enableCRDTemplates = true;
|
||
|
# revision = "foo";
|
||
|
# };
|
||
|
# }
|
||
|
# {
|
||
|
# helmChart =
|
||
|
# (pkgs.fetchFromGitHub {
|
||
|
# owner = "metallb";
|
||
|
# repo = "metallb";
|
||
|
# rev = "v0.14.3";
|
||
|
# hash = "sha256-H9F2g4N/RGeMViPpK9jiJG1ABI8luFmfk6d2mjQobKQ=";
|
||
|
# })
|
||
|
# + "/charts/metallb";
|
||
|
# name = "metallb";
|
||
|
# namespace = "metallb-system";
|
||
|
# values = {
|
||
|
# };
|
||
|
# }
|
||
|
];
|
||
|
target = "./terranix/kubernetes/generated/";
|
||
|
})
|
||
|
]
|
||
|
++ (lib.foldl (acc: x: acc ++ x) [] (map (x: pkgs.haskell.packages.ghc946.${x}.buildInputs) ["gi-pangocairo" "X11" "cairo" "glib"]));
|
||
|
};
|
||
|
};
|
||
|
}
|