Compare commits

...

13 commits

Author SHA1 Message Date
Jakob Lechner
d139988fa9 Use nightly build of Jameica
as VoP is not available in a stable release yet.
2025-10-28 21:06:14 +01:00
Jakob Lechner
e199dc603b Enable hardware-accelerated transcoding 2025-10-28 04:04:44 +01:00
Jakob Lechner
bd4ee7054e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/481cf557888e05d3128a76f14c76397b7d7cc869?narHash=sha256-G/iC4t/9j/52i/nm%2B0/4ybBmAF4hzR8CNHC75qEhjHo%3D' (2025-10-21)
  → 'github:nixos/nixpkgs/78e34d1667d32d8a0ffc3eba4591ff256e80576e?narHash=sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8%3D' (2025-10-26)
• Updated input 'nixpkgsMaster':
    'github:NixOS/nixpkgs/d05426b82736631cf0a4dc8bceef1e52a4326dd7?narHash=sha256-XS7PTk22esg%2BHHg5OSF6%2BjgR6X/2WbzHj1CC8aS0x9E%3D' (2025-10-23)
  → 'github:NixOS/nixpkgs/8865b77677eb576ce1dbcb90b7a1ae95a774a6cd?narHash=sha256-rIne9pcxSoaLCxcyICguhH3SUzE9lep464L7zRGBbZk%3D' (2025-10-27)
• Updated input 'nur':
    'github:nix-community/NUR/1d182e3ee8a3a55dc50ff907877294652606a152?narHash=sha256-YF83M84JXliUtQjVsOeXMOtZNnhmTRd9YwH8aVUu1Io%3D' (2025-10-23)
  → 'github:nix-community/NUR/378c5c7b0b2471b59b71e42b229ea5e68050235d?narHash=sha256-0UtnyehKLys0HWhctZEjKN7zDe%2BML0HCDdqdfHk221o%3D' (2025-10-27)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c?narHash=sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d%2BdAiC3H%2BCDle4%3D' (2025-10-22)
  → 'github:nixos/nixpkgs/6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce?narHash=sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c%3D' (2025-10-25)
2025-10-27 23:06:02 +01:00
Jakob Lechner
30c2bb63a0 Decrease brightness control steps to 1% 2025-10-27 23:04:54 +01:00
Jakob Lechner
d4a2f6df35 Add freetube 2025-10-24 23:03:29 +02:00
Jakob Lechner
8c72e2ed3a fixup! Rework solarized 2025-10-24 23:00:06 +02:00
Jakob Lechner
be924e6c87 Replace pavucontrol with mixxc 2025-10-24 22:59:35 +02:00
Jakob Lechner
c9a956bc63 Rework solarized 2025-10-24 22:59:35 +02:00
Jakob Lechner
0a2a569682 Remove gnused
it is not required
2025-10-24 12:01:58 +02:00
Jakob Lechner
1baad7a328 flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/67ff9807dd148e704baadbd4fd783b54282ca627?narHash=sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU%3D' (2025-09-19)
  → 'github:nix-community/disko/3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5?narHash=sha256-y7UhnWlER8r776JsySqsbTUh2Txf7K30smfHlqdaIQw%3D' (2025-10-17)
• Updated input 'nix-pre-commit-hooks':
    'github:cachix/git-hooks.nix/cfc9f7bb163ad8542029d303e599c0f7eee09835?narHash=sha256-PTod9NG%2Bi3XbbnBKMl/e5uHDBYpwIWivQ3gOWSEuIEM%3D' (2025-10-03)
  → 'github:cachix/git-hooks.nix/ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37?narHash=sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc%3D' (2025-10-17)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/d232c6f9ccad3af6d1b66f7feccece66f9aec61a?narHash=sha256-KwyyrQAdX1wD9HVhxotGxbSNdrVm4RGxAkbMKP6uSvE%3D' (2025-10-09)
  → 'github:nixos/nixos-hardware/d6645c340ef7d821602fd2cd199e8d1eed10afbc?narHash=sha256-2m1S4jl%2BGEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU%3D' (2025-10-20)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/20c4598c84a671783f741e02bf05cbfaf4907cff?narHash=sha256-a0%2Bh02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0%3D' (2025-10-06)
  → 'github:nixos/nixpkgs/481cf557888e05d3128a76f14c76397b7d7cc869?narHash=sha256-G/iC4t/9j/52i/nm%2B0/4ybBmAF4hzR8CNHC75qEhjHo%3D' (2025-10-21)
• Updated input 'nixpkgsMaster':
    'github:NixOS/nixpkgs/5b3275f79e9e0d8c29a7e2819ab6eddbe5cca66b?narHash=sha256-S%2BeueXZ1NyYh1JbM1OsPXl8lSkhldEj2EBuoJtjq%2BU8%3D' (2025-10-10)
  → 'github:NixOS/nixpkgs/d05426b82736631cf0a4dc8bceef1e52a4326dd7?narHash=sha256-XS7PTk22esg%2BHHg5OSF6%2BjgR6X/2WbzHj1CC8aS0x9E%3D' (2025-10-23)
