Simplify wrapper imports

This commit is contained in:
SebastianStork 2024-07-15 19:22:36 +02:00
parent 43c8adddb6
commit 42ebeaf86e
19 changed files with 298 additions and 248 deletions

View file

@ -59,6 +59,7 @@
imports = [
./flake/hosts.nix
./flake/modules.nix
./flake/wrappers.nix
./flake/dev-shells.nix
./flake/formatter.nix
];

19
flake/wrappers.nix Normal file
View file

@ -0,0 +1,19 @@
{
flake.nixosModules.wrappers =
{
self,
inputs,
pkgs,
lib,
...
}:
{
_module.args.wrappers =
(lib.concatMapAttrs (
name: _: {
${lib.removeSuffix ".nix" name} = import "${self}/wrappers/${name}" { inherit inputs pkgs lib; };
}
))
(builtins.readDir "${self}/wrappers");
};
}

View file

@ -2,7 +2,7 @@
{
imports = [
self.nixosModules.nixos
../wrappers
self.nixosModules.wrappers
];
nix.settings = {

View file

@ -12,7 +12,7 @@
home-manager.sharedModules = [
self.nixosModules.home-manager
../wrappers
self.nixosModules.wrappers
{
programs.home-manager.enable = true;

View file

@ -1,8 +1,12 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{ inputs, pkgs, ... }:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.bottom = {
basePackage = pkgs.bottom;
flags = [ "--group" ];
}
};
}
];
}).config.wrappers.bottom.wrapped

View file

@ -1,24 +0,0 @@
{
inputs,
pkgs,
lib,
...
}@moduleArgs:
let
assembleWrapper =
wrapperConfig:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [ { wrappers.wrappedPackage = wrapperConfig; } ];
}).config.wrappers.wrappedPackage.wrapped;
in
{
_module.args.wrappers = lib.pipe (builtins.readDir ./.) [
(lib.filterAttrs (name: _: name != "default.nix"))
(lib.concatMapAttrs (
name: _: {
${lib.removeSuffix ".nix" name} = import ./${name} { inherit assembleWrapper moduleArgs; };
}
))
];
}

View file

@ -1,10 +1,19 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{
inputs,
pkgs,
lib,
...
}:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.firefox = {
basePackage = pkgs.wrapFirefox pkgs.firefox-unwrapped {
extraPolicies.ExtensionSettings = import ./extensions.nix { inherit moduleArgs; };
extraPrefs = import ./preferences.nix { inherit moduleArgs; };
extraPolicies.ExtensionSettings = import ./extensions.nix { inherit inputs lib; };
extraPrefs = import ./preferences.nix { inherit inputs; };
};
}
};
}
];
}).config.wrappers.firefox.wrapped

View file

@ -1,7 +1,5 @@
{ moduleArgs, ... }:
{ inputs, lib, ... }:
let
inherit (moduleArgs) lib inputs;
extension = shortId: uuid: {
name = uuid;
value = {

View file

@ -1,7 +1,5 @@
{ moduleArgs, ... }:
{ inputs, ... }:
let
inherit (moduleArgs) inputs;
betterfox = builtins.replaceStrings [ "user_pref" ] [ "pref" ] (
builtins.readFile "${inputs.betterfox}/user.js"
);

View file

@ -1,8 +1,9 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{ inputs, pkgs, ... }:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.hypridle = {
basePackage = pkgs.hypridle;
flags =
let
@ -32,4 +33,7 @@ assembleWrapper {
"--config"
hypridle-config
];
}
};
}
];
}).config.wrappers.hypridle.wrapped

View file

@ -1,8 +1,9 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{ inputs, pkgs, ... }:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.hyprlock = {
basePackage = pkgs.hyprlock;
flags =
let
@ -22,4 +23,7 @@ assembleWrapper {
"--config"
hyprlock-config
];
}
};
}
];
}).config.wrappers.hyprlock.wrapped

View file

@ -1,8 +1,9 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{ inputs, pkgs, ... }:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.hyprpaper = {
basePackage = pkgs.hyprpaper;
flags =
let
@ -16,4 +17,7 @@ assembleWrapper {
"--config"
hyprpaper-config
];
}
};
}
];
}).config.wrappers.hyprpaper.wrapped

View file

@ -1,11 +1,12 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
{ inputs, pkgs, ... }:
{
theme ? "dark",
}:
assembleWrapper {
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.kitty = {
basePackage = pkgs.kitty;
programs.kitty.prependFlags =
let
@ -31,4 +32,7 @@ assembleWrapper {
"--override"
kitty-theme
];
}
};
}
];
}).config.wrappers.kitty.wrapped

View file

@ -1,8 +1,12 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{ inputs, pkgs, ... }:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.marktext = {
basePackage = pkgs.marktext;
flags = [ "--disable-gpu" ];
}
};
}
];
}).config.wrappers.marktext.wrapped

View file

@ -1,8 +1,12 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{ inputs, pkgs, ... }:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.obsidian = {
basePackage = pkgs.obsidian;
flags = [ "--disable-gpu" ];
}
};
}
];
}).config.wrappers.obsidian.wrapped

View file

@ -1,11 +1,17 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs lib;
in
{
inputs,
pkgs,
lib,
...
}:
{
theme ? "dark",
}:
assembleWrapper {
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.rofi = {
basePackage = pkgs.rofi-wayland;
flags =
let
@ -44,4 +50,7 @@ assembleWrapper {
"-config"
rofi-config
];
}
};
}
];
}).config.wrappers.rofi.wrapped

View file

@ -1,8 +1,12 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{ inputs, pkgs, ... }:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.spotify = {
basePackage = pkgs.spotify;
flags = [ "--disable-gpu" ];
}
};
}
];
}).config.wrappers.spotify.wrapped

View file

@ -1,8 +1,9 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{ inputs, pkgs, ... }:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.waybar = {
basePackage = pkgs.waybar;
flags = [
"--config"
@ -10,4 +11,7 @@ assembleWrapper {
"--style"
./style.css
];
}
};
}
];
}).config.wrappers.waybar.wrapped

View file

@ -1,8 +1,12 @@
{ assembleWrapper, moduleArgs, ... }:
let
inherit (moduleArgs) pkgs;
in
assembleWrapper {
{ inputs, pkgs, ... }:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.webcord = {
basePackage = pkgs.webcord;
flags = [ "--disable-gpu" ];
}
};
}
];
}).config.wrappers.webcord.wrapped