nixos-config/flake.nix

65 lines
1.8 KiB
Nix

{
description = "PapaTutuWawa's flake configuration";
inputs = {
home-manager.url = "github:nix-community/home-manager/master";
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
stable.url = "github:nixos/nixpkgs/nixos-21.05";
emacs.url = "github:nix-community/emacs-overlay";
nur.url = "github:nix-community/nur";
ostylk.url = "git+https://destiny.ostylk.de/gitea/NixDistro/Config.git";
ostylk-home.url = "git+https://destiny.ostylk.de/gitea/NixDistro/Home.git";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
tablet-mode.url = "git+https://destiny.ostylk.de/gitea/NixDistro/tablet-mode.git";
};
outputs = {
self
, nixpkgs
, home-manager
, flake-utils
, ostylk-home
, ...
}@inputs: let
inherit (import ./lib/flake.nix {
inherit flake-utils;
inherit (nixpkgs) lib;
}) eachDefaultLinuxSystem;
mkSystem = import ./lib/mkSystem.nix {
inherit inputs;
inherit (inputs) nur emacs tablet-mode;
inherit (nixpkgs) lib config;
};
in {
# Defines outputs that is not dependent on a specific system, i.e. overlays
overlay = import ./packages;
nixosConfigurations = {
miku = mkSystem {
hostConfigFile = ./hosts/miku.nix;
};
mashu = mkSystem {
hostConfigFile = ./hosts/mashu.nix;
};
nishimiya = mkSystem {
hostConfigFile = ./hosts/nishimiya.nix;
};
};
} // eachDefaultLinuxSystem (system: {
packages = let
pkgs = import nixpkgs {
inherit system;
overlays = [
self.overlay
(import ./overlays/sandbox.nix)
];
};
in {
inherit (pkgs) wayqt dfl-ipc dfl-applications dfl-utils qtgreet xwaylandvideobridge obs-cli rgb_keyboard prismlauncher-wrapped;
};
});
}