flakes/flake.nix

61 lines
1.9 KiB
Nix

{
inputs = {
nixpkgs = { url = "github:NixOS/nixpkgs/nixos-unstable"; };
home-manager = { url = "github:nix-community/home-manager"; };
secrets = { url = "github:LavaDesu/flakes-secrets"; };
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs: with inputs;
let
base = {
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
nix.registry.nixpkgs.flake = nixpkgs;
nixpkgs.overlays = builtins.attrValues overlays;
};
hm-base = {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
};
overlays = {
linux = import ./overlays/linux.nix;
picom = import ./overlays/picom.nix;
polybar = import ./overlays/polybar.nix;
winetricks = import ./overlays/winetricks.nix;
discord = (self: super: {
discord-canary = super.discord-canary.override rec {
version = "0.0.123";
src = builtins.fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
sha256 = "0bijwfsd9s4awqkgxd9c2cxh7y5r06vix98qjp0dkv63r6jig8ch";
};
};
});
wine-osu = import ./overlays/wine-osu.nix;
};
in
{
nixosConfigurations."winter" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
base
home-manager.nixosModules.home-manager
hm-base
./hosts/winter
secrets.nixosModules.winter
];
specialArgs = { inherit overlays; };
};
packages.x86_64-linux =
let
pkgs = import nixpkgs {
overlays = builtins.attrValues overlays;
system = "x86_64-linux";
};
in {
inherit (pkgs) linux-lava wine-osu;
};
};
}