{ 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 ]; }; in { inherit (pkgs) gamescope custom-apparmor-utils; }; }); }