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