treewide: remove overcomplicated and out-of-scope stuff
This commit is contained in:
parent
de5683d40a
commit
a652c76523
7 changed files with 0 additions and 382 deletions
|
|
@ -1,46 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
owoLib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
name = "helix";
|
||||
cfg = config.nixowos.cli.${name};
|
||||
in
|
||||
{
|
||||
options.nixowos.cli.${name} = {
|
||||
enable = lib.mkEnableOption name;
|
||||
|
||||
package = lib.mkPackageOption pkgs name { };
|
||||
|
||||
extraConfig = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
default = /* toml */ ''
|
||||
theme = "dark_high_contrast"
|
||||
|
||||
[editor]
|
||||
soft-wrap.enable = true
|
||||
|
||||
[editor.cursor-shape]
|
||||
insert = "bar"
|
||||
normal = "block"
|
||||
select = "underline"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
(owoLib.mkConfWrapper "hx" cfg.package {
|
||||
globalConfig = pkgs.writeText "${name}.toml" cfg.extraConfig;
|
||||
userConfig = "$HOME/${name}/config.toml";
|
||||
})
|
||||
];
|
||||
|
||||
# nixos/modules/programs/environment.nix uses mkDefault "nano"
|
||||
environment.variables.EDITOR = lib.mkOverride 900 "hx";
|
||||
};
|
||||
}
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
name = "yt-dlp";
|
||||
cfg = config.nixowos.cli.${name};
|
||||
|
||||
serialize =
|
||||
let
|
||||
serializeValue =
|
||||
value: prepend:
|
||||
if builtins.isBool value then
|
||||
""
|
||||
else
|
||||
prepend
|
||||
+ (
|
||||
if builtins.isString value then
|
||||
value
|
||||
else if builtins.isList value then
|
||||
builtins.concatStringsSep "," value
|
||||
else if builtins.isAttrs value then
|
||||
lib.concatMapAttrsStringSep "," (key: value: "${key}:${value}") value
|
||||
else
|
||||
abort "invalid ${name} config value: ${value}"
|
||||
);
|
||||
in
|
||||
|
||||
set:
|
||||
lib.strings.concatMapAttrsStringSep "\n" (
|
||||
key: value:
|
||||
if builtins.isBool value && !value then
|
||||
""
|
||||
else if builtins.stringLength key == 1 then
|
||||
"-${key}${serializeValue value ""}"
|
||||
else
|
||||
"--${key}${serializeValue value "="}"
|
||||
) set
|
||||
+ "\n";
|
||||
in
|
||||
{
|
||||
options.nixowos.cli.${name} = {
|
||||
enable = lib.mkEnableOption name;
|
||||
|
||||
package = lib.mkPackageOption pkgs name { };
|
||||
|
||||
settings = lib.mkOption {
|
||||
type =
|
||||
with lib.types;
|
||||
attrsOf (oneOf [
|
||||
bool
|
||||
str
|
||||
(listOf str)
|
||||
(attrsOf str)
|
||||
]);
|
||||
|
||||
default = {
|
||||
no-write-auto-subs = true;
|
||||
sub-langs = [
|
||||
"all"
|
||||
"-live_chat"
|
||||
];
|
||||
|
||||
embed-subs = true;
|
||||
embed-metadata = true;
|
||||
embed-chapters = true;
|
||||
sponsorblock-mark = "all";
|
||||
|
||||
paths = {
|
||||
"temp" = "/tmp";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
environment.etc."${name}.conf".text = serialize cfg.settings;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
name = "mangohud";
|
||||
cfg = config.nixowos.graphical.games.${name};
|
||||
in
|
||||
{
|
||||
options.nixowos.graphical.games.${name} = {
|
||||
enable = lib.mkEnableOption "${name}, a performance overlay";
|
||||
|
||||
package = lib.mkPackageOption pkgs name { };
|
||||
|
||||
extraConfig = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
default = ''
|
||||
legacy_layout=false
|
||||
|
||||
|
||||
background_alpha=0.2
|
||||
background_color=000000
|
||||
|
||||
font_size=24
|
||||
text_color=FFFFFF
|
||||
position=top-left
|
||||
|
||||
no_display
|
||||
table_columns=3
|
||||
|
||||
|
||||
gpu_stats
|
||||
|
||||
gpu_load_change
|
||||
gpu_load_value=50,90
|
||||
gpu_load_color=FFFFFF,FFAA7F,CC0000
|
||||
|
||||
|
||||
cpu_stats
|
||||
cpu_temp
|
||||
|
||||
cpu_load_change
|
||||
cpu_load_value=50,90
|
||||
cpu_load_color=FFFFFF,FFAA7F,CC0000
|
||||
|
||||
|
||||
swap
|
||||
ram
|
||||
|
||||
fps
|
||||
frame_timing
|
||||
frametime_color=22FF00
|
||||
|
||||
fps_limit_method=late
|
||||
fps_limit=60,5
|
||||
|
||||
fps_color_change
|
||||
fps_value=30,60
|
||||
fps_color=B22222,FDFD09,39F900
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
environment.variables = {
|
||||
MANGOHUD = 1; # enables mangohud by default on all vulkan games
|
||||
MANGOHUD_CONFIGFILE = pkgs.writeText "MangoHud.conf" cfg.extraConfig;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
name = "steam";
|
||||
cfg = config.nixowos.graphical.games.${name};
|
||||
in
|
||||
{
|
||||
options.nixowos.graphical.games.${name} = {
|
||||
enable = lib.mkEnableOption name;
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.steam = lib.mkDefault {
|
||||
enable = true;
|
||||
|
||||
# open firewall to let these steam features work
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
|
||||
# make GE-Proton avaliable
|
||||
extraCompatPackages = [ pkgs.proton-ge-bin ];
|
||||
|
||||
# protontricks.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
name = "mpv";
|
||||
cfg = config.nixowos.graphical.${name};
|
||||
in
|
||||
{
|
||||
options.nixowos.graphical.${name} = {
|
||||
enable = lib.mkEnableOption name;
|
||||
|
||||
package = lib.mkPackageOption pkgs name { };
|
||||
|
||||
useFullFFmpeg = lib.mkEnableOption "ffmpeg-full within mpv" // {
|
||||
description = ''
|
||||
Whether to use pkgs.ffmpeg-full within mpv, for more media support.
|
||||
For instance, this makes jxl viewing and screenshots possible.
|
||||
|
||||
However, this will (almost certainly) require a local compilation of mpv
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
default = /* ini */ ''
|
||||
hwdec
|
||||
use-filedir-conf
|
||||
window-maximized
|
||||
|
||||
screenshot-format=webp
|
||||
|
||||
# 6 is maximum size efficency
|
||||
screenshot-webp-compression=6
|
||||
screenshot-webp-lossless=yes
|
||||
|
||||
# this allows using mpv as an image viewer
|
||||
image-display-duration=inf
|
||||
'';
|
||||
};
|
||||
|
||||
extraInputConf = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
default = ''
|
||||
RIGHT seek 2
|
||||
LEFT seek -2
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
(
|
||||
cfg.package.override {
|
||||
extraMakeWrapperArgs = [
|
||||
"--add-flags"
|
||||
"--config-dir=${
|
||||
pkgs.symlinkJoin {
|
||||
inherit name;
|
||||
paths = [
|
||||
(pkgs.writeTextDir "${name}.conf" cfg.extraConfig)
|
||||
(pkgs.writeTextDir "input.conf" cfg.extraInputConf)
|
||||
];
|
||||
}
|
||||
}"
|
||||
];
|
||||
}
|
||||
// lib.optionalAttrs cfg.useFullFFmpeg {
|
||||
mpv-unwrapped = pkgs.mpv-unwrapped.override {
|
||||
ffmpeg = pkgs.ffmpeg-full;
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
name = "virt";
|
||||
cfg = config.nixowos.graphical.${name};
|
||||
in
|
||||
{
|
||||
options.nixowos.graphical.${name} = {
|
||||
enable = lib.mkEnableOption name;
|
||||
|
||||
user = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.user != null;
|
||||
message = "you must set nixowos.graphical.${name}.user";
|
||||
}
|
||||
];
|
||||
|
||||
programs.virt-manager.enable = true;
|
||||
virtualisation.libvirtd.enable = true;
|
||||
users.users.${cfg.user}.extraGroups = [ "libvirtd" ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
mkConfWrapper =
|
||||
name: package:
|
||||
{
|
||||
globalConfig,
|
||||
userConfig ? "$HOME/${name}/${name}.conf",
|
||||
configArg ? "-c ",
|
||||
excecutable ? "${package}/bin/${name}",
|
||||
}:
|
||||
pkgs.symlinkJoin {
|
||||
inherit name;
|
||||
paths = [
|
||||
(pkgs.writeShellApplication {
|
||||
inherit name;
|
||||
|
||||
runtimeInputs = [ package ];
|
||||
|
||||
text = ''
|
||||
if test -r "${userConfig}"; then
|
||||
exec -a "$0" "${excecutable}" "$@"
|
||||
else
|
||||
exec -a "$0" "${excecutable}" ${configArg}"${globalConfig}" "$@"
|
||||
fi
|
||||
'';
|
||||
})
|
||||
package
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue