diff --git a/home/david/modules/programs/noctalia/default.nix b/home/david/modules/programs/noctalia/default.nix index f09bf48..bd612f5 100644 --- a/home/david/modules/programs/noctalia/default.nix +++ b/home/david/modules/programs/noctalia/default.nix @@ -59,29 +59,11 @@ in { }; config = lib.mkIf cfg.enable { stylix.targets.noctalia-shell.enable = false; - home.packages = [pkgs.app2unit pkgs.gpu-screen-recorder]; + home.packages = [pkgs.app2unit]; programs.noctalia-shell = { enable = true; systemd.enable = true; plugins = builtins.fromJSON (builtins.readFile ./plugins.json); - pluginSettings = let - enabledPlugins = with lib; - flip pipe [ - (filterAttrs (_name: settings: settings.enabled or false)) - builtins.attrNames - ] - config.programs.noctalia-shell.plugins.states; - staticSettings = lib.genAttrs enabledPlugins (name: let - pluginSettingPath = ./plugin + "/${name}.json"; - in - if lib.pathIsRegularFile pluginSettingPath - then builtins.fromJSON (builtins.readFile pluginSettingPath) - else {}); - in - lib.recursiveUpdate - staticSettings { - screen-recorder.directory = "${config.xdg.userDirs.videos}/records"; - }; settings = lib.recursiveUpdate (builtins.fromJSON (builtins.readFile ./settings.json)) diff --git a/home/david/modules/programs/noctalia/plugin/screen-recorder.json b/home/david/modules/programs/noctalia/plugin/screen-recorder.json deleted file mode 100644 index d81e3a3..0000000 --- a/home/david/modules/programs/noctalia/plugin/screen-recorder.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "hideInactive": false, - "iconColor": "none", - "filenamePattern": "recording_yyyy-MM-dd_HH:mm:ss", - "frameRate": "165", - "audioCodec": "opus", - "videoCodec": "hevc", - "quality": "ultra", - "colorRange": "full", - "showCursor": true, - "copyToClipboard": false, - "audioSource": "default_output", - "videoSource": "portal", - "resolution": "2560x1440" -} diff --git a/home/david/modules/programs/noctalia/plugins.json b/home/david/modules/programs/noctalia/plugins.json index 246eba6..1b6d643 100644 --- a/home/david/modules/programs/noctalia/plugins.json +++ b/home/david/modules/programs/noctalia/plugins.json @@ -2,19 +2,15 @@ "sources": [ { "enabled": true, - "name": "Noctalia Plugins", + "name": "Official Noctalia Plugins", "url": "https://github.com/noctalia-dev/noctalia-plugins" } ], "states": { - "screen-recorder": { - "enabled": true, - "sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins" - }, "timer": { "enabled": true, "sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins" } }, - "version": 2 + "version": 1 } diff --git a/home/david/modules/programs/noctalia/settings.json b/home/david/modules/programs/noctalia/settings.json index 5fdd97a..86635d1 100644 --- a/home/david/modules/programs/noctalia/settings.json +++ b/home/david/modules/programs/noctalia/settings.json @@ -95,9 +95,6 @@ }, "id": "plugin:timer" }, - { - "id": "plugin:screen-recorder" - }, { "displayMode": "onhover", "iconColor": "none", @@ -493,7 +490,7 @@ "visualizerType": "mirrored", "mprisBlacklist": [], "preferredPlayer": "spotify, mpv", - "volumeFeedback": true + "volumeFeedback": false }, "brightness": { "brightnessStep": 1, diff --git a/nixos/configurations/Tytonidae/default.nix b/nixos/configurations/Tytonidae/default.nix index 1f72c13..208e7b9 100644 --- a/nixos/configurations/Tytonidae/default.nix +++ b/nixos/configurations/Tytonidae/default.nix @@ -3,7 +3,6 @@ lib, inputs, outputs, - config, ... }: { imports = @@ -40,19 +39,6 @@ }; }; programs = { - miniserve = { - enable = true; - apps = let - cinny-template = config.youthlic.programs.miniserve.templates.cinny; - in { - cinny-1 = cinny-template { - port = 9093; - }; - cinny-2 = cinny-template { - port = 9094; - }; - }; - }; bash.enable = true; guix.enable = true; dae.enable = true; diff --git a/nixos/modules/programs/caddy/cinny.nix b/nixos/modules/programs/caddy/cinny.nix deleted file mode 100644 index a1b9aae..0000000 --- a/nixos/modules/programs/caddy/cinny.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - cfg = config.youthlic.programs.caddy.cinny; - caddy-cfg = config.youthlic.programs.caddy; -in { - options = { - youthlic.programs.caddy.cinny = { - enable = lib.mkEnableOption "caddy.cinny"; - }; - }; - config = lib.mkIf (cfg.enable && caddy-cfg.enable) { - services.caddy.virtualHosts = { - "cinny.${caddy-cfg.baseDomain}" = { - extraConfig = '' - root * ${pkgs.cinny} - encode gzip zstd - try_files {path} /index.html - file_server - ''; - }; - }; - }; -} diff --git a/nixos/modules/programs/miniserve/cinny.nix b/nixos/modules/programs/miniserve/cinny.nix deleted file mode 100644 index 8505e09..0000000 --- a/nixos/modules/programs/miniserve/cinny.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - pkgs, - lib, - ... -}: { - config.youthlic.programs.miniserve.templates.cinny = {port, ...} @ args: - { - inherit port; - directory = args.cinny or (toString pkgs.cinny); - defaultIndex = "index.html"; - isSpa = true; - } - // (lib.optionalAttrs (args ? interface) { - inherit (args) interface; - }); -} diff --git a/nixos/modules/programs/miniserve/default.nix b/nixos/modules/programs/miniserve/default.nix deleted file mode 100644 index 2166627..0000000 --- a/nixos/modules/programs/miniserve/default.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - cfg = config.youthlic.programs.miniserve; -in { - imports = lib.youthlic.loadImports ./.; - options = { - youthlic.programs.miniserve = { - enable = lib.mkEnableOption "miniserve"; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.miniserve; - }; - templates = lib.mkOption { - type = lib.types.attrsOf lib.types.anything; - default = {}; - }; - apps = lib.mkOption { - type = lib.types.attrsOf (lib.types.submodule ({...}: { - options = { - port = lib.mkOption { - type = lib.types.port; - }; - interface = lib.mkOption { - type = lib.types.str; - default = "127.0.0.1"; - }; - isSpa = lib.mkEnableOption "is spa"; - directory = lib.mkOption { - type = lib.types.either lib.types.package lib.types.path; - }; - defaultIndex = lib.mkOption { - type = lib.types.str; - default = "index.html"; - }; - }; - })); - default = {}; - }; - }; - }; - config = lib.mkIf (cfg.enable && (cfg.apps != {})) { - systemd.services = - lib.concatMapAttrs (name: value: { - "miniserve-${name}" = { - description = '' - miniserve for ${name} - ''; - after = ["network-online.target"]; - wants = ["network-online.target"]; - wantedBy = ["multi-user.target"]; - serviceConfig = { - ExecStart = '' - ${lib.getExe cfg.package} ${lib.optionalString value.isSpa "--spa"} --index ${value.directory}/${value.defaultIndex} --port ${toString value.port} --interfaces ${value.interface} ${value.directory} - ''; - IPAccounting = "yes"; - IPAddressAllow = value.interface; - IPAddressDeny = "any"; - DynamicUser = "yes"; - PrivateTmp = "yes"; - PrivateUsers = "yes"; - PrivateDevices = "yes"; - NoNewPrivileges = true; - ProtectSystem = "strict"; - ProtectHome = "yes"; - ProtectClock = "yes"; - ProtectControlGroups = "yes"; - ProtectKernelLogs = "yes"; - ProtectKernelModules = "yes"; - ProtectKernelTunables = "yes"; - ProtectProc = "invisible"; - CapabilityBoundingSet = [ - "CAP_NET_BIND_SERVICE" - "CAP_DAC_READ_SEARCH" - ]; - }; - }; - }) - cfg.apps; - }; -} diff --git a/treefmt.nix b/treefmt.nix index a39997f..3e00dd3 100644 --- a/treefmt.nix +++ b/treefmt.nix @@ -1,44 +1,46 @@ { perSystem = {lib, ...}: { - treefmt.programs = { - alejandra = { - enable = true; - excludes = ["_sources/*.nix"]; - }; - oxfmt = let - oxfmtConfig = with lib; - pipe ./.oxfmtrc.json [builtins.readFile builtins.fromJSON]; - in { - enable = true; - includes = ["*.json" "*.md" "*.toml" "*.yaml"]; - excludes = oxfmtConfig.ignorePatterns; - }; - just = { - enable = true; - includes = [".justfile"]; - }; - typos = let - config = with lib; - pipe ./.typos.toml [builtins.readFile fromTOML]; - in { - enable = true; - includes = ["*"]; - excludes = ["assets/*"] ++ config.files.extend-exclude; - configFile = toString ./.typos.toml; - # Disable all extra option in treefmt module. - # Use config file. - sort = false; - isolated = false; - hidden = false; - noIgnore = false; - noIgnoreDot = false; - noIgnoreGlobal = false; - noIgnoreParent = false; - noIgnoreVCS = false; - binary = false; - noCheckFilenames = false; - noCheckFiles = false; - noUnicode = false; + treefmt = { + programs = { + alejandra = { + enable = true; + excludes = ["_sources/*.nix"]; + }; + oxfmt = let + oxfmtConfig = with lib; + pipe ./.oxfmtrc.json [builtins.readFile builtins.fromJSON]; + in { + enable = true; + includes = ["*.json" "*.md" "*.toml" "*.yaml"]; + excludes = oxfmtConfig.ignorePatterns; + }; + just = { + enable = true; + includes = [".justfile"]; + }; + typos = let + config = with lib; + pipe ./.typos.toml [builtins.readFile fromTOML]; + in { + enable = true; + includes = ["*"]; + excludes = ["assets/*"] ++ config.files.extend-exclude; + configFile = toString ./.typos.toml; + # Disable all extra option in treefmt module. + # Use config file. + sort = false; + isolated = false; + hidden = false; + noIgnore = false; + noIgnoreDot = false; + noIgnoreGlobal = false; + noIgnoreParent = false; + noIgnoreVCS = false; + binary = false; + noCheckFilenames = false; + noCheckFiles = false; + noUnicode = false; + }; }; }; };