1
0
forked from extern/nix-config
donovanglover-nix-config/flake.nix
Donovan Glover a5941a1701
meta: Use crystal-flake for crystal development
The current crystal binary in nixpkgs complains about not finding pcre
when you try to compile anything with it, so crystal-flake is necessary
to have a working crystal environment under NixOS.

crystal-flake additionally packages crystalline, which is nice since no
one has been able to successfully create a pull request for nixpkgs yet.

Reference: https://github.com/NixOS/nixpkgs/issues/129002
2023-06-08 15:13:46 -04:00

66 lines
1.4 KiB
Nix

{
outputs = {
self,
nixpkgs,
home-manager,
hyprland,
stylix,
nix-gaming,
crystal-flake,
...
} @ attrs: let
VARIABLES = import ./src/variables.nix;
in {
formatter."${VARIABLES.system}" = nixpkgs.legacyPackages."${VARIABLES.system}".alejandra;
nixosConfigurations."${VARIABLES.hostname}" = nixpkgs.lib.nixosSystem {
system = VARIABLES.system;
specialArgs = attrs;
modules = [
home-manager.nixosModules.home-manager
hyprland.nixosModules.default
stylix.nixosModules.stylix
nix-gaming.nixosModules.pipewireLowLatency
./src/main.nix
];
};
};
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix";
inputs = {
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
};
};
hypr-contrib = {
url = "github:hyprwm/contrib";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-gaming = {
url = "github:fufexan/nix-gaming";
inputs.nixpkgs.follows = "nixpkgs";
};
crystal-flake = {
url = "github:manveru/crystal-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}