• Updated input 'nur':
    'github:nix-community/NUR/c84cfd2c38e5802149b7dd619f2d0eba522d0bc3?narHash=sha256-9IcKohgoH2WXYBcccqjTO0BnKMsHlDiEphyg7IQPaWg%3D' (2025-10-10)
  → 'github:nix-community/NUR/1d182e3ee8a3a55dc50ff907877294652606a152?narHash=sha256-YF83M84JXliUtQjVsOeXMOtZNnhmTRd9YwH8aVUu1Io%3D' (2025-10-23)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/c9b6fb798541223bbb396d287d16f43520250518?narHash=sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH%2B47XEBo%3D' (2025-10-07)
  → 'github:nixos/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c?narHash=sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d%2BdAiC3H%2BCDle4%3D' (2025-10-22)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/6e5a38e08a2c31ae687504196a230ae00ea95133?narHash=sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk%3D' (2025-10-05)
  → 'github:Mic92/sops-nix/5a7d18b5c55642df5c432aadb757140edfeb70b3?narHash=sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY%3D' (2025-10-20)
• Updated input 'vesc-tool':
    'github:vedderb/vesc_tool/cc9e1b48aa80628c06f5008727c3b6d6ea8fa93e?narHash=sha256-tdljAU7bb3/P4mEa6ezS7htB1U8O4%2BTAMU4KB2JEWUY%3D' (2025-10-08)
  → 'github:vedderb/vesc_tool/8a6de0dda75e62681e7252a1512f34a5f4e70640?narHash=sha256-%2Bvk8SRGknwg5Q8y/R4oHkiLxe2SDQDYGj8jK7Xaeu6c%3D' (2025-10-17)
2025-10-23 10:00:02 +02:00
Jakob Lechner
c23cd959e3 Add pipewire to iron 2025-10-14 23:18:44 +02:00
Jakob Lechner
81724a93e9 Add BROFLIX logo 2025-10-12 12:52:49 +02:00
Jakob Lechner
fc8ab454b7 flake.lock: Update
Flake lock file updates:

• Updated input 'gomod2nix':
    'github:nix-community/gomod2nix/47d628dc3b506bd28632e47280c6b89d3496909d?narHash=sha256-JeuGh9kA1SPL70fnvpLxkIkCWpTjtoPaus3jzvdna0k%3D' (2025-08-24)
  → 'github:nix-community/gomod2nix/7f8d7438f5870eb167abaf2c39eea3d2302019d1?narHash=sha256-pDyrtUQyeP1lVTMIYqJtftzDtsXEZaJjYy9ZQ/SGhL8%3D' (2025-10-09)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/3441b5242af7577230a78ffb03542add264179ab?narHash=sha256-spZegilADH0q5OngM86u6NmXxduCNv5eX9vCiUPhOYc%3D' (2025-10-04)
  → 'github:nixos/nixos-hardware/d232c6f9ccad3af6d1b66f7feccece66f9aec61a?narHash=sha256-KwyyrQAdX1wD9HVhxotGxbSNdrVm4RGxAkbMKP6uSvE%3D' (2025-10-09)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/3bcc93c5f7a4b30335d31f21e2f1281cba68c318?narHash=sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI%3D' (2025-10-04)
  → 'github:nixos/nixpkgs/20c4598c84a671783f741e02bf05cbfaf4907cff?narHash=sha256-a0%2Bh02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0%3D' (2025-10-06)
• Updated input 'nixpkgsMaster':
    'github:NixOS/nixpkgs/f0a05ce889294b1c1e02377b086b9931554f5bf3?narHash=sha256-Fvh/nZ7x/msSPPPJXfEoCqgW9NIUQLSCJCCLr8bVMos%3D' (2025-10-05)
  → 'github:NixOS/nixpkgs/5b3275f79e9e0d8c29a7e2819ab6eddbe5cca66b?narHash=sha256-S%2BeueXZ1NyYh1JbM1OsPXl8lSkhldEj2EBuoJtjq%2BU8%3D' (2025-10-10)
• Updated input 'nur':
    'github:nix-community/NUR/dce08ba6904fcaad93c17ab65cf6b3e5dfc2d301?narHash=sha256-GkGJdNkR9gnVQt9OXwhGrD72EpK185jNVT7qoCh/3q4%3D' (2025-10-05)
  → 'github:nix-community/NUR/c84cfd2c38e5802149b7dd619f2d0eba522d0bc3?narHash=sha256-9IcKohgoH2WXYBcccqjTO0BnKMsHlDiEphyg7IQPaWg%3D' (2025-10-10)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/7df7ff7d8e00218376575f0acdcc5d66741351ee?narHash=sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs%3D' (2025-10-02)
  → 'github:nixos/nixpkgs/c9b6fb798541223bbb396d287d16f43520250518?narHash=sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH%2B47XEBo%3D' (2025-10-07)
• Updated input 'vesc-tool':
    'github:vedderb/vesc_tool/1f32af09ac21bd2bbb2e3a8b4148d1892636f8d9?narHash=sha256-v7P%2B2TVd0ZU6LFlBM0hg75bSRvnneefJZJ%2BAmzCf4Uk%3D' (2025-10-05)
  → 'github:vedderb/vesc_tool/cc9e1b48aa80628c06f5008727c3b6d6ea8fa93e?narHash=sha256-tdljAU7bb3/P4mEa6ezS7htB1U8O4%2BTAMU4KB2JEWUY%3D' (2025-10-08)
2025-10-10 11:02:09 +02:00
20 changed files with 668 additions and 261 deletions

60
flake.lock generated
View file

