mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 17:31:34 +01:00
Simplify wrapper imports
This commit is contained in:
parent
43c8adddb6
commit
42ebeaf86e
19 changed files with 298 additions and 248 deletions
|
|
@ -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
19
flake/wrappers.nix
Normal 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");
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
self.nixosModules.nixos
|
self.nixosModules.nixos
|
||||||
../wrappers
|
self.nixosModules.wrappers
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
(inputs.wrapper-manager.lib {
|
||||||
inherit (moduleArgs) pkgs;
|
inherit pkgs;
|
||||||
in
|
modules = [
|
||||||
assembleWrapper {
|
{
|
||||||
basePackage = pkgs.bottom;
|
wrappers.bottom = {
|
||||||
flags = [ "--group" ];
|
basePackage = pkgs.bottom;
|
||||||
}
|
flags = [ "--group" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.bottom.wrapped
|
||||||
|
|
|
||||||
|
|
@ -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; };
|
|
||||||
}
|
|
||||||
))
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +1,19 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{
|
||||||
let
|
inputs,
|
||||||
inherit (moduleArgs) pkgs;
|
pkgs,
|
||||||
in
|
lib,
|
||||||
assembleWrapper {
|
...
|
||||||
basePackage = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
}:
|
||||||
extraPolicies.ExtensionSettings = import ./extensions.nix { inherit moduleArgs; };
|
(inputs.wrapper-manager.lib {
|
||||||
extraPrefs = import ./preferences.nix { inherit moduleArgs; };
|
inherit pkgs;
|
||||||
};
|
modules = [
|
||||||
}
|
{
|
||||||
|
wrappers.firefox = {
|
||||||
|
basePackage = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||||
|
extraPolicies.ExtensionSettings = import ./extensions.nix { inherit inputs lib; };
|
||||||
|
extraPrefs = import ./preferences.nix { inherit inputs; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.firefox.wrapped
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,39 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
(inputs.wrapper-manager.lib {
|
||||||
inherit (moduleArgs) pkgs;
|
inherit pkgs;
|
||||||
in
|
modules = [
|
||||||
assembleWrapper {
|
{
|
||||||
basePackage = pkgs.hypridle;
|
wrappers.hypridle = {
|
||||||
flags =
|
basePackage = pkgs.hypridle;
|
||||||
let
|
flags =
|
||||||
hypridle-config = pkgs.writeText "hypridle-config" ''
|
let
|
||||||
general {
|
hypridle-config = pkgs.writeText "hypridle-config" ''
|
||||||
lock_cmd = pidof hyprlock || hyprlock
|
general {
|
||||||
before_sleep_cmd = loginctl lock-session
|
lock_cmd = pidof hyprlock || hyprlock
|
||||||
after_sleep_cmd = hyprctl dispatch dpms on
|
before_sleep_cmd = loginctl lock-session
|
||||||
}
|
after_sleep_cmd = hyprctl dispatch dpms on
|
||||||
listener {
|
}
|
||||||
timeout = 300
|
listener {
|
||||||
on-timeout= brightnessctl -s && brightnessctl -e set 10%
|
timeout = 300
|
||||||
on-resume = brightnessctl -r
|
on-timeout= brightnessctl -s && brightnessctl -e set 10%
|
||||||
}
|
on-resume = brightnessctl -r
|
||||||
listener {
|
}
|
||||||
timeout = 600
|
listener {
|
||||||
on-timeout = loginctl lock-session
|
timeout = 600
|
||||||
}
|
on-timeout = loginctl lock-session
|
||||||
listener {
|
}
|
||||||
timeout = 610
|
listener {
|
||||||
on-timeout = hyprctl dispatch dpms off
|
timeout = 610
|
||||||
on-resume = hyprctl dispatch dpms on
|
on-timeout = hyprctl dispatch dpms off
|
||||||
}
|
on-resume = hyprctl dispatch dpms on
|
||||||
'';
|
}
|
||||||
in
|
'';
|
||||||
[
|
in
|
||||||
"--config"
|
[
|
||||||
hypridle-config
|
"--config"
|
||||||
];
|
hypridle-config
|
||||||
}
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.hypridle.wrapped
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,29 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
(inputs.wrapper-manager.lib {
|
||||||
inherit (moduleArgs) pkgs;
|
inherit pkgs;
|
||||||
in
|
modules = [
|
||||||
assembleWrapper {
|
{
|
||||||
basePackage = pkgs.hyprlock;
|
wrappers.hyprlock = {
|
||||||
flags =
|
basePackage = pkgs.hyprlock;
|
||||||
let
|
flags =
|
||||||
hyprlock-config = pkgs.writeText "hyprlock-config" ''
|
let
|
||||||
background {
|
hyprlock-config = pkgs.writeText "hyprlock-config" ''
|
||||||
monitor =
|
background {
|
||||||
path = screenshot
|
monitor =
|
||||||
blur_size = 4
|
path = screenshot
|
||||||
blur_passes = 1
|
blur_size = 4
|
||||||
}
|
blur_passes = 1
|
||||||
input-field {
|
}
|
||||||
monitor =
|
input-field {
|
||||||
}
|
monitor =
|
||||||
'';
|
}
|
||||||
in
|
'';
|
||||||
[
|
in
|
||||||
"--config"
|
[
|
||||||
hyprlock-config
|
"--config"
|
||||||
];
|
hyprlock-config
|
||||||
}
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.hyprlock.wrapped
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,23 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
(inputs.wrapper-manager.lib {
|
||||||
inherit (moduleArgs) pkgs;
|
inherit pkgs;
|
||||||
in
|
modules = [
|
||||||
assembleWrapper {
|
{
|
||||||
basePackage = pkgs.hyprpaper;
|
wrappers.hyprpaper = {
|
||||||
flags =
|
basePackage = pkgs.hyprpaper;
|
||||||
let
|
flags =
|
||||||
hyprpaper-config = pkgs.writeText "hyprpaper-config" ''
|
let
|
||||||
preload = ~/Pictures/.wallpaper
|
hyprpaper-config = pkgs.writeText "hyprpaper-config" ''
|
||||||
wallpaper = , ~/Pictures/.wallpaper
|
preload = ~/Pictures/.wallpaper
|
||||||
splash = false
|
wallpaper = , ~/Pictures/.wallpaper
|
||||||
'';
|
splash = false
|
||||||
in
|
'';
|
||||||
[
|
in
|
||||||
"--config"
|
[
|
||||||
hyprpaper-config
|
"--config"
|
||||||
];
|
hyprpaper-config
|
||||||
}
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.hyprpaper.wrapped
|
||||||
|
|
|
||||||
|
|
@ -1,34 +1,38 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
|
||||||
inherit (moduleArgs) pkgs;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
theme ? "dark",
|
theme ? "dark",
|
||||||
}:
|
}:
|
||||||
assembleWrapper {
|
(inputs.wrapper-manager.lib {
|
||||||
basePackage = pkgs.kitty;
|
inherit pkgs;
|
||||||
programs.kitty.prependFlags =
|
modules = [
|
||||||
let
|
{
|
||||||
kitty-config = pkgs.writeText "kitty-config" ''
|
wrappers.kitty = {
|
||||||
font_family JetBrainsMono Nerd Font
|
basePackage = pkgs.kitty;
|
||||||
background_opacity 0.85
|
programs.kitty.prependFlags =
|
||||||
cursor_shape beam
|
let
|
||||||
confirm_os_window_close 0
|
kitty-config = pkgs.writeText "kitty-config" ''
|
||||||
enable_audio_bell no
|
font_family JetBrainsMono Nerd Font
|
||||||
update_check_interval 0
|
background_opacity 0.85
|
||||||
'';
|
cursor_shape beam
|
||||||
theme-file =
|
confirm_os_window_close 0
|
||||||
{
|
enable_audio_bell no
|
||||||
dark = "default.conf";
|
update_check_interval 0
|
||||||
light = "GitHub_Light.conf";
|
'';
|
||||||
}
|
theme-file =
|
||||||
.${theme};
|
{
|
||||||
kitty-theme = "include=${pkgs.kitty-themes}/share/kitty-themes/themes/${theme-file}";
|
dark = "default.conf";
|
||||||
in
|
light = "GitHub_Light.conf";
|
||||||
[
|
}
|
||||||
"--config"
|
.${theme};
|
||||||
kitty-config
|
kitty-theme = "include=${pkgs.kitty-themes}/share/kitty-themes/themes/${theme-file}";
|
||||||
"--override"
|
in
|
||||||
kitty-theme
|
[
|
||||||
];
|
"--config"
|
||||||
}
|
kitty-config
|
||||||
|
"--override"
|
||||||
|
kitty-theme
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.kitty.wrapped
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
(inputs.wrapper-manager.lib {
|
||||||
inherit (moduleArgs) pkgs;
|
inherit pkgs;
|
||||||
in
|
modules = [
|
||||||
assembleWrapper {
|
{
|
||||||
basePackage = pkgs.marktext;
|
wrappers.marktext = {
|
||||||
flags = [ "--disable-gpu" ];
|
basePackage = pkgs.marktext;
|
||||||
}
|
flags = [ "--disable-gpu" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.marktext.wrapped
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
(inputs.wrapper-manager.lib {
|
||||||
inherit (moduleArgs) pkgs;
|
inherit pkgs;
|
||||||
in
|
modules = [
|
||||||
assembleWrapper {
|
{
|
||||||
basePackage = pkgs.obsidian;
|
wrappers.obsidian = {
|
||||||
flags = [ "--disable-gpu" ];
|
basePackage = pkgs.obsidian;
|
||||||
}
|
flags = [ "--disable-gpu" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.obsidian.wrapped
|
||||||
|
|
|
||||||
|
|
@ -1,47 +1,56 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{
|
||||||
let
|
inputs,
|
||||||
inherit (moduleArgs) pkgs lib;
|
pkgs,
|
||||||
in
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
theme ? "dark",
|
theme ? "dark",
|
||||||
}:
|
}:
|
||||||
assembleWrapper {
|
(inputs.wrapper-manager.lib {
|
||||||
basePackage = pkgs.rofi-wayland;
|
inherit pkgs;
|
||||||
flags =
|
modules = [
|
||||||
let
|
{
|
||||||
theming =
|
wrappers.rofi = {
|
||||||
{
|
basePackage = pkgs.rofi-wayland;
|
||||||
dark = ''
|
flags =
|
||||||
* {
|
let
|
||||||
background: #1E2127FF;
|
theming =
|
||||||
background-alt: #282B31FF;
|
{
|
||||||
foreground: #FFFFFFFF;
|
dark = ''
|
||||||
selected: #61AFEFFF;
|
* {
|
||||||
active: #98C379FF;
|
background: #1E2127FF;
|
||||||
urgent: #E06C75FF;
|
background-alt: #282B31FF;
|
||||||
}
|
foreground: #FFFFFFFF;
|
||||||
'';
|
selected: #61AFEFFF;
|
||||||
light = ''
|
active: #98C379FF;
|
||||||
* {
|
urgent: #E06C75FF;
|
||||||
background: #F1F1F1FF;
|
}
|
||||||
background-alt: #E0E0E0FF;
|
'';
|
||||||
foreground: #252525FF;
|
light = ''
|
||||||
selected: #008EC4FF;
|
* {
|
||||||
active: #10A778FF;
|
background: #F1F1F1FF;
|
||||||
urgent: #C30771FF;
|
background-alt: #E0E0E0FF;
|
||||||
}
|
foreground: #252525FF;
|
||||||
'';
|
selected: #008EC4FF;
|
||||||
}
|
active: #10A778FF;
|
||||||
.${theme};
|
urgent: #C30771FF;
|
||||||
rofi-config = pkgs.writeText "rofi-config" (
|
}
|
||||||
lib.concatLines [
|
'';
|
||||||
theming
|
}
|
||||||
(builtins.readFile ./config.rasi)
|
.${theme};
|
||||||
]
|
rofi-config = pkgs.writeText "rofi-config" (
|
||||||
);
|
lib.concatLines [
|
||||||
in
|
theming
|
||||||
[
|
(builtins.readFile ./config.rasi)
|
||||||
"-config"
|
]
|
||||||
rofi-config
|
);
|
||||||
];
|
in
|
||||||
}
|
[
|
||||||
|
"-config"
|
||||||
|
rofi-config
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.rofi.wrapped
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
(inputs.wrapper-manager.lib {
|
||||||
inherit (moduleArgs) pkgs;
|
inherit pkgs;
|
||||||
in
|
modules = [
|
||||||
assembleWrapper {
|
{
|
||||||
basePackage = pkgs.spotify;
|
wrappers.spotify = {
|
||||||
flags = [ "--disable-gpu" ];
|
basePackage = pkgs.spotify;
|
||||||
}
|
flags = [ "--disable-gpu" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.spotify.wrapped
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,17 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
(inputs.wrapper-manager.lib {
|
||||||
inherit (moduleArgs) pkgs;
|
inherit pkgs;
|
||||||
in
|
modules = [
|
||||||
assembleWrapper {
|
{
|
||||||
basePackage = pkgs.waybar;
|
wrappers.waybar = {
|
||||||
flags = [
|
basePackage = pkgs.waybar;
|
||||||
"--config"
|
flags = [
|
||||||
./config.json
|
"--config"
|
||||||
"--style"
|
./config.json
|
||||||
./style.css
|
"--style"
|
||||||
|
./style.css
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}).config.wrappers.waybar.wrapped
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
{ assembleWrapper, moduleArgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
let
|
(inputs.wrapper-manager.lib {
|
||||||
inherit (moduleArgs) pkgs;
|
inherit pkgs;
|
||||||
in
|
modules = [
|
||||||
assembleWrapper {
|
{
|
||||||
basePackage = pkgs.webcord;
|
wrappers.webcord = {
|
||||||
flags = [ "--disable-gpu" ];
|
basePackage = pkgs.webcord;
|
||||||
}
|
flags = [ "--disable-gpu" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}).config.wrappers.webcord.wrapped
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue