2021-05-11 14:32:58 +07:00
|
|
|
{
|
|
|
|
|
inputs = {
|
2021-06-04 16:38:41 +07:00
|
|
|
nixpkgs = { url = "github:NixOS/nixpkgs"; };
|
2021-06-04 13:50:15 +07:00
|
|
|
home-manager = { url = "github:LavaDesu/home-manager/xsession-profilePath"; };
|
2021-05-11 14:32:58 +07:00
|
|
|
secrets = { url = "github:LavaDesu/flakes-secrets"; };
|
2021-05-20 14:02:49 +07:00
|
|
|
|
|
|
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
2021-05-11 14:32:58 +07:00
|
|
|
};
|
|
|
|
|
|
2021-05-20 14:02:49 +07:00
|
|
|
outputs = inputs: with inputs;
|
2021-05-13 17:59:46 +07:00
|
|
|
let
|
2021-06-23 22:34:42 +07:00
|
|
|
revCount = "297538";
|
2021-06-16 16:08:10 +07:00
|
|
|
base = { config, ... }: {
|
|
|
|
|
system = {
|
|
|
|
|
configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
|
|
|
|
|
nixos = rec {
|
|
|
|
|
version = config.system.nixos.release + versionSuffix;
|
|
|
|
|
versionSuffix = ".${nixpkgs.lib.substring 0 8 (nixpkgs.lastModifiedDate or nixpkgs.lastModified or "19700101")}.r${revCount}-${nixpkgs.lib.substring 0 11 (nixpkgs.rev or "dirty")}";
|
|
|
|
|
};
|
|
|
|
|
};
|
2021-05-13 17:59:46 +07:00
|
|
|
nix.registry.nixpkgs.flake = nixpkgs;
|
2021-05-27 23:09:18 +07:00
|
|
|
nixpkgs.overlays = builtins.attrValues overlays;
|
2021-05-13 17:59:46 +07:00
|
|
|
};
|
2021-05-26 21:05:59 +07:00
|
|
|
hm-base = {
|
2021-05-20 14:02:49 +07:00
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
|
};
|
2021-05-13 17:59:46 +07:00
|
|
|
overlays = {
|
2021-05-28 08:38:14 +07:00
|
|
|
discord = import ./overlays/discord.nix;
|
2021-05-13 20:31:05 +07:00
|
|
|
linux = import ./overlays/linux.nix;
|
2021-05-30 12:34:36 +07:00
|
|
|
material-icons = import ./overlays/material-icons.nix;
|
2021-06-15 09:59:23 +07:00
|
|
|
mps-youtube = import ./overlays/mps-youtube.nix;
|
2021-05-13 17:59:46 +07:00
|
|
|
picom = import ./overlays/picom.nix;
|
|
|
|
|
polybar = import ./overlays/polybar.nix;
|
2021-05-28 14:56:53 +07:00
|
|
|
transcrypt = import ./overlays/transcrypt.nix;
|
2021-05-26 20:48:23 +07:00
|
|
|
winetricks = import ./overlays/winetricks.nix;
|
2021-05-13 18:22:33 +07:00
|
|
|
wine-osu = import ./overlays/wine-osu.nix;
|
2021-06-04 16:16:16 +07:00
|
|
|
xinit = import ./overlays/xinit.nix;
|
2021-05-13 17:59:46 +07:00
|
|
|
};
|
|
|
|
|
in
|
|
|
|
|
{
|
2021-05-20 14:02:49 +07:00
|
|
|
nixosConfigurations."winter" = nixpkgs.lib.nixosSystem {
|
2021-05-13 17:59:46 +07:00
|
|
|
system = "x86_64-linux";
|
|
|
|
|
modules = [
|
|
|
|
|
base
|
2021-05-26 21:05:59 +07:00
|
|
|
home-manager.nixosModules.home-manager
|
|
|
|
|
hm-base
|
|
|
|
|
./hosts/winter
|
2021-05-20 14:02:49 +07:00
|
|
|
secrets.nixosModules.winter
|
2021-05-13 17:59:46 +07:00
|
|
|
];
|
2021-05-27 23:09:18 +07:00
|
|
|
specialArgs = { inherit overlays; };
|
2021-05-13 17:59:46 +07:00
|
|
|
};
|
2021-05-27 23:09:18 +07:00
|
|
|
|
|
|
|
|
packages.x86_64-linux =
|
|
|
|
|
let
|
|
|
|
|
pkgs = import nixpkgs {
|
|
|
|
|
overlays = builtins.attrValues overlays;
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
};
|
|
|
|
|
in {
|
|
|
|
|
inherit (pkgs) linux-lava wine-osu;
|
|
|
|
|
};
|
2021-05-11 14:32:58 +07:00
|
|
|
};
|
|
|
|
|
}
|