Compare commits
9 commits
7cf28c791c
...
17ea540427
Author | SHA1 | Date | |
---|---|---|---|
![]() |
17ea540427 | ||
![]() |
4a9592dad8 | ||
![]() |
616c51118f | ||
![]() |
2ede55a7ee | ||
![]() |
468ecc909a | ||
![]() |
748267110c | ||
![]() |
12293c0a31 | ||
![]() |
2f5d7291c0 | ||
![]() |
2cddd7b561 |
|
@ -56,6 +56,7 @@ let
|
||||||
subdomain = stringType;
|
subdomain = stringType;
|
||||||
label = stringType;
|
label = stringType;
|
||||||
name = stringType;
|
name = stringType;
|
||||||
|
hostname = stringType;
|
||||||
domains = genOptions stringType "url";
|
domains = genOptions stringType "url";
|
||||||
dns = genOptions stringType "provider";
|
dns = genOptions stringType "provider";
|
||||||
localhost = genOptions stringType "address";
|
localhost = genOptions stringType "address";
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
{ instancesFunctions }:
|
|
||||||
let
|
|
||||||
inherit (instancesFunctions)
|
|
||||||
dummy
|
|
||||||
;
|
|
||||||
hledgerLabel = "Hledger";
|
|
||||||
hledgerName = "hledger";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
label = hledgerLabel;
|
|
||||||
name = hledgerName;
|
|
||||||
paths = {
|
|
||||||
path0 = "/mnt/media/storage/${hledgerLabel}";
|
|
||||||
};
|
|
||||||
ports = {
|
|
||||||
port0 = 5000;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{instancesFunctions}: let
|
|
||||||
inherit
|
|
||||||
(instancesFunctions)
|
|
||||||
dummy
|
|
||||||
;
|
|
||||||
|
|
||||||
nginxLabel = "Ngnix";
|
|
||||||
nginxName = "nginx";
|
|
||||||
in {
|
|
||||||
name = nginxName;
|
|
||||||
label = nginxLabel;
|
|
||||||
email = dummy;
|
|
||||||
ports = {
|
|
||||||
port0 = 8080; # HTTP
|
|
||||||
port1 = 8443; # HTTPS
|
|
||||||
};
|
|
||||||
}
|
|
27
config/instances/config/postfix.nix
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
{ instancesFunctions }:
|
||||||
|
let
|
||||||
|
inherit (instancesFunctions)
|
||||||
|
domain3
|
||||||
|
servicePath
|
||||||
|
sslPath
|
||||||
|
sopsPath
|
||||||
|
;
|
||||||
|
|
||||||
|
postfixLabel = "Postfix";
|
||||||
|
postfixName = "postfix";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
label = postfixLabel;
|
||||||
|
name = postfixName;
|
||||||
|
sops = {
|
||||||
|
path0 = "${sopsPath}/${postfixName}";
|
||||||
|
};
|
||||||
|
subdomain = postfixName;
|
||||||
|
paths = {
|
||||||
|
path0 = "${servicePath}/${postfixLabel}";
|
||||||
|
};
|
||||||
|
ssl = {
|
||||||
|
cert = "${sslPath}/${domain3}/fullchain.pem";
|
||||||
|
key = "${sslPath}/${domain3}/key.pem";
|
||||||
|
};
|
||||||
|
}
|
13
config/instances/config/smtp.nix
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
{ instancesFunctions }:
|
||||||
|
let
|
||||||
|
inherit (instancesFunctions)
|
||||||
|
dummy
|
||||||
|
;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
hostname = "mail.smtp2go.com";
|
||||||
|
name = dummy;
|
||||||
|
ports = {
|
||||||
|
port0 = 2525;
|
||||||
|
};
|
||||||
|
}
|
|
@ -12,20 +12,26 @@ let
|
||||||
sopsPath = "/var/lib/secrets";
|
sopsPath = "/var/lib/secrets";
|
||||||
sslPath = "/var/lib/acme";
|
sslPath = "/var/lib/acme";
|
||||||
varLib = "/var/lib";
|
varLib = "/var/lib";
|
||||||
dummy = [];
|
dummy = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
instances = builtins.listToAttrs (map (name: {
|
instances = builtins.listToAttrs (
|
||||||
name = builtins.substring 0 (builtins.stringLength name - 4) name;
|
map
|
||||||
value = import (configPath + "/${name}") {
|
(name: {
|
||||||
inherit
|
name = builtins.substring 0 (builtins.stringLength name - 4) name;
|
||||||
instancesFunctions
|
value = import (configPath + "/${name}") {
|
||||||
;
|
inherit
|
||||||
};
|
instancesFunctions
|
||||||
})
|
;
|
||||||
(builtins.filter (name:
|
};
|
||||||
builtins.match ".*\\.nix$" name != null) (builtins.attrNames
|
})
|
||||||
(builtins.readDir configPath))));
|
(
|
||||||
in {
|
builtins.filter (name: builtins.match ".*\\.nix$" name != null) (
|
||||||
|
builtins.attrNames (builtins.readDir configPath)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
in
|
||||||
|
{
|
||||||
instances = instances;
|
instances = instances;
|
||||||
}
|
}
|
||||||
|
|
1076
flake.lock
generated
28
flake.nix
|
@ -11,14 +11,15 @@
|
||||||
url = "github:hercules-ci/flake-parts";
|
url = "github:hercules-ci/flake-parts";
|
||||||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
systems.url = "github:nix-systems/x86_64-linux";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
ngipkgs.url = "github:ngi-nix/ngipkgs";
|
||||||
ghostty = {
|
ghostty = {
|
||||||
url = "github:ghostty-org/ghostty";
|
url = "github:ghostty-org/ghostty";
|
||||||
};
|
};
|
||||||
ngipkgs.url = "github:ngi-nix/ngipkgs";
|
|
||||||
nur = {
|
nur = {
|
||||||
url = "github:nix-community/NUR";
|
url = "github:nix-community/NUR";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -27,7 +28,6 @@
|
||||||
url = "github:cachix/pre-commit-hooks.nix";
|
url = "github:cachix/pre-commit-hooks.nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
systems.url = "github:nix-systems/x86_64-linux";
|
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -37,30 +37,6 @@
|
||||||
url = "github:helix-editor/helix";
|
url = "github:helix-editor/helix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
hyprland = {
|
|
||||||
url = "github:hyprwm/Hyprland";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
hyprland-portal = {
|
|
||||||
url = "github:hyprwm/xdg-desktop-portal-hyprland";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
hypridle = {
|
|
||||||
url = "github:hyprwm/hypridle";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
wpaperd = {
|
|
||||||
url = "github:danyspin97/wpaperd";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
waybar = {
|
|
||||||
url = "github:Alexays/Waybar";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
direnv = {
|
|
||||||
url = "github:direnv/direnv";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
|
|
@ -50,7 +50,7 @@ in
|
||||||
messaging
|
messaging
|
||||||
sharing
|
sharing
|
||||||
tools
|
tools
|
||||||
desktop
|
hypr
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,12 +1,6 @@
|
||||||
{
|
|
||||||
flake,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = flake.inputs.direnv.packages.${pkgs.system}.default;
|
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
0
home/modules/cli/utilities/paMixer/default.nix
Normal file → Executable file
|
@ -64,16 +64,16 @@ in
|
||||||
];
|
];
|
||||||
keyword = instances.forgejo.label;
|
keyword = instances.forgejo.label;
|
||||||
}
|
}
|
||||||
{
|
# {
|
||||||
name = instances.hledger.label;
|
# name = instances.hledger.label;
|
||||||
url = "http://localhost.${builtins.toString instances.hledger.ports.port0}";
|
# url = "http://localhost.${builtins.toString instances.hledger.ports.port0}";
|
||||||
tags = [
|
# tags = [
|
||||||
instances.hledger.name
|
# instances.hledger.name
|
||||||
"hledger"
|
# "hledger"
|
||||||
"finances"
|
# "finances"
|
||||||
];
|
# ];
|
||||||
keyword = instances.hledger.label;
|
# keyword = instances.hledger.label;
|
||||||
}
|
# }
|
||||||
{
|
{
|
||||||
name = "${instances.jellyfin.label} (Internet)";
|
name = "${instances.jellyfin.label} (Internet)";
|
||||||
url = "https://${instances.jellyfin.name}.${instances.web.domains.url0}";
|
url = "https://${instances.jellyfin.name}.${instances.web.domains.url0}";
|
||||||
|
|
|
@ -2,9 +2,18 @@
|
||||||
name = "Tools";
|
name = "Tools";
|
||||||
toolbar = false;
|
toolbar = false;
|
||||||
bookmarks = [
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "Mullvad";
|
||||||
|
url = "https://mullvad.net";
|
||||||
|
tags = [
|
||||||
|
"mullvad"
|
||||||
|
"vpn"
|
||||||
|
];
|
||||||
|
keyword = "Mull";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "Cyanophage Layout Analyzer";
|
name = "Cyanophage Layout Analyzer";
|
||||||
url = "https://cyanophage.github.io/";
|
url = "https://cyanophage.github.io";
|
||||||
tags = [
|
tags = [
|
||||||
"cyanophage"
|
"cyanophage"
|
||||||
"keyboard"
|
"keyboard"
|
||||||
|
@ -12,6 +21,15 @@
|
||||||
];
|
];
|
||||||
keyword = "Layout";
|
keyword = "Layout";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Smtp2Go";
|
||||||
|
url = "https://app-us.smtp2go.com/dashboard/main";
|
||||||
|
tags = [
|
||||||
|
"smtp"
|
||||||
|
"email"
|
||||||
|
];
|
||||||
|
keyword = "Smtp";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "Oryx";
|
name = "Oryx";
|
||||||
url = "https://configure.zsa.io/moonlander";
|
url = "https://configure.zsa.io/moonlander";
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.titlebar-buttonbox-container {
|
.titlebar-buttonbox-container {
|
||||||
display: none !important;
|
display: visible !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -91,8 +91,8 @@
|
||||||
#forward-button[disabled="true"] {
|
#forward-button[disabled="true"] {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
.personalize-button {
|
.personalize-button {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-close-button {
|
.tab-close-button {
|
||||||
|
|
|
@ -5,8 +5,7 @@
|
||||||
{
|
{
|
||||||
home.packages = builtins.attrValues {
|
home.packages = builtins.attrValues {
|
||||||
inherit (pkgs)
|
inherit (pkgs)
|
||||||
catppuccin
|
alpaca
|
||||||
catppuccin-gtk
|
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
}
|
}
|
10
home/modules/gui/apps/media/llms/default.nix
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
let
|
||||||
|
content = builtins.readDir ./.;
|
||||||
|
|
||||||
|
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
|
||||||
|
|
||||||
|
importList = map (name: ./. + "/${name}") dirContent;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = importList;
|
||||||
|
}
|
11
home/modules/gui/apps/media/llms/oterm/default.nix
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
oterm
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
flameshotGrim = pkgs.flameshot.overrideAttrs (oldAttrs: {
|
flameshotGrim = pkgs.flameshot.overrideAttrs (oldAttrs: {
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
|
@ -20,10 +21,15 @@ in
|
||||||
package = flameshotGrim;
|
package = flameshotGrim;
|
||||||
settings = {
|
settings = {
|
||||||
General = {
|
General = {
|
||||||
disabledTrayIcon = true;
|
disabledTrayIcon = false;
|
||||||
showStartupLaunchMessage = false;
|
showStartupLaunchMessage = false;
|
||||||
disabledGrimWarning = true;
|
# disabledGrimWarning = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
# flameshot
|
||||||
|
;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
13
home/modules/gui/apps/tools/mullvad/default.nix
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
# mullvad
|
||||||
|
mullvad-closest
|
||||||
|
mullvad-vpn
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
24
home/modules/gui/desktop/gnome/default.nix
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
gnome-connections
|
||||||
|
gnome-tweaks
|
||||||
|
gnome-shell-extensions
|
||||||
|
gnome-remote-desktop
|
||||||
|
ulauncher
|
||||||
|
;
|
||||||
|
inherit (pkgs.gnomeExtensions)
|
||||||
|
tiling-shell
|
||||||
|
keep-awake
|
||||||
|
notification-banner-reloaded
|
||||||
|
no-overview
|
||||||
|
wallpaper-slideshow
|
||||||
|
dash-to-panel
|
||||||
|
just-perfection
|
||||||
|
appindicator
|
||||||
|
tiling-assistant
|
||||||
|
start-overlay-in-application-view
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
10
home/modules/gui/desktop/hypr/default.nix
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
let
|
||||||
|
content = builtins.readDir ./.;
|
||||||
|
|
||||||
|
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
|
||||||
|
|
||||||
|
importList = map (name: ./. + "/${name}") dirContent;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = importList;
|
||||||
|
}
|
|
@ -1,8 +1,3 @@
|
||||||
{
|
|
||||||
flake,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
configPath = ./config;
|
configPath = ./config;
|
||||||
settingsPath = import (configPath + /settings.nix);
|
settingsPath = import (configPath + /settings.nix);
|
||||||
|
@ -10,7 +5,6 @@ in
|
||||||
{
|
{
|
||||||
services.hypridle = {
|
services.hypridle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = flake.inputs.hypridle.packages.${pkgs.system}.hypridle;
|
|
||||||
settings = settingsPath;
|
settings = settingsPath;
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -1,5 +1,4 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
flake,
|
flake,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
|
@ -29,7 +28,6 @@ in
|
||||||
{
|
{
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland;
|
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
systemd.enable = false;
|
systemd.enable = false;
|
||||||
settings = configImports;
|
settings = configImports;
|
|
@ -12,7 +12,6 @@ in
|
||||||
{
|
{
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = flake.inputs.waybar.packages.${pkgs.system}.default;
|
|
||||||
settings = settingsPath;
|
settings = settingsPath;
|
||||||
style = stylePath;
|
style = stylePath;
|
||||||
};
|
};
|
|
@ -1,12 +1,6 @@
|
||||||
{
|
|
||||||
flake,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
programs.wpaperd = {
|
programs.wpaperd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = flake.inputs.wpaperd.packages.${pkgs.system}.default;
|
|
||||||
settings = {
|
settings = {
|
||||||
"default" = {
|
"default" = {
|
||||||
path = "~/Files/Projects/dotfiles/home/modules/gui/desktop/wpaperd/wallpaper";
|
path = "~/Files/Projects/dotfiles/home/modules/gui/desktop/wpaperd/wallpaper";
|
Before Width: | Height: | Size: 578 KiB After Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 808 KiB After Width: | Height: | Size: 808 KiB |
Before Width: | Height: | Size: 578 KiB After Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
Before Width: | Height: | Size: 5.1 MiB After Width: | Height: | Size: 5.1 MiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 3.5 MiB |
Before Width: | Height: | Size: 632 KiB After Width: | Height: | Size: 632 KiB |
Before Width: | Height: | Size: 8.2 MiB After Width: | Height: | Size: 8.2 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
Before Width: | Height: | Size: 833 KiB After Width: | Height: | Size: 833 KiB |
Before Width: | Height: | Size: 467 KiB After Width: | Height: | Size: 467 KiB |
Before Width: | Height: | Size: 2 MiB After Width: | Height: | Size: 2 MiB |
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 257 KiB |
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 261 KiB |
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 501 KiB After Width: | Height: | Size: 501 KiB |
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
Before Width: | Height: | Size: 646 KiB After Width: | Height: | Size: 646 KiB |
Before Width: | Height: | Size: 422 KiB After Width: | Height: | Size: 422 KiB |
Before Width: | Height: | Size: 552 KiB After Width: | Height: | Size: 552 KiB |
Before Width: | Height: | Size: 366 KiB After Width: | Height: | Size: 366 KiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 747 KiB After Width: | Height: | Size: 747 KiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 665 KiB After Width: | Height: | Size: 665 KiB |
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 869 KiB After Width: | Height: | Size: 869 KiB |
Before Width: | Height: | Size: 302 KiB After Width: | Height: | Size: 302 KiB |