flakes/flake.nix
2021-05-26 20:48:23 +07:00

50 lines
1.6 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;
};
hm-module = {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.rin = import ./cfg/winter/rin/home.nix; # TODO: decoupling
};
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
./cfg/winter
home-manager.nixosModules.home-manager hm-module
secrets.nixosModules.winter
];
specialArgs = { inherit inputs overlays; };
};
};
}