@ -65,11 +65,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758287904, "lastModified": 1760701190,
"narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=", "narHash": "sha256-y7UhnWlER8r776JsySqsbTUh2Txf7K30smfHlqdaIQw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "67ff9807dd148e704baadbd4fd783b54282ca627", "rev": "3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -243,11 +243,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1756047880, "lastModified": 1759991118,
"narHash": "sha256-JeuGh9kA1SPL70fnvpLxkIkCWpTjtoPaus3jzvdna0k=", "narHash": "sha256-pDyrtUQyeP1lVTMIYqJtftzDtsXEZaJjYy9ZQ/SGhL8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "gomod2nix", "repo": "gomod2nix",
"rev": "47d628dc3b506bd28632e47280c6b89d3496909d", "rev": "7f8d7438f5870eb167abaf2c39eea3d2302019d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -386,11 +386,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759523803, "lastModified": 1760663237,
"narHash": "sha256-PTod9NG+i3XbbnBKMl/e5uHDBYpwIWivQ3gOWSEuIEM=", "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "cfc9f7bb163ad8542029d303e599c0f7eee09835", "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -402,11 +402,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1759582739, "lastModified": 1760958188,
"narHash": "sha256-spZegilADH0q5OngM86u6NmXxduCNv5eX9vCiUPhOYc=", "narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "3441b5242af7577230a78ffb03542add264179ab", "rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -418,11 +418,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1759580034, "lastModified": 1761468971,
"narHash": "sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI=", "narHash": "sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3bcc93c5f7a4b30335d31f21e2f1281cba68c318", "rev": "78e34d1667d32d8a0ffc3eba4591ff256e80576e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -450,11 +450,11 @@
}, },
"nixpkgsMaster": { "nixpkgsMaster": {
"locked": { "locked": {
"lastModified": 1759699079, "lastModified": 1761601585,
"narHash": "sha256-Fvh/nZ7x/msSPPPJXfEoCqgW9NIUQLSCJCCLr8bVMos=", "narHash": "sha256-rIne9pcxSoaLCxcyICguhH3SUzE9lep464L7zRGBbZk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f0a05ce889294b1c1e02377b086b9931554f5bf3", "rev": "8865b77677eb576ce1dbcb90b7a1ae95a774a6cd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -482,11 +482,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1759381078, "lastModified": 1761373498,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -518,11 +518,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1759696599, "lastModified": 1761601325,
"narHash": "sha256-GkGJdNkR9gnVQt9OXwhGrD72EpK185jNVT7qoCh/3q4=", "narHash": "sha256-0UtnyehKLys0HWhctZEjKN7zDe+ML0HCDdqdfHk221o=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "dce08ba6904fcaad93c17ab65cf6b3e5dfc2d301", "rev": "378c5c7b0b2471b59b71e42b229ea5e68050235d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -634,11 +634,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759635238, "lastModified": 1760998189,
"narHash": "sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk=", "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "6e5a38e08a2c31ae687504196a230ae00ea95133", "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -729,11 +729,11 @@
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1759670864, "lastModified": 1760697314,
"narHash": "sha256-v7P+2TVd0ZU6LFlBM0hg75bSRvnneefJZJ+AmzCf4Uk=", "narHash": "sha256-+vk8SRGknwg5Q8y/R4oHkiLxe2SDQDYGj8jK7Xaeu6c=",
"owner": "vedderb", "owner": "vedderb",
"repo": "vesc_tool", "repo": "vesc_tool",
"rev": "1f32af09ac21bd2bbb2e3a8b4148d1892636f8d9", "rev": "8a6de0dda75e62681e7252a1512f34a5f4e70640",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -218,7 +218,15 @@ with lib; {
}; };
}; };
hardware.enableRedistributableFirmware = true; hardware = {
enableRedistributableFirmware = true;
graphics = {
enable = true;
extraPackages = [
pkgs.intel-vaapi-driver
];
};
};
virtualisation.containers.storage.settings = { virtualisation.containers.storage.settings = {
storage = { storage = {

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.2 KiB

View file

@ -1,6 +1,20 @@
{ config, lib, ... }: { config, lib, pkgs, ... }:
let let
inherit (config.networking) ports; inherit (config.networking) ports;
logoPng = pkgs.stdenvNoCC.mkDerivation {
name = "broflix.png";
src = ./broflix.svg;
dontBuild = true;
dontUnpack = true;
installPhase = ''
export PATH="$PATH:${pkgs.lib.makeBinPath [pkgs.imagemagick]}"
convert \
-background transparent \
$src \
-resize 1302x \
$out
'';
};
in in
{ {
imports = [ imports = [
@ -10,10 +24,12 @@ in
services.jellyfin = { services.jellyfin = {
enable = true; enable = true;
}; };
systemd.services.jellyfin = { systemd.services.jellyfin = {
serviceConfig = { serviceConfig = {
###MemoryDenyWriteExecute = true; ###MemoryDenyWriteExecute = true;
BindPaths = [ BindPaths = [
"/dev/dri/renderD128"
"/var/cache/jellyfin" "/var/cache/jellyfin"
"/var/lib/jellyfin" "/var/lib/jellyfin"
]; ];
@ -24,13 +40,15 @@ in
"/filebitch/pub/Filme" "/filebitch/pub/Filme"
"/filebitch/pub/Serien" "/filebitch/pub/Serien"
"/nix/store" "/nix/store"
"/run/opengl-driver"
"/var/lib/qBittorrent/downloads" "/var/lib/qBittorrent/downloads"
]; ];
CapabilityBoundingSet = ""; CapabilityBoundingSet = "";
DeviceAllow = "/dev/dri/renderD128 rw";
#IPAddressAllow = "localhost"; #IPAddressAllow = "localhost";
#IPAddressDeny = "any"; #IPAddressDeny = "any";
LockPersonality = true; LockPersonality = true;
PrivateDevices = lib.mkForce true; PrivateDevices = false;
PrivateUsers = true; PrivateUsers = true;
ProtectClock = true; ProtectClock = true;
ProtectControlGroups = true; ProtectControlGroups = true;
@ -76,6 +94,15 @@ in
proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Forwarded-Host $http_host;
proxy_buffering off; proxy_buffering off;
} }
location = /web/broflix.svg {
alias ${./broflix.svg};
}
location = /web/assets/img/banner-light.png {
alias ${logoPng};
}
location = /web/assets/img/banner-dark.png {
alias ${logoPng};
}
location = /web/ { location = /web/ {
proxy_pass http://127.0.0.1:${toString ports.jellyfin.tcp}/web/index.html; proxy_pass http://127.0.0.1:${toString ports.jellyfin.tcp}/web/index.html;
proxy_set_header Host $host; proxy_set_header Host $host;

View file

@ -1,6 +0,0 @@
{
boot.kernelModules = [ "snd-aloop" ];
boot.extraModprobeConfig = ''
options snd-aloop id=ledfx,bluetooth enable=1,1 pcm_substreams=2,2
'';
}

View file

@ -1,7 +1,11 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
bluez-alsa #bluez-alsa
bluez
bluez-tools
pipewire
wireplumber
]; ];
hardware.bluetooth = { hardware.bluetooth = {
@ -18,11 +22,17 @@
FastConnectable = "true"; FastConnectable = "true";
# Allow repairing of existing devices # Allow repairing of existing devices
JustWorksRepairing = "always"; JustWorksRepairing = "always";
# to show battery state
Experimental = true;
}; };
}; };
}; };
services.blueman.enable = true; services = {
blueman.enable = true;
ofono.enable = true;
upower.enable = true;
};
systemd.services = { systemd.services = {
bluetooth-auto-pair = { bluetooth-auto-pair = {
@ -45,7 +55,8 @@
Restart = "on-failure"; Restart = "on-failure";
}; };
}; };
bluealsa-aplay = { /*
bluealsa-aplay = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
DynamicUser = true; DynamicUser = true;
@ -54,14 +65,15 @@
Restart = "on-failure"; Restart = "on-failure";
SupplementaryGroups = [ "audio" ]; SupplementaryGroups = [ "audio" ];
}; };
}; };
bluealsa-a2dp = { bluealsa-a2dp = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
ExecStart = "${pkgs.bluez-alsa}/bin/bluealsa -p a2dp-sink"; ExecStart = "${pkgs.bluez-alsa}/bin/bluealsa -p a2dp-sink";
Restart = "on-failure"; Restart = "on-failure";
}; };
}; };
*/
}; };
} }

View file

@ -1,10 +1,23 @@
{ pkgs, ... }:
{ {
imports = [ imports = [
./alsa.nix
./bluetooth-sink.nix ./bluetooth-sink.nix
./ledfx.nix ./ledfx.nix
./mopidy.nix ./mopidy.nix
./snapclient.nix ./snapclient.nix
./snapserver.nix ./snapserver.nix
]; ];
services.pipewire = {
enable = true;
systemWide = true;
audio.enable = true;
pulse.enable = true;
alsa.enable = true;
};
environment.systemPackages = [ pkgs.pulseaudio ];
users.users.jalr.extraGroups = [ "pipewire" ];
} }

View file

@ -7,6 +7,29 @@ in
8888 8888
]; ];
services.pipewire.extraConfig.pipewire."10-ledfx-loop" = {
"context.modules" = [
{
name = "libpipewire-module-loopback";
args = {
"audio.position" = [ "FL,FR" ];
"capture.props" = {
"media.class" = "Audio/Sink";
"node.name" = "ledfx.input";
"node.description" = "ledfx capture";
};
"playback.props" = {
"media.class" = "Audio/Source";
"node.name" = "ledfx.output";
"node.passive" = true;
};
};
}
];
};
systemd.services.snapclient-ledfx = { systemd.services.snapclient-ledfx = {
enable = true; enable = true;
description = "Snapcast client"; description = "Snapcast client";
@ -15,8 +38,8 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
DynamicUser = "yes"; DynamicUser = "yes";
ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 --hostID ledfx -i 2 --player alsa -s ledfx"; ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 --hostID ledfx -i 2 --player pulse -s ledfx.input";
Group = "audio"; Group = "pipewire";
NoNewPrivileges = true; NoNewPrivileges = true;
ProtectControlGroups = true; ProtectControlGroups = true;
ProtectHome = true; ProtectHome = true;
@ -37,7 +60,7 @@ in
serviceConfig = { serviceConfig = {
DynamicUser = "yes"; DynamicUser = "yes";
ExecStart = "${pkgs.ledfx}/bin/ledfx --host 0.0.0.0 -p 8888 -c %S/ledfx"; ExecStart = "${pkgs.ledfx}/bin/ledfx --host 0.0.0.0 -p 8888 -c %S/ledfx";
Group = "audio"; Group = "pipewire";
NoNewPrivileges = true; NoNewPrivileges = true;
ProtectControlGroups = true; ProtectControlGroups = true;
ProtectHome = true; ProtectHome = true;

View file

@ -7,10 +7,11 @@
wants = [ "network.target" "sound.target" ]; wants = [ "network.target" "sound.target" ];
after = [ "network.target" "sound.target" ]; after = [ "network.target" "sound.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
environment.PULSE_SERVER = "unix:/run/pulse/native";
serviceConfig = { serviceConfig = {
DynamicUser = "yes"; DynamicUser = "yes";
ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 -s DAC"; ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 --player pulse -s alsa_output.usb-Burr-Brown_from_TI_USB_Audio_DAC-00.analog-stereo";
Group = "audio"; Group = "pipewire";
NoNewPrivileges = true; NoNewPrivileges = true;
ProtectControlGroups = true; ProtectControlGroups = true;
ProtectHome = true; ProtectHome = true;

View file

@ -2,7 +2,6 @@
, stdenv , stdenv
, yad , yad
, uair , uair
, gnused
, writeShellScript , writeShellScript
, makeDesktopItem , makeDesktopItem
, imagemagick , imagemagick
@ -10,7 +9,7 @@
let let
pomodoroTimer = writeShellScript "pomodoro-timer" '' pomodoroTimer = writeShellScript "pomodoro-timer" ''
export PATH=${lib.makeBinPath [yad uair gnused]} export PATH=${lib.makeBinPath [yad uair]}
uairctl listen -o yad \ uairctl listen -o yad \
| yad \ | yad \
--title="Pomodoro" \ --title="Pomodoro" \

View file

@ -14,6 +14,7 @@
./firefox ./firefox
./fish.nix ./fish.nix
./fpv.nix ./fpv.nix
./freetube.nix
./git.nix ./git.nix
./gnuradio.nix ./gnuradio.nix
./graphics ./graphics
@ -21,6 +22,7 @@
./jameica.nix ./jameica.nix
./kicad.nix ./kicad.nix
./lsd ./lsd
./mixxc
./mpv.nix ./mpv.nix
./mute-indicator.nix ./mute-indicator.nix
./mycli ./mycli

View file

@ -0,0 +1,7 @@
{ nixosConfig, ... }:
{
programs.freetube = {
inherit (nixosConfig.jalr.gui) enable;
};
}

View file

@ -1,6 +1,16 @@
{ nixosConfig, lib, pkgs, ... }: { nixosConfig, lib, pkgs, ... }:
lib.mkIf nixosConfig.jalr.gui.enable { lib.mkIf nixosConfig.jalr.gui.enable {
home.packages = with pkgs; [ home.packages = [
jameica (
pkgs.jameica.overrideAttrs (_: {
version = "2.11.0-nightly";
src = pkgs.fetchFromGitHub {
owner = "willuhn";
repo = "jameica";
rev = "e51bffc0e42907cbd802a644ab52810e0a36fff8";
hash = "sha256-0KcT52dh/tJSX6q+uKkRybz33jKnYRTNDo1BftwJLAc=";
};
})
)
]; ];
} }

View file

@ -0,0 +1,10 @@
{ nixosConfig, lib, pkgs, ... }:
lib.mkIf nixosConfig.jalr.gui.enable {
home.packages = with pkgs; [
mixxc
];
xdg.configFile = {
"mixxc/style.css".source = ./style.css;
};
}

View file

@ -0,0 +1,224 @@
.side {
$hide: false;
.output {
transition: background 750ms;
padding: 5px;
&.master {
transition: background 0ms;
}
&.master:hover {
}
.icon {
-gtk-icon-style: symbolic;
-gtk-icon-size: 16px;
}
}
@if $hide {
min-height: 0;
min-width: 0;
.output {
padding: 0;
.icon {
-gtk-icon-style: symbolic;
-gtk-icon-size: 0;
}
}
}
}
.main {
margin: 20px;
}
.client {
$hide-name: false;
$hide-description: false;
font-family: 'Iosevka Nerd Font';
font-size: 1.2em;
.icon {
-gtk-icon-style: symbolic;
}
@if $hide-name {
.name {
font-size: 0;
}
}
@if $hide-description {
.description {
font-size: 0;
}
}
scale {
trough {
/* Slider Bar */
border-radius: 10px;
slider {
/* Slider Knob */
padding: 0;
border: none;
border-radius: 2px;
transition-duration: 400ms;
}
highlight {
/* Slider Bar Filled */
border: none;
border-radius: 10px;
margin: 2px;
transition: background-image 300ms;
}
fill {
/* Slider Peak */
background: none;
border-radius: 10px;
margin: 0px;
}
}
}
scale:active {
trough slider {
/* Slider Knob */
transform: scale(1.1);
}
}
}
.client.horizontal {
&.new {
animation: client-add-horizontal 300ms ease;
}
&.removed {
animation: client-remove-horizontal 300ms ease;
}
.icon {
padding-right: 13px;
-gtk-icon-size: 16px;
}
.volume {
/* Numeric Volume Level */
padding-left: 22px;
padding-bottom: 3px;
}
scale {
trough {
/* Slider Bar */
min-height: 6px;
slider {
/* Slider Knob */
min-height: 21px;
min-width: 9px;
margin-top: -7px;
margin-bottom: -7px;
}
}
}
}
@keyframes client-add-horizontal {
from {
transform: translateX(-200px);
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes client-remove-horizontal {
from {
opacity: 1;
}
to {
transform: translateX(-200px);
opacity: 0;
}
}
.client.vertical {
&.new {
animation: client-add-vertical 300ms ease;
}
&.removed {
animation: client-remove-vertical 300ms ease;
}
.icon {
padding-bottom: 5px;
-gtk-icon-size: 20px;
}
.volume {
/* Numeric Volume Level */
padding-top: 10px;
}
scale {
trough {
/* Slider Bar */
min-width: 4px;
margin-top: 10px;
slider {
/* Slider Knob */
margin-left: -7px;
margin-right: -7px;
min-height: 6px;
min-width: 14px;
}
}
}
}
@keyframes client-add-vertical {
from {
transform: translateY(200px);
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes client-remove-vertical {
from {
opacity: 1;
}
to {
transform: translateY(200px);
opacity: 0;
}
}

View file

@ -105,39 +105,43 @@ let
}; };
}; };
colors = { colors =
common = { let
"output.header" = "bold ${solarized.green.hex}"; c = solarized.colors;
"sql.datatype" = "nobold ${solarized.yellow.hex}"; in
"sql.function" = "bold ${solarized.violet.hex}"; {
"sql.keyword" = solarized.green.hex; common = {
"sql.literal" = solarized.green.hex; "output.header" = "bold ${c.green}";
"sql.number" = solarized.cyan.hex; "sql.datatype" = "nobold ${c.yellow}";
"sql.string" = solarized.cyan.hex; "sql.function" = "bold ${c.violet}";
"sql.variable" = solarized.red.hex; "sql.keyword" = c.green;
"sql.quoted-schema-object" = solarized.blue.hex; "sql.literal" = c.green;
"sql.number" = c.cyan;
"sql.string" = c.cyan;
"sql.variable" = c.red;
"sql.quoted-schema-object" = c.blue;
};
light = {
"prompt" = "bg:${c.blue} ${c.base02}";
"selected" = "bg:${c.base2} ${c.base00}";
"output.odd-row" = "${c.base01}";
"output.even-row" = "${c.base01} bg:${c.base2}";
"sql.comment" = "italic ${c.base1}";
"sql.operator" = "bold ${c.base02}";
"sql.punctuation" = "bold ${c.base01}";
"sql.symbol" = "${c.base01}";
};
dark = {
"prompt" = "bg:${c.blue} ${c.base2}";
"selected" = "bg:${c.base02} ${c.base0}";
"output.odd-row" = "${c.base1}";
"output.even-row" = "${c.base1} bg:${c.base02}";
"sql.comment" = "italic ${c.base01}";
"sql.operator" = "bold ${c.base2}";
"sql.punctuation" = "bold ${c.base1}";
"sql.symbol" = "${c.base1}";
};
}; };
light = {
"prompt" = "bg:${solarized.blue.hex} ${solarized.base02.hex}";
"selected" = "bg:${solarized.base2.hex} ${solarized.base00.hex}";
"output.odd-row" = "${solarized.base01.hex}";
"output.even-row" = "${solarized.base01.hex} bg:${solarized.base2.hex}";
"sql.comment" = "italic ${solarized.base1.hex}";
"sql.operator" = "bold ${solarized.base02.hex}";
"sql.punctuation" = "bold ${solarized.base01.hex}";
"sql.symbol" = "${solarized.base01.hex}";
};
dark = {
"prompt" = "bg:${solarized.blue.hex} ${solarized.base2.hex}";
"selected" = "bg:${solarized.base02.hex} ${solarized.base0.hex}";
"output.odd-row" = "${solarized.base1.hex}";
"output.even-row" = "${solarized.base1.hex} bg:${solarized.base02.hex}";
"sql.comment" = "italic ${solarized.base01.hex}";
"sql.operator" = "bold ${solarized.base2.hex}";
"sql.punctuation" = "bold ${solarized.base1.hex}";
"sql.symbol" = "${solarized.base1.hex}";
};
};
in in
{ {
home.packages = [ home.packages = [

View file

@ -1,23 +1,68 @@
builtins.mapAttrs let
(_: hex: { colors = {
inherit hex; base00 = "#657b83";
rgb = builtins.concatStringsSep "," (map (f: toString (builtins.fromTOML "i = 0x${f hex}").i) (map (pos: builtins.substring pos 2) [ 1 3 5 ])); base01 = "#586e75";
}) base02 = "#073642";
base03 = "#002b36";
base0 = "#839496";
base1 = "#93a1a1";
base2 = "#eee8d5";
base3 = "#fdf6e3";
blue = "#268bd2";
cyan = "#2aa198";
green = "#859900";
magenta = "#d33682";
orange = "#cb4b16";
red = "#dc322f";
violet = "#6c71c4";
yellow = "#b58900";
};
common = {
base08 = colors.red;
base09 = colors.orange;
base0A = colors.yellow;
base0B = colors.green;
base0C = colors.cyan;
base0D = colors.blue;
base0E = colors.violet;
base0F = colors.magenta;
};
light = common // {
base00 = colors.base3;
base01 = colors.base2;
base02 = colors.base1;
base03 = colors.base0;
base04 = colors.base00;
base05 = colors.base01;
base06 = colors.base02;
base07 = colors.base03;
};
dark = common // {
base00 = colors.base03;
base01 = colors.base02;
base02 = colors.base01;
base03 = colors.base00;
base04 = colors.base0;
base05 = colors.base1;
base06 = colors.base2;
base07 = colors.base3;
};
toRgb = hex: builtins.concatStringsSep "," (
map
(
f: toString (builtins.fromTOML "i = 0x${f hex}").i
)
(
map (pos: builtins.substring pos 2) [ 1 3 5 ]
)
);
makeScheme = colors: {
hex = colors;
rgb = builtins.mapAttrs (_: hex: (toRgb hex)) colors;
};
in
{ {
base00 = "#657b83"; inherit colors;
base01 = "#586e75"; light = makeScheme light;
base02 = "#073642"; dark = makeScheme dark;
base03 = "#002b36";
base0 = "#839496";
base1 = "#93a1a1";
base2 = "#eee8d5";
base3 = "#fdf6e3";
blue = "#268bd2";
cyan = "#2aa198";
green = "#859900";
magenta = "#d33682";
orange = "#cb4b16";
red = "#dc322f";
violet = "#6c71c4";
yellow = "#b58900";
} }

View file

@ -234,6 +234,7 @@ in
"XF86AudioMute" = "exec pactl set-source-mute alsa_input.usb-BEHRINGER_UMC202HD_192k-00.HiFi__umc202hd_mono_in_U192k_0_1__source toggle"; "XF86AudioMute" = "exec pactl set-source-mute alsa_input.usb-BEHRINGER_UMC202HD_192k-00.HiFi__umc202hd_mono_in_U192k_0_1__source toggle";
"${cfg.modifier}+l" = "exec ${lockScreen}"; "${cfg.modifier}+l" = "exec ${lockScreen}";
"${cfg.modifier}+v" = "exec GSK_RENDERER=cairo GTK_USE_PORTAL=0 ${pkgs.mixxc}/bin/mixxc -A";
}; };
bars = [ ]; # managed as systemd user unit bars = [ ]; # managed as systemd user unit
@ -363,40 +364,39 @@ in
}; };
}; };
xdg.configFile = { xdg.configFile =
"sway/light-theme".text = with solarized; '' let
client.focused ${base01.hex} ${blue.hex} ${base3.hex} ${blue.hex} ${blue.hex} makeTheme = scheme: ''
client.focused_inactive ${base2.hex} ${base2.hex} ${base01.hex} ${base0.hex} ${base2.hex} client.focused ${scheme.base05} ${scheme.base0D} ${scheme.base00} ${scheme.base0D} ${scheme.base0D}
client.unfocused ${base2.hex} ${base3.hex} ${base01.hex} ${base2.hex} ${base2.hex} client.focused_inactive ${scheme.base01} ${scheme.base01} ${scheme.base05} ${scheme.base03} ${scheme.base01}
client.urgent ${red.hex} ${red.hex} ${base3.hex} ${red.hex} ${red.hex} client.unfocused ${scheme.base01} ${scheme.base00} ${scheme.base05} ${scheme.base01} ${scheme.base01}
''; client.urgent ${scheme.base08} ${scheme.base08} ${scheme.base00} ${scheme.base08} ${scheme.base08}
"sway/dark-theme".text = with solarized; ''
client.focused ${base1.hex} ${blue.hex} ${base03.hex} ${blue.hex} ${blue.hex}
client.focused_inactive ${base02.hex} ${base02.hex} ${base1.hex} ${base03.hex} ${base02.hex}
client.unfocused ${base02.hex} ${base03.hex} ${base1.hex} ${base02.hex} ${base02.hex}
client.urgent ${red.hex} ${red.hex} ${base03.hex} ${red.hex} ${red.hex}
'';
"swaynag/config".text =
let
# adding it to the header doesnt work since the defaults overwrite it
commonConfig = /* ini */ ''
background=${lib.substring 1 6 solarized.base3.hex}
border-bottom=${lib.substring 1 6 solarized.base2.hex}
border=${lib.substring 1 6 solarized.base2.hex}
button-background=${lib.substring 1 6 solarized.base3.hex}
button-text=${lib.substring 1 6 solarized.base00.hex}
'';
in
/* ini */ ''
font=Monospace 12
[warning]
text=${lib.substring 1 6 solarized.yellow.hex}
${commonConfig}
[error]
text=${lib.substring 1 6 solarized.red.hex}
${commonConfig}
''; '';
}; in
{
"sway/light-theme".text = makeTheme solarized.light.hex;
"sway/dark-theme".text = makeTheme solarized.dark.hex;
"swaynag/config".text =
let
# adding it to the header doesnt work since the defaults overwrite it
commonConfig = /* ini */ ''
background=${lib.substring 1 6 solarized.colors.base3}
border-bottom=${lib.substring 1 6 solarized.colors.base2}
border=${lib.substring 1 6 solarized.colors.base2}
button-background=${lib.substring 1 6 solarized.colors.base3}
button-text=${lib.substring 1 6 solarized.colors.base00}
'';
in
/* ini */ ''
font=Monospace 12
[warning]
text=${lib.substring 1 6 solarized.colors.yellow}
${commonConfig}
[error]
text=${lib.substring 1 6 solarized.colors.red}
${commonConfig}
'';
};
}) })

