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 = [ imports = [
./flake/hosts.nix ./flake/hosts.nix
./flake/modules.nix ./flake/modules.nix
./flake/wrappers.nix
./flake/dev-shells.nix ./flake/dev-shells.nix
./flake/formatter.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 = [ imports = [
self.nixosModules.nixos self.nixosModules.nixos
../wrappers self.nixosModules.wrappers
]; ];
nix.settings = { nix.settings = {

View file

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

View file

@ -1,8 +1,12 @@
{ assembleWrapper, moduleArgs, ... }: { inputs, pkgs, ... }:
let (inputs.wrapper-manager.lib {
inherit (moduleArgs) pkgs; inherit pkgs;
in modules = [
assembleWrapper { {
wrappers.bottom = {
basePackage = pkgs.bottom; basePackage = pkgs.bottom;
flags = [ "--group" ]; 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 inputs,
inherit (moduleArgs) pkgs; pkgs,
in lib,
assembleWrapper { ...
}:
(inputs.wrapper-manager.lib {
inherit pkgs;
modules = [
{
wrappers.firefox = {
basePackage = pkgs.wrapFirefox pkgs.firefox-unwrapped { basePackage = pkgs.wrapFirefox pkgs.firefox-unwrapped {
extraPolicies.ExtensionSettings = import ./extensions.nix { inherit moduleArgs; }; extraPolicies.ExtensionSettings = import ./extensions.nix { inherit inputs lib; };
extraPrefs = import ./preferences.nix { inherit moduleArgs; }; extraPrefs = import ./preferences.nix { inherit inputs; };
};
}; };
} }
];
}).config.wrappers.firefox.wrapped

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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