81 lines
1.9 KiB
Nix
81 lines
1.9 KiB
Nix
{
|
|
description = "A very basic flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
hyprland.url = "github:hyprwm/Hyprland";
|
|
wrappers.url = "github:lassulus/wrappers";
|
|
otter-launcher = {
|
|
url = "github:kuokuo123/otter-launcher";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
wshowkeys = {
|
|
url = "github:voidarclabs/wshowkeys";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
woomer.url = "github:coffeeispower/woomer";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
wrappers,
|
|
...
|
|
} @ inputs: let
|
|
system = "x86_64-linux";
|
|
pkgs = import nixpkgs {inherit system;};
|
|
hypr = inputs.hyprland.packages.${system}.default;
|
|
defaultRuntimePkgs = let
|
|
input = {
|
|
package,
|
|
output ? "default",
|
|
}:
|
|
inputs.${package}.packages.${system}.${output};
|
|
in {
|
|
inherit
|
|
(pkgs)
|
|
kitty
|
|
firefox
|
|
nemo
|
|
wlogout
|
|
grimblast
|
|
wpaperd
|
|
syncthing
|
|
gotify-desktop
|
|
wayvnc
|
|
quickshell
|
|
way-edges
|
|
waybar
|
|
dunst
|
|
;
|
|
otter-launcher = input {package = "otter-launcher";};
|
|
wshowkeys = input {package = "wshowkeys";};
|
|
woomer = input {package = "woomer";};
|
|
};
|
|
|
|
mkWrapped = {
|
|
pkgs,
|
|
package,
|
|
runtimePackages,
|
|
exePath,
|
|
flags,
|
|
}:
|
|
(wrappers.lib.wrapPackage {
|
|
inherit pkgs package exePath flags;
|
|
}).overrideAttrs (old: {
|
|
passthru = (old.passthru or {}) // {inherit runtimePackages;};
|
|
});
|
|
in {
|
|
lib.defaultRuntimePkgs.${system} = defaultRuntimePkgs;
|
|
|
|
packages.${system}.default = pkgs.lib.makeOverridable mkWrapped {
|
|
inherit pkgs;
|
|
package = hypr;
|
|
runtimePackages = defaultRuntimePkgs;
|
|
exePath = pkgs.lib.getExe hypr;
|
|
env."MODULES_ROOT" = ./modules;
|
|
flags."--config" = ./hyprland.lua;
|
|
};
|
|
};
|
|
}
|