1
0
Fork 0

add spectacle config, add spotify, fix cinny video playback with gstreamer

refactor some stuff to look nicer and have more structure too
This commit is contained in:
Philipp 2025-04-10 19:19:37 +02:00
parent 56a64c1e0e
commit dc99f3d24d
Signed by: Philipp
GPG key ID: 9EBD8439AFBAB750
15 changed files with 283 additions and 145 deletions

View file

@ -22,6 +22,9 @@ in
hardware.steam-hardware.enable = true;
environment.systemPackages = with pkgs; [ steam ];
environment.systemPackages = with pkgs; [
steamtinkerlaunch
steam
];
};
}

View file

@ -0,0 +1,23 @@
{
config,
lib,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.cli.wireguard;
in
{
options.${namespace}.cli.wireguard = with types; {
enable = mkBoolOpt false "Whether or not to use wiguard-tools.";
};
config = mkIf cfg.enable {
networking.wireguard = {
enable = true;
};
};
}

View file

@ -14,9 +14,6 @@ let
elisa
krdp
];
default-attrs = mapAttrs (key: mkDefault);
nested-default-attrs = mapAttrs (key: default-attrs);
in
{
options.${namespace}.desktop.plasma = with types; {
@ -42,9 +39,7 @@ in
};
};
environment.plasma6.excludePackages =
with pkgs.kdePackages;
[ ] ++ excludePackages ++ cfg.extraExcludePackages;
environment.plasma6.excludePackages = [ ] ++ excludePackages ++ cfg.extraExcludePackages;
networking.networkmanager.enable = true;

View file

@ -0,0 +1,29 @@
{
lib,
pkgs,
config,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.services.gns3;
in
{
options.${namespace}.services.gns3 = {
enable = mkBoolOpt false "GNS3";
};
config = mkIf cfg.enable {
services.gns3-server.enable = true;
services.gns3-server.ubridge.enable = true;
services.gns3-server.dynamips.enable = true;
environment.systemPackages = with pkgs; [
dynamips
gns3-gui
];
};
}

View file

@ -1,8 +1,8 @@
{
lib,
config,
namespace,
...
lib,
config,
namespace,
...
}:
with lib;
with lib.${namespace};
@ -13,7 +13,7 @@ let
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqbT8AdnS++ZoL7TYg2skQUvfWx29Iq+mEYv2Ok2QHb arbeit"
];
in
{
{
options.${namespace}.services.ssh = {
enable = mkBoolOpt false "OpenSSH";
keys = mkOption {
@ -27,9 +27,10 @@ in
# Enable the OpenSSH daemon.
services.openssh = enabled;
users.users.philipp.openssh.authorizedKeys = {
users.users.philipp.openssh.authorizedKeys = {
inherit (cfg)
keys;
keys
;
};
};

View file

@ -0,0 +1,50 @@
{
config,
lib,
pkgs,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.system.gstreamer;
in
{
options.${namespace}.system.gstreamer = with types; {
enable = mkBoolOpt false "Whether or not to enable gstreamer support.";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
# Video/Audio data composition framework tools like "gst-inspect", "gst-launch" ...
gst_all_1.gstreamer
# Common plugins like "filesrc" to combine within e.g. gst-launch
gst_all_1.gst-plugins-base
# Specialized plugins separated by quality
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
# Plugins to reuse ffmpeg to play almost every video format
gst_all_1.gst-libav
# Support the Video Audio (Hardware) Acceleration API
gst_all_1.gst-vaapi
];
environment.sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 =
lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0"
(
with pkgs.gst_all_1;
[
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
gst-vaapi
]
);
};
}