View file

@ -18,7 +18,11 @@ let
thinsp = " "; thinsp = " ";
solarized = import ../solarized.nix; solarized = import ../solarized.nix;
solarizedColors = as: lib.strings.concatLines (lib.attrsets.mapAttrsToList (name: value: let color = solarized."${value}".hex; in "@define-color ${name} ${color};") as); solarizedColors = lib.attrsets.mapAttrsToList (name: color: "@define-color ${name} ${color};");
themeCss = {
light = lib.strings.concatLines (solarizedColors solarized.light.hex);
dark = lib.strings.concatLines (solarizedColors solarized.dark.hex);
};
in in
{ {
# home-managers waybar module performs additional checks that are overly strict # home-managers waybar module performs additional checks that are overly strict
@ -148,8 +152,8 @@ in
backlight = { backlight = {
format = "{percent}% {icon}"; format = "{percent}% {icon}";
format-icons = [ "󰛩" "󱩎" "󱩏" "󱩐" "󱩑" "󱩒" "󱩓" "󱩔" "󱩕" "󱩖" "󰛨" ]; format-icons = [ "󰛩" "󱩎" "󱩏" "󱩐" "󱩑" "󱩒" "󱩓" "󱩔" "󱩕" "󱩖" "󰛨" ];
on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl -q set +5%"; on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl -q set +1%";
on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl -q set 5%-"; on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl -q set 1%-";
}; };
pulseaudio = { pulseaudio = {
format = "{volume}% {icon} {format_source}"; format = "{volume}% {icon} {format_source}";
@ -167,7 +171,7 @@ in
phone = "󰏲"; phone = "󰏲";
portable = "󰏲"; portable = "󰏲";
}; };
on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol"; on-click-right = "GSK_RENDERER=cairo GTK_USE_PORTAL=0 ${pkgs.mixxc}/bin/mixxc -A -a t -a r";
}; };
network = { network = {
format-wifi = "{essid} ({signalStrength}%) 󰖩 "; format-wifi = "{essid} ({signalStrength}%) 󰖩 ";
@ -253,42 +257,8 @@ in
}; };
xdg.configFile = { xdg.configFile = {
"waybar/theme-light.css".text = solarizedColors { "waybar/theme-light.css".text = themeCss.light;
base00 = "base3"; "waybar/theme-dark.css".text = themeCss.dark;
base01 = "base2";
base02 = "base1";
base03 = "base0";
base04 = "base00";
base05 = "base01";
base06 = "base02";
base07 = "base03";
base08 = "red";
base09 = "orange";
base0A = "yellow";
base0B = "green";
base0C = "cyan";
base0D = "blue";
base0E = "violet";
base0F = "magenta";
};
"waybar/theme-dark.css".text = solarizedColors {
base00 = "base03";
base01 = "base02";
base02 = "base01";
base03 = "base00";
base04 = "base0";
base05 = "base1";
base06 = "base2";
base07 = "base3";
base08 = "red";
base09 = "orange";
base0A = "yellow";
base0B = "green";
base0C = "cyan";
base0D = "blue";
base0E = "violet";
base0F = "magenta";
};
"waybar/style.css".text = '' "waybar/style.css".text = ''
@import "theme.css"; @import "theme.css";

View file

@ -1,91 +1,92 @@
{ lib, ... }: { lib, ... }:
let let
solarized = import ../solarized.nix; inherit (import ../solarized.nix) colors;
in in
{ {
xdg.configFile = { xdg.configFile =
"wofi/color-light".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ let
"base3" commonColors = with colors; [
"base2" red
"base1" orange
"base0" yellow
"base00" green
"base01" cyan
"base02" blue
"base03" violet
"red" magenta
"orange" ];
"yellow" in
"green" {
"cyan" "wofi/color-light".text = with colors; lib.strings.concatLines (
"blue" [
"violet" base3
"magenta" base2
]); base1
"wofi/color-dark".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ base0
"base03" base00
"base02" base01
"base01" base02
"base00" base03
"base0" ] ++ commonColors
"base1" );
"base2" "wofi/color-dark".text = with colors; lib.strings.concatLines (
"base3" with colors; [
"red" base03
"orange" base02
"yellow" base01
"green" base00
"cyan" base0
"blue" base1
"violet" base2
"magenta" base3
]); ] ++ commonColors
"wofi/style.css".text = '' );
window { "wofi/style.css".text = ''
margin: 0px; window {
border: 3px solid --wofi-color1; margin: 0px;
border-radius: 8px; border: 3px solid --wofi-color1;
background-color: rgba(--wofi-rgb-color0,0.8); border-radius: 8px;
} background-color: rgba(--wofi-rgb-color0,0.8);
}
#input { #input {
margin: 5px; margin: 5px;
border: none; border: none;
color: --wofi-color4; color: --wofi-color4;
background-color: rgba(--wofi-rgb-color1,0.8); background-color: rgba(--wofi-rgb-color1,0.8);
} }
#inner-box { #inner-box {
margin: 5px; margin: 5px;
border: none; border: none;
background: none; background: none;
} }
#outer-box { #outer-box {
margin: 5px; margin: 5px;
border: none; border: none;
background: none; background: none;
} }
#scroll { #scroll {
margin: 0px; margin: 0px;
border: none; border: none;
} }
#text { #text {
margin: 5px; margin: 5px;
border: none; border: none;
color: --wofi-color4; color: --wofi-color4;
} }
#entry:selected { #entry:selected {
background-color: rgba(--wofi-rgb-color1,0.8); background-color: rgba(--wofi-rgb-color1,0.8);
} }
#entry:selected #text{ #entry:selected #text{
color: --wofi-color11; color: --wofi-color11;
} }
''; '';
}; };
} }