Experimental browser for the Atmosphere
{ "uri": "at://did:plc:w3aonw33w3mz3mwws34x5of6/sh.tangled.repo.pull/3lmz7dekcpx22", "cid": "bafyreie7va2rkm4nrneao3ebqiyrvw7be5sv3u5lh5x6lppocfiuppmuwq", "value": { "$type": "sh.tangled.repo.pull", "patch": "diff --git a/.gitattributes b/.gitattributes\nindex 5cae0aaa38f6a5318bae80c2d39138351cbe21ce..94d88aecc29570b4ba0e9b97cbdea06da0286b3d 100644\n--- a/.gitattributes\n+++ b/.gitattributes\n@@ -1,2 +1,2 @@\n-secrets/** filter=git-crypt diff=git-crypt\n-secrets/.* filter=git-crypt diff=git-crypt\n+nixos/secrets/** filter=git-crypt diff=git-crypt\n+nixos/secrets/.* filter=git-crypt diff=git-crypt\ndiff --git a/README.md b/README.md\ndeleted file mode 100644\nindex 7a6ed8bbee98120338047d1b9e896ebe27034d98..0000000000000000000000000000000000000000\n--- a/README.md\n+++ /dev/null\n@@ -1,20 +0,0 @@\n-# Michal's Nix Flake\n-\n-Idk why you'd be reading this, but hi !\n-\n-It's likely that I maybe linked you to take a look at this flake as a reference for a Nix-related concept.\n-\n-It's also possible you just stumbled here by accident! Or that you were browsing my profile.\n-\n-### Feel free to:\n-- Fork this\n-- Copy any ideas, concepts, or formatting\n-- Donate all of your blood to me\n-- Frame me for a crime (As long as it's something cool, like running over your rival in a steamroller)\n-- Leave me an angry email about any topic. I read all of my emails and I think that'd be pretty funny\n-\n-If you have any questions, feel free to either message me on Matrix at @michal:tar.black,\n-Or if you're feeling particularly formal and/or antequated, you can e-mail me at me@mchal.lol\n-I'm also reachable by summoning circle, although you'd have to figure out the incantation for that yourself.\n-\n-Au revoir !\ndiff --git a/common/desktop/gnome.nix b/common/desktop/gnome.nix\ndeleted file mode 100644\nindex 75876d8c4c97ad2af9264bec2d46c551c5b4c9bb..0000000000000000000000000000000000000000\n--- a/common/desktop/gnome.nix\n+++ /dev/null\n@@ -1,36 +0,0 @@\n-{pkgs, ...}: {\n- services.xserver = {\n- enable = true;\n- displayManager.gdm.enable = true;\n- desktopManager.gnome.enable = true;\n- };\n-\n- environment.systemPackages = with pkgs; [\n- gnomeExtensions.blur-my-shell\n- gnomeExtensions.caffeine\n- gnomeExtensions.grand-theft-focus\n- gnomeExtensions.valent\n- gnomeExtensions.pano\n- gnomeExtensions.hot-edge\n- gnomeExtensions.top-bar-organizer\n- gnomeExtensions.weather-oclock\n- gnomeExtensions.forge\n- gnomeExtensions.bluetooth-battery-meter\n-\n- pkgs.gnome-tweaks\n- pkgs.gnome-software\n- ];\n-\n- xdg.portal = {\n- enable = true;\n- extraPortals = with pkgs; [xdg-desktop-portal-gtk];\n- };\n-\n- programs = {\n- kdeconnect = {\n- enable = true;\n- package = pkgs.valent;\n- };\n- gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3;\n- };\n-}\ndiff --git a/common/desktop/gui-apps.nix b/common/desktop/gui-apps.nix\ndeleted file mode 100644\nindex 789531a611efab10c9d6369415e82b11b5c8c92a..0000000000000000000000000000000000000000\n--- a/common/desktop/gui-apps.nix\n+++ /dev/null\n@@ -1,19 +0,0 @@\n-{pkgs, ...}: {\n- nixpkgs.config.allowUnfree = true;\n-\n- environment.systemPackages = with pkgs; [\n- vesktop\n- mullvad-vpn\n- obsidian\n- ];\n-\n- xdg.portal.enable = true;\n-\n- services = {\n- mullvad-vpn = {\n- enable = true;\n- package = pkgs.mullvad-vpn;\n- };\n- flatpak.enable = true;\n- };\n-}\ndiff --git a/common/desktop/hyprland.nix b/common/desktop/hyprland.nix\ndeleted file mode 100644\nindex 9639f10da2d546af6920c703f69b63e56ad02c12..0000000000000000000000000000000000000000\n--- a/common/desktop/hyprland.nix\n+++ /dev/null\n@@ -1,36 +0,0 @@\n-{\n- lib,\n- pkgs,\n- ...\n-}: {\n- programs = {\n- hyprland = {\n- enable = true;\n- withUWSM = true;\n- xwayland.enable = true;\n- };\n- hyprlock.enable = true;\n- uwsm.enable = true;\n- gnupg.agent.pinentryPackage = pkgs.wayprompt;\n- };\n-\n- services.displayManager.autoLogin = {\n- enable = true;\n- user = \"michal\";\n- };\n-\n- xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk];\n-\n- environment.systemPackages = with pkgs; [\n- kitty\n- rofi-wayland\n- kdePackages.dolphin\n- hyprpolkitagent\n- hyprpanel\n- adwaita-icon-theme\n- wvkbd\n- wf-recorder\n- grimblast\n- hyprpaper\n- ];\n-}\ndiff --git a/common/desktop/media.nix b/common/desktop/media.nix\ndeleted file mode 100644\nindex 74d397345a8c3d0600256e0d3bd6057c15ce88e9..0000000000000000000000000000000000000000\n--- a/common/desktop/media.nix\n+++ /dev/null\n@@ -1,38 +0,0 @@\n-{pkgs, ...}: {\n- security.rtkit.enable = true;\n- services.pipewire = {\n- enable = true;\n- alsa = {\n- enable = true;\n- support32Bit = true;\n- };\n- pulse.enable = true;\n- jack.enable = true;\n- };\n-\n- services = {\n- printing = {\n- enable = true;\n- drivers = with pkgs; [epson-escpr epson-escpr2];\n- };\n- avahi = {\n- enable = true;\n- nssmdns4 = true;\n- };\n- syncthing = {\n- enable = true;\n- user = \"michal\";\n- };\n- };\n-\n- hardware.bluetooth.enable = true;\n-\n- fonts.packages = with pkgs; [\n- noto-fonts\n- noto-fonts-cjk-sans\n- noto-fonts-emoji\n- nerd-fonts.jetbrains-mono\n- ];\n-\n- boot.plymouth.enable = true;\n-}\ndiff --git a/common/desktop/stylix.nix b/common/desktop/stylix.nix\ndeleted file mode 100644\nindex 2222d29a5f17e74141aefc744f945d657bdf6776..0000000000000000000000000000000000000000\n--- a/common/desktop/stylix.nix\n+++ /dev/null\n@@ -1,10 +0,0 @@\n-{pkgs, ...}: {\n- stylix = {\n- enable = true;\n- image = pkgs.fetchurl {\n- url = \"https://i.imgur.com/uMrsMXh.jpg\";\n- sha256 = \"G0OZr+i8tI0yzCKaXzrsD7+a8NoAWRMAXSC7XUPPbHo=\";\n- };\n- polarity = \"dark\";\n- };\n-}\ndiff --git a/common/dev/podman.nix b/common/dev/podman.nix\ndeleted file mode 100644\nindex f69f36d65fc3592eb0bfbff6c87ce7f8ab0c84b8..0000000000000000000000000000000000000000\n--- a/common/dev/podman.nix\n+++ /dev/null\n@@ -1,8 +0,0 @@\n-{pkgs, ...}: {\n- virtualisation = {\n- podman = {\n- enable = true;\n- dockerCompat = true;\n- };\n- };\n-}\ndiff --git a/common/dev/zed.nix b/common/dev/zed.nix\ndeleted file mode 100644\nindex 76ea702fea6b691267620e636e7328c43a0387b1..0000000000000000000000000000000000000000\n--- a/common/dev/zed.nix\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-{pkgs, ...}: {\n- environment.systemPackages = with pkgs; [zed-editor];\n-}\ndiff --git a/common/nix.nix b/common/nix.nix\ndeleted file mode 100644\nindex 08f875e5c741e298f43d80ae00201ba0cfab5c4b..0000000000000000000000000000000000000000\n--- a/common/nix.nix\n+++ /dev/null\n@@ -1,28 +0,0 @@\n-{\n- nix = {\n- settings = {\n- auto-optimise-store = true;\n- trusted-users = [\"root\" \"michal\"];\n- };\n- gc = {\n- automatic = true;\n- dates = \"19:00\";\n- persistent = true;\n- options = \"--delete-older-than 7d\";\n- };\n- settings = {\n- substituters = [\n- \"https://cache.nichi.co\"\n- \"https://cache.ztier.in\"\n- ];\n- trusted-public-keys = [\n- \"hydra.nichi.co-0:P3nkYHhmcLR3eNJgOAnHDjmQLkfqheGyhZ6GLrUVHwk=\"\n- \"cache.ztier.link-1:3P5j2ZB9dNgFFFVkCQWT3mh0E+S3rIWtZvoql64UaXM=\"\n- ];\n- experimental-features = [\n- \"nix-command\"\n- \"flakes\"\n- ];\n- };\n- };\n-}\ndiff --git a/common/personal.nix b/common/personal.nix\ndeleted file mode 100644\nindex 288df5b1d8fb03fb8e839790b26d3a015b183444..0000000000000000000000000000000000000000\n--- a/common/personal.nix\n+++ /dev/null\n@@ -1,16 +0,0 @@\n-{pkgs, ...}: {\n- users.users.michal = {\n- description = \"Michal S.\";\n- shell = pkgs.fish;\n- isNormalUser = true;\n- extraGroups = [\"wheel\" \"users\" \"audio\" \"video\" \"networkmanager\" \"podman\" \"docker\" \"syncthing\"];\n- uid = 1000;\n- openssh.authorizedKeys.keys = [\n- \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHxah5pnxmk+P7HtwRsryDoAHZsDs5RcGP9IPCNg1KFe cardno:FFFE_DE635855\"\n- ];\n- };\n-\n- programs.fish.enable = true;\n-\n- security.sudo.extraConfig = \"Defaults pwfeedback\";\n-}\ndiff --git a/devices/common.nix b/devices/common.nix\ndeleted file mode 100644\nindex 0c5bda326940197b04f6f3c96caa1596f7b024ea..0000000000000000000000000000000000000000\n--- a/devices/common.nix\n+++ /dev/null\n@@ -1,30 +0,0 @@\n-{lib, ...}: {\n- boot = {\n- tmp.cleanOnBoot = true;\n- loader = {\n- systemd-boot.enable = lib.mkDefault true;\n- efi.canTouchEfiVariables = lib.mkDefault true;\n- };\n- };\n-\n- networking = {\n- networkmanager.enable = true;\n- useDHCP = lib.mkDefault true;\n- };\n-\n- time.timeZone = \"Europe/London\";\n-\n- services = {\n- pcscd.enable = true;\n- gnome.gnome-keyring.enable = lib.mkForce false;\n- };\n-\n- programs.gnupg.agent.enable = true;\n-\n- zramSwap.enable = true;\n-\n- hardware.graphics = {\n- enable = lib.mkDefault true;\n- enable32Bit = lib.mkDefault true;\n- };\n-}\ndiff --git a/devices/israfel-alpha/base.nix b/devices/israfel-alpha/base.nix\ndeleted file mode 100644\nindex cdfc853a1cc7bd73c378c7bc236b44e96825051e..0000000000000000000000000000000000000000\n--- a/devices/israfel-alpha/base.nix\n+++ /dev/null\n@@ -1,22 +0,0 @@\n-{pkgs, ...}: {\n- boot = {\n- kernelPackages = pkgs.linuxPackages_rpi4;\n- loader.efi.canTouchEfiVariables = false;\n- };\n-\n- networking = {\n- hostName = \"israfel-alpha\";\n- firewall = {\n- enable = true;\n- allowedTCPPorts = [22];\n- };\n- };\n-\n- services = {\n- sshd.enable = true;\n- };\n-\n- hardware.graphics.enable32Bit = false;\n-\n- system.stateVersion = \"24.11\";\n-}\ndiff --git a/devices/israfel-alpha/hardware.nix b/devices/israfel-alpha/hardware.nix\ndeleted file mode 100644\nindex 1de411b169b850e0a9e3bb173c4f02b43649c90a..0000000000000000000000000000000000000000\n--- a/devices/israfel-alpha/hardware.nix\n+++ /dev/null\n@@ -1,38 +0,0 @@\n-# Do not modify this file! It was generated by ‘nixos-generate-config’\n-# and may be overwritten by future invocations. Please make changes\n-# to /etc/nixos/configuration.nix instead.\n-{\n- config,\n- lib,\n- pkgs,\n- modulesPath,\n- ...\n-}: {\n- imports = [\n- (modulesPath + \"/installer/scan/not-detected.nix\")\n- ];\n-\n- boot = {\n- initrd.availableKernelModules = [];\n- initrd.kernelModules = [];\n- kernelModules = [];\n- extraModulePackages = [];\n- };\n-\n- fileSystems.\"/\" = {\n- device = \"/dev/disk/by-uuid/5402aba1-f628-4073-a413-4b17acc5fb77\";\n- fsType = \"ext4\";\n- };\n-\n- fileSystems.\"/boot\" = {\n- device = \"/dev/disk/by-uuid/6E39-C5F2\";\n- fsType = \"vfat\";\n- options = [\"fmask=0077\" \"dmask=0077\"];\n- };\n-\n- swapDevices = [\n- {device = \"/dev/disk/by-uuid/4038c37b-ee3c-4ecd-a598-34172426e3f4\";}\n- ];\n-\n- nixpkgs.hostPlatform = lib.mkDefault \"aarch64-linux\";\n-}\ndiff --git a/devices/israfel-beta/base.nix b/devices/israfel-beta/base.nix\ndeleted file mode 100644\nindex 49e1426af5ae7abf45261c43deb6890955afafb7..0000000000000000000000000000000000000000\n--- a/devices/israfel-beta/base.nix\n+++ /dev/null\n@@ -1,23 +0,0 @@\n-{pkgs, ...}: {\n- boot = {\n- kernelPackages = pkgs.linuxPackages_rpi4;\n- loader.efi.canTouchEfiVariables = false;\n- kernelParams = [\"8250.nr_uarts=11\" \"console=ttyAMA10,9600\" \"console=tty0\"];\n- };\n-\n- networking = {\n- hostName = \"israfel-beta\";\n- firewall = {\n- enable = true;\n- allowedTCPPorts = [22];\n- };\n- };\n-\n- services = {\n- sshd.enable = true;\n- };\n-\n- hardware.graphics.enable32Bit = false;\n-\n- system.stateVersion = \"24.11\";\n-}\ndiff --git a/devices/israfel-beta/hardware.nix b/devices/israfel-beta/hardware.nix\ndeleted file mode 100644\nindex d9fa81cc75c86ef1426064d2dc4e5872b2be0523..0000000000000000000000000000000000000000\n--- a/devices/israfel-beta/hardware.nix\n+++ /dev/null\n@@ -1,37 +0,0 @@\n-{\n- config,\n- lib,\n- pkgs,\n- modulesPath,\n- ...\n-}: {\n- imports = [\n- (modulesPath + \"/installer/scan/not-detected.nix\")\n- ];\n-\n- boot = {\n- initrd.availableKernelModules = [];\n- initrd.kernelModules = [];\n- kernelModules = [];\n- extraModulePackages = [];\n- };\n-\n- fileSystems = {\n- \"/\" = {\n- device = \"/dev/disk/by-uuid/54ec595b-ff14-4288-80c5-1a9b24208314\";\n- fsType = \"ext4\";\n- };\n-\n- \"/boot\" = {\n- device = \"/dev/disk/by-uuid/ACA4-FCB6\";\n- fsType = \"vfat\";\n- options = [\"fmask=0077\" \"dmask=0077\"];\n- };\n- };\n-\n- swapDevices = [\n- {device = \"/dev/disk/by-uuid/55717be0-0288-48af-97e2-4fba12020a96\";}\n- ];\n-\n- nixpkgs.hostPlatform = lib.mkDefault \"aarch64-linux\";\n-}\ndiff --git a/devices/tabris/base.nix b/devices/tabris/base.nix\ndeleted file mode 100644\nindex b9c4af5c40969312495f98825ac84648b9fe799a..0000000000000000000000000000000000000000\n--- a/devices/tabris/base.nix\n+++ /dev/null\n@@ -1,48 +0,0 @@\n-{\n- pkgs,\n- lib,\n- ...\n-}: {\n- networking.hostName = \"tabris\";\n-\n- time.timeZone = \"Europe/London\";\n-\n- boot.loader.timeout = 0;\n-\n- services.handheld-daemon = {\n- enable = true;\n- user = \"michal\";\n- };\n-\n- services.displayManager.autoLogin = {\n- enable = true;\n- user = \"michal\";\n- };\n-\n- programs = {\n- steam.enable = true;\n- gamemode.enable = true;\n- };\n-\n- environment.systemPackages = with pkgs; [\n- steam-run\n- modrinth-app\n- ];\n-\n- systemd.services.decky = {\n- enable = true;\n- wantedBy = [\"multi-user.target\"];\n- serviceConfig = {\n- Type = \"simple\";\n- Restart = \"always\";\n- KillMode = \"process\";\n- TimeoutStopSec = 15;\n- ExecStart = \"${pkgs.steam-run}/bin/steam-run /home/michal/homebrew/services/PluginLoader\";\n- WorkingDirectory = \"/home/michal/homebrew\";\n- Environment = [\"UNPRIVILEGED_PATH=/home/michal/homebew\" \"PRIVILIGED_PATH=/home/michal/homebrew\"];\n- WantedBy = \"multi-user.target\";\n- };\n- };\n-\n- system.stateVersion = \"24.11\";\n-}\ndiff --git a/devices/tabris/hardware.nix b/devices/tabris/hardware.nix\ndeleted file mode 100644\nindex 2ad3b1aebd882d523b2d5fa8acb95589e594f03e..0000000000000000000000000000000000000000\n--- a/devices/tabris/hardware.nix\n+++ /dev/null\n@@ -1,46 +0,0 @@\n-# Do not modify this file! It was generated by ‘nixos-generate-config’\n-# and may be overwritten by future invocations. Please make changes\n-# to /etc/nixos/configuration.nix instead.\n-{\n- config,\n- lib,\n- pkgs,\n- modulesPath,\n- ...\n-}: {\n- imports = [\n- (modulesPath + \"/installer/scan/not-detected.nix\")\n- ];\n-\n- boot = {\n- initrd.availableKernelModules = [\"nvme\" \"xhci_pci\" \"thunderbolt\" \"usbhid\" \"usb_storage\" \"sd_mod\" \"rtsx_pci_sdmmc\"];\n- initrd.kernelModules = [];\n- kernelModules = [\"kvm-amd\"];\n- extraModulePackages = [];\n- };\n-\n- fileSystems.\"/\" = {\n- device = \"/dev/disk/by-uuid/e72163c6-aa6a-4a7a-af69-dfab1eeb4fb9\";\n- fsType = \"ext4\";\n- };\n-\n- fileSystems.\"/boot\" = {\n- device = \"/dev/disk/by-uuid/EAF9-BC49\";\n- fsType = \"vfat\";\n- options = [\"fmask=0077\" \"dmask=0077\"];\n- };\n-\n- swapDevices = [\n- {device = \"/dev/disk/by-uuid/928af3ff-8799-4728-85b1-adef70a04f03\";}\n- ];\n-\n- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking\n- # (the default) this is the recommended approach. When using systemd-networkd it's\n- # still possible to use this option, but it's recommended to use it in conjunction\n- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.\n- networking.useDHCP = lib.mkDefault true;\n- # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;\n-\n- nixpkgs.hostPlatform = lib.mkDefault \"x86_64-linux\";\n- hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;\n-}\ndiff --git a/flake.lock b/flake.lock\nindex cc8c3a5304c0067e457cbc5ccc8a37226e082744..f45531be430a20013052a96066e03aa27165dcd4 100644\n--- a/flake.lock\n+++ b/flake.lock\n@@ -1,49 +1,5 @@\n {\n \"nodes\": {\n- \"ags\": {\n- \"inputs\": {\n- \"astal\": \"astal\",\n- \"nixpkgs\": [\n- \"hyprpanel\",\n- \"nixpkgs\"\n- ]\n- },\n- \"locked\": {\n- \"lastModified\": 1736090999,\n- \"narHash\": \"sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=\",\n- \"owner\": \"aylur\",\n- \"repo\": \"ags\",\n- \"rev\": \"5527c3c07d92c11e04e7fd99d58429493dba7e3c\",\n- \"type\": \"github\"\n- },\n- \"original\": {\n- \"owner\": \"aylur\",\n- \"repo\": \"ags\",\n- \"type\": \"github\"\n- }\n- },\n- \"astal\": {\n- \"inputs\": {\n- \"nixpkgs\": [\n- \"hyprpanel\",\n- \"ags\",\n- \"nixpkgs\"\n- ]\n- },\n- \"locked\": {\n- \"lastModified\": 1735172721,\n- \"narHash\": \"sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=\",\n- \"owner\": \"aylur\",\n- \"repo\": \"astal\",\n- \"rev\": \"6c84b64efc736e039a8a10774a4a1bf772c37aa2\",\n- \"type\": \"github\"\n- },\n- \"original\": {\n- \"owner\": \"aylur\",\n- \"repo\": \"astal\",\n- \"type\": \"github\"\n- }\n- },\n \"base16\": {\n \"inputs\": {\n \"fromYaml\": \"fromYaml\"\n@@ -144,6 +100,24 @@ }\n },\n \"flake-parts\": {\n \"inputs\": {\n+ \"nixpkgs-lib\": \"nixpkgs-lib\"\n+ },\n+ \"locked\": {\n+ \"lastModified\": 1743550720,\n+ \"narHash\": \"sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=\",\n+ \"owner\": \"hercules-ci\",\n+ \"repo\": \"flake-parts\",\n+ \"rev\": \"c621e8422220273271f52058f618c94e405bb0f5\",\n+ \"type\": \"github\"\n+ },\n+ \"original\": {\n+ \"owner\": \"hercules-ci\",\n+ \"repo\": \"flake-parts\",\n+ \"type\": \"github\"\n+ }\n+ },\n+ \"flake-parts_2\": {\n+ \"inputs\": {\n \"nixpkgs-lib\": [\n \"stylix\",\n \"nur\",\n@@ -294,11 +268,11 @@ \"nixpkgs\"\n ]\n },\n \"locked\": {\n- \"lastModified\": 1744659400,\n- \"narHash\": \"sha256-q0wwsR/hvOjj1G8ogdudX5cU0IE/Vgvgjo9g9OpQv5U=\",\n+ \"lastModified\": 1744833442,\n+ \"narHash\": \"sha256-BBMWW2m64Grcc5FlXz74+vdkUyCJOfUGnl+VcS/4x44=\",\n \"owner\": \"nix-community\",\n \"repo\": \"home-manager\",\n- \"rev\": \"5a096a8822cb98584c5dc4f2616dcd5ed394bfd7\",\n+ \"rev\": \"c6b75d69b6994ba68ec281bd36faebcc56097800\",\n \"type\": \"github\"\n },\n \"original\": {\n@@ -361,27 +335,6 @@ \"type\": \"file\",\n \"url\": \"https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js\"\n }\n },\n- \"hyprpanel\": {\n- \"inputs\": {\n- \"ags\": \"ags\",\n- \"nixpkgs\": [\n- \"nixpkgs\"\n- ]\n- },\n- \"locked\": {\n- \"lastModified\": 1744513377,\n- \"narHash\": \"sha256-2ocy+qAVxTBmaK8MpAy7mpKIH+DYEzwf+KzXZX83oZ4=\",\n- \"owner\": \"Jas-SinghFSU\",\n- \"repo\": \"HyprPanel\",\n- \"rev\": \"42943b3def85d8787d703778951944c8e791202b\",\n- \"type\": \"github\"\n- },\n- \"original\": {\n- \"owner\": \"Jas-SinghFSU\",\n- \"repo\": \"HyprPanel\",\n- \"type\": \"github\"\n- }\n- },\n \"ibm-plex-mono-src\": {\n \"flake\": false,\n \"locked\": {\n@@ -437,11 +390,11 @@ \"nixpkgs\"\n ]\n },\n \"locked\": {\n- \"lastModified\": 1744576613,\n- \"narHash\": \"sha256-CE2fumC0tBUej8bz2yT5UnZ4fxj3JZB1KXFXXsuIww4=\",\n+ \"lastModified\": 1744895575,\n+ \"narHash\": \"sha256-Ks1EfhB3ZVYOo/QcBajuEayNui5G7NKuQGKqO0yOu1A=\",\n \"ref\": \"refs/heads/master\",\n- \"rev\": \"991d523bebb2d537b645e4934cfe348437108838\",\n- \"revCount\": 468,\n+ \"rev\": \"c91caee0934f827e5a981cbf185372e709aa9ed3\",\n+ \"revCount\": 478,\n \"type\": \"git\",\n \"url\": \"https://tangled.sh/@tangled.sh/core\"\n },\n@@ -450,6 +403,21 @@ \"type\": \"git\",\n \"url\": \"https://tangled.sh/@tangled.sh/core\"\n }\n },\n+ \"lite-config\": {\n+ \"locked\": {\n+ \"lastModified\": 1723691425,\n+ \"narHash\": \"sha256-xOroQo/+CAtocvJQsGPE5ukr1Btp72xlcWPB4tBZp6M=\",\n+ \"owner\": \"yelite\",\n+ \"repo\": \"lite-config\",\n+ \"rev\": \"34357ad12ad0a66b2de55a2457159bda36c71a06\",\n+ \"type\": \"github\"\n+ },\n+ \"original\": {\n+ \"owner\": \"yelite\",\n+ \"repo\": \"lite-config\",\n+ \"type\": \"github\"\n+ }\n+ },\n \"lucide-src\": {\n \"flake\": false,\n \"locked\": {\n@@ -463,21 +431,6 @@ \"type\": \"tarball\",\n \"url\": \"https://github.com/lucide-icons/lucide/releases/download/0.483.0/lucide-icons-0.483.0.zip\"\n }\n },\n- \"nixos-hardware\": {\n- \"locked\": {\n- \"lastModified\": 1744633460,\n- \"narHash\": \"sha256-fbWE4Xpw6eH0Q6in+ymNuDwTkqmFmtxcQEmtRuKDTTk=\",\n- \"owner\": \"nixos\",\n- \"repo\": \"nixos-hardware\",\n- \"rev\": \"9a049b4a421076d27fee3eec664a18b2066824cb\",\n- \"type\": \"github\"\n- },\n- \"original\": {\n- \"owner\": \"nixos\",\n- \"repo\": \"nixos-hardware\",\n- \"type\": \"github\"\n- }\n- },\n \"nixpkgs\": {\n \"locked\": {\n \"lastModified\": 1744463964,\n@@ -494,9 +447,24 @@ \"repo\": \"nixpkgs\",\n \"type\": \"github\"\n }\n },\n+ \"nixpkgs-lib\": {\n+ \"locked\": {\n+ \"lastModified\": 1743296961,\n+ \"narHash\": \"sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=\",\n+ \"owner\": \"nix-community\",\n+ \"repo\": \"nixpkgs.lib\",\n+ \"rev\": \"e4822aea2a6d1cdd36653c134cacfd64c97ff4fa\",\n+ \"type\": \"github\"\n+ },\n+ \"original\": {\n+ \"owner\": \"nix-community\",\n+ \"repo\": \"nixpkgs.lib\",\n+ \"type\": \"github\"\n+ }\n+ },\n \"nur\": {\n \"inputs\": {\n- \"flake-parts\": \"flake-parts\",\n+ \"flake-parts\": \"flake-parts_2\",\n \"nixpkgs\": [\n \"stylix\",\n \"nixpkgs\"\n@@ -519,10 +487,10 @@ }\n },\n \"root\": {\n \"inputs\": {\n+ \"flake-parts\": \"flake-parts\",\n \"home-manager\": \"home-manager\",\n- \"hyprpanel\": \"hyprpanel\",\n \"knotserver\": \"knotserver\",\n- \"nixos-hardware\": \"nixos-hardware\",\n+ \"lite-config\": \"lite-config\",\n \"nixpkgs\": \"nixpkgs\",\n \"stylix\": \"stylix\",\n \"zen-browser\": \"zen-browser\"\n@@ -552,11 +520,11 @@ \"tinted-tmux\": \"tinted-tmux\",\n \"tinted-zed\": \"tinted-zed\"\n },\n \"locked\": {\n- \"lastModified\": 1744572782,\n- \"narHash\": \"sha256-CFNluxLqxmDPQYxi37nBd4wrpB0lI4Os8nRA7UWAJK0=\",\n+ \"lastModified\": 1744668092,\n+ \"narHash\": \"sha256-XDmpI3ywMkypsHKRF2am6BzZ5OjwpQMulAe8L87Ek8U=\",\n \"owner\": \"danth\",\n \"repo\": \"stylix\",\n- \"rev\": \"042db377bccc99b1a724b076c89ba803e411d889\",\n+ \"rev\": \"38aff11a7097f4da6b95d4c4d2c0438f25a08d52\",\n \"type\": \"github\"\n },\n \"original\": {\n@@ -692,11 +660,11 @@ \"nixpkgs\"\n ]\n },\n \"locked\": {\n- \"lastModified\": 1744657060,\n- \"narHash\": \"sha256-XOPpnwypaigN7TnRcIkk8PIoWIWg6ZGEWaGYL5e5ShA=\",\n+ \"lastModified\": 1744841864,\n+ \"narHash\": \"sha256-KytcQDopqwkBy65UaRdL9Aq/knlaZ7di9Qc1YPMsm58=\",\n \"owner\": \"0xc000022070\",\n \"repo\": \"zen-browser-flake\",\n- \"rev\": \"3c15b3d88648349acbbf5a1c0564edd35544e4d9\",\n+ \"rev\": \"9ac562b3d3b8dc06d0663e0028eff8c66ff8b390\",\n \"type\": \"github\"\n },\n \"original\": {\ndiff --git a/flake.nix b/flake.nix\nindex 8334e00d16f86f3e37015ef8d01926e00ba9787c..afb3ac87110d5da55a85964c72116e3a43442edb 100644\n--- a/flake.nix\n+++ b/flake.nix\n@@ -1,15 +1,10 @@\n {\n- description = \"Michal's NixOS Flake\";\n-\n inputs = {\n nixpkgs.url = \"github:nixos/nixpkgs/nixos-unstable\";\n- nixos-hardware.url = \"github:nixos/nixos-hardware\";\n+ flake-parts.url = \"github:hercules-ci/flake-parts\";\n+ lite-config.url = \"github:yelite/lite-config\";\n home-manager = {\n url = \"github:nix-community/home-manager\";\n- inputs.nixpkgs.follows = \"nixpkgs\";\n- };\n- hyprpanel = {\n- url = \"github:Jas-SinghFSU/HyprPanel\";\n inputs.nixpkgs.follows = \"nixpkgs\";\n };\n knotserver = {\n@@ -26,141 +21,49 @@ inputs.nixpkgs.follows = \"nixpkgs\";\n };\n };\n \n- outputs = {\n- nixpkgs,\n- nixos-hardware,\n- home-manager,\n- ...\n- } @ inputs: let\n- modules = {\n- home = {\n- common = [./users/michal/shell.nix ./users/michal/base.nix];\n- dev = [./users/michal/git.nix ./users/michal/gpg.nix];\n- };\n- nixos = {\n- common = [\n- ./common/nix.nix\n- ./common/personal.nix\n- ];\n- dev = [\n- ./common/dev/podman.nix\n- ./common/dev/zed.nix\n- ];\n- desktops = {\n- common = [\n- ./common/desktop/media.nix\n- ./common/desktop/gui-apps.nix\n+ outputs = inputs @ {flake-parts, ...}:\n+ flake-parts.lib.mkFlake {inherit inputs;} ({inputs, ...}: {\n+ imports = [\n+ inputs.lite-config.flakeModule\n+ ];\n+\n+ config = {\n+ lite-config = {\n+ nixpkgs = {\n+ config = {\n+ allowUnfree = true;\n+ };\n+ overlays = [];\n+ };\n+\n+ systemModules = [\n+ ./nixos/common\n inputs.stylix.nixosModules.stylix\n- ./common/desktop/stylix.nix\n+ inputs.knotserver.nixosModules.knotserver\n+ inputs.home-manager.nixosModules.home-manager\n+ {\n+ home-manager = {\n+ useGlobalPkgs = true;\n+ useUserPackages = true;\n+ users.michal = {};\n+ sharedModules = [./home-manager];\n+ };\n+ }\n ];\n- hyprland =\n- [\n- ./common/desktop/hyprland.nix\n- ./overlays/hyprpanel.nix\n- ]\n- ++ modules.nixos.desktops.common;\n- gnome =\n- [\n- ./common/desktop/gnome.nix\n- ]\n- ++ modules.nixos.desktops.common;\n- };\n- server = [\n- ./common/dev/podman.nix\n- ./services/common.nix\n- ./services/pds.nix\n- ./services/knotserver.nix\n- ./services/bots.nix\n- ./services/atmo.lol.nix\n- ./services/vaultwarden.nix\n- ./services/syncthing.nix\n- ./services/matrix.nix\n- ./services/cockpit.nix\n- ];\n- };\n- };\n+ homeModules = [./home-manager];\n+ hostModuleDir = ./nixos;\n \n- pkgs = with nixpkgs.legacyPackages; {\n- inherit x86_64-linux;\n- inherit aarch64-linux;\n- };\n-\n- defaultModules = x:\n- nixpkgs.lib.forEach [\"base.nix\" \"hardware.nix\"] (\n- mod: (./. + \"/devices\" + (\"/\" + x) + (\"/\" + mod))\n- )\n- ++ [./devices/common.nix]\n- ++ [\n- home-manager.nixosModules.home-manager\n- {\n- home-manager = {\n- useGlobalPkgs = true;\n- useUserPackages = true;\n- users.michal = {};\n- sharedModules = modules.home.common ++ modules.home.dev;\n+ hosts = {\n+ tabris.system = \"x86_64-linux\";\n+ israfel-alpha.system = \"aarch64-linux\";\n+ israfel-beta.system = \"aarch64-linux\";\n+ ireul.system = \"riscv64-linux\";\n };\n- }\n- ];\n- in {\n- homeConfigurations = {\n- \"michal\" = home-manager.lib.homeManagerConfiguration {\n- pkgs = pkgs.x86_64-linux;\n- modules =\n- modules.home.common\n- ++ modules.home.dev;\n- };\n- \"michal@israfel-beta\" = home-manager.lib.homeManagerConfiguration {\n- pkgs = pkgs.aarch64-linux;\n- modules =\n- modules.home.common\n- ++ modules.home.dev;\n- };\n- \"michal@israfel-alpha\" = home-manager.lib.homeManagerConfiguration {\n- pkgs = pkgs.aarch64-linux;\n- modules =\n- modules.home.common\n- ++ modules.home.dev;\n- };\n- };\n-\n- nixosConfigurations = {\n- \"tabris\" = nixpkgs.lib.nixosSystem {\n- system = \"x86_64-linux\";\n- specialArgs = {inherit inputs;};\n- modules =\n- defaultModules \"tabris\"\n- ++ modules.nixos.desktops.gnome\n- ++ modules.nixos.common\n- ++ modules.nixos.dev\n- ++ [{environment.systemPackages = [inputs.zen-browser.packages.x86_64-linux.default];}];\n+ };\n+ perSystem = {pkgs, ...}: {\n+ formatter = pkgs.alejandra;\n+ devShells.default = pkgs.mkShell {buildInputs = with pkgs; [statix deadnix];};\n+ };\n };\n- \"israfel-beta\" = nixpkgs.lib.nixosSystem {\n- system = \"aarch64-linux\";\n- specialArgs = {inherit inputs;};\n- modules =\n- defaultModules \"israfel-beta\"\n- ++ modules.nixos.desktops.hyprland\n- ++ modules.nixos.common\n- ++ modules.nixos.dev;\n- };\n- \"israfel-alpha\" = nixpkgs.lib.nixosSystem {\n- system = \"aarch64-linux\";\n- modules =\n- defaultModules \"israfel-alpha\"\n- ++ modules.nixos.server\n- ++ modules.nixos.common\n- ++ [inputs.knotserver.nixosModules.knotserver];\n- };\n- };\n-\n- devShells = {\n- x86_64-linux.default = pkgs.x86_64-linux.mkShell {buildInputs = with pkgs.x86_64-linux; [statix];};\n- aarch64-linux.default = pkgs.aarch64-linux.mkShell {buildInputs = with pkgs.aarch64-linux; [statix];};\n- };\n-\n- formatter = {\n- x86_64-linux = pkgs.x86_64-linux.alejandra;\n- aarch64-linux = pkgs.aarch64-linux.alejandra;\n- };\n- };\n+ });\n }\ndiff --git a/home-manager/base.nix b/home-manager/base.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..eb7f6baffa7b391ac3b8c3a8d8e8ec924ab25de0\n--- /dev/null\n+++ b/home-manager/base.nix\n@@ -0,0 +1,14 @@\n+{lib, ...}: {\n+ home = {\n+ username = lib.mkDefault \"michal\";\n+ homeDirectory = lib.mkDefault \"/home/michal\";\n+ stateVersion = lib.mkDefault \"24.11\";\n+ };\n+\n+ home.file.\".face\".source = ./var/pfp.png;\n+ home.file.\".wallpaper.png\".source = ./var/wallpaper.png;\n+\n+ home.sessionVariables.NIXOS_OZONE_WL = \"1\";\n+\n+ stylix.targets.zed.enable = true;\n+}\ndiff --git a/home-manager/default.nix b/home-manager/default.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..cb7fc0ee2c7bb05d44ef8c11a24a923cddba0038\n--- /dev/null\n+++ b/home-manager/default.nix\n@@ -0,0 +1,8 @@\n+{\n+ imports = [\n+ ./base.nix\n+ ./shell.nix\n+ ./git.nix\n+ ./gpg.nix\n+ ];\n+}\ndiff --git a/home-manager/git.nix b/home-manager/git.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..e1ad0d1f502421d5e835d216a57bf61dac153dd7\n--- /dev/null\n+++ b/home-manager/git.nix\n@@ -0,0 +1,19 @@\n+{pkgs, ...}: {\n+ programs.git = {\n+ enable = true;\n+ userName = \"Michal S.\";\n+ userEmail = \"me@mchal.lol\";\n+ signing = {\n+ key = \"3958C1974D0E77ED3C6B083826B6F2A07E8E1A2B\";\n+ signByDefault = true;\n+ };\n+ extraConfig = {\n+ safe.directory = \"*\";\n+ init.defaultBranch = \"main\";\n+ };\n+ };\n+\n+ home.packages = with pkgs; [\n+ git-crypt\n+ ];\n+}\ndiff --git a/home-manager/gpg.nix b/home-manager/gpg.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..aedeac54177159c0711ffc75a5dd566ec16b4b84\n--- /dev/null\n+++ b/home-manager/gpg.nix\n@@ -0,0 +1,15 @@\n+{\n+ programs.gpg = {\n+ enable = true;\n+ scdaemonSettings = {\n+ card-timeout = \"5\";\n+ disable-ccid = true;\n+ };\n+ };\n+\n+ services.gpg-agent = {\n+ enable = true;\n+ enableSshSupport = true;\n+ enableScDaemon = true;\n+ };\n+}\ndiff --git a/home-manager/shell.nix b/home-manager/shell.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..31793e2d1839b9f1947f45683c8dd541a499a67c\n--- /dev/null\n+++ b/home-manager/shell.nix\n@@ -0,0 +1,101 @@\n+{pkgs, ...}: {\n+ programs = {\n+ fish = {\n+ enable = true;\n+ functions = {\n+ fish_greeting = \"\";\n+ };\n+ shellAliases = {\n+ cat = \"bat\";\n+ cd = \"z\";\n+ htop = \"btop\";\n+ };\n+ shellAbbrs = {nix-shell = \"nix-shell --run fish\";};\n+ shellInit = ''\n+ set -x HOSTNAME (hostname)\n+\n+ set DIRENV_LOG_FORMAT \"\"\n+ set SHELL ${pkgs.fish.out}/bin/fish\n+ '';\n+ plugins = [\n+ {\n+ name = \"tide\";\n+ src = pkgs.fetchFromGitHub {\n+ owner = \"IlanCosman\";\n+ repo = \"tide\";\n+ rev = \"d715de0a2ab4e33f202d30f5c6bd8da9cfc6c310\";\n+ sha256 = \"6ys1SEfcWO0cRRNawrpnUU9tPJVVZ0E6RcPmrE9qG5g=\";\n+ };\n+ }\n+\n+ {\n+ name = \"bass\";\n+ src = pkgs.fetchFromGitHub {\n+ owner = \"edc\";\n+ repo = \"bass\";\n+ rev = \"2fd3d2157d5271ca3575b13daec975ca4c10577a\";\n+ sha256 = \"fl4/Pgtkojk5AE52wpGDnuLajQxHoVqyphE90IIPYFU=\";\n+ };\n+ }\n+\n+ {\n+ name = \"fish-plugin-sudo\";\n+ src = pkgs.fetchFromGitHub {\n+ owner = \"eth-p\";\n+ repo = \"fish-plugin-sudo\";\n+ rev = \"e153fdea568cd370312f9c0809fac15fc7582bfd\";\n+ sha256 = \"bTK34G+J6AOoYmhOIG0XNXV2SN/u789+epXMBN3lnu4=\";\n+ };\n+ }\n+\n+ {\n+ name = \"puffer-fish\";\n+ src = pkgs.fetchFromGitHub {\n+ owner = \"nickeb96\";\n+ repo = \"puffer-fish\";\n+ rev = \"df333fff5130ef8bf153c9bafbf0661534f81d9c\";\n+ sha256 = \"VtFrRzI476Hkutwwgkkc9hoiCma6Xyknm7xHeghrLxo=\";\n+ };\n+ }\n+ ];\n+ };\n+ fzf = {\n+ enable = true;\n+ enableFishIntegration = true;\n+ };\n+ zoxide = {\n+ enable = true;\n+ enableFishIntegration = true;\n+ };\n+ direnv = {\n+ enable = true;\n+ nix-direnv.enable = true;\n+ };\n+ atuin = {\n+ enable = true;\n+ daemon.enable = true;\n+ enableFishIntegration = true;\n+ settings = {\n+ dialect = \"uk\";\n+ workspaces = true;\n+ };\n+ };\n+ };\n+\n+ services.gpg-agent.enableFishIntegration = true;\n+\n+ home.packages = with pkgs; [\n+ bat\n+ btop\n+ duf\n+ zellij\n+ zoxide\n+ neofetch\n+ ncdu\n+\n+ hostname\n+ ncurses\n+\n+ vim\n+ ];\n+}\ndiff --git a/home-manager/var/pfp.png b/home-manager/var/pfp.png\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..cc8eef3c51e064a08b020365f25973f862e900b7\nBinary files /dev/null and b/home-manager/var/pfp.png differ\ndiff --git a/home-manager/var/wallpaper.png b/home-manager/var/wallpaper.png\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..39620ee3ec67a5012d88688f520e953b72e8334d\nBinary files /dev/null and b/home-manager/var/wallpaper.png differ\ndiff --git a/nixos/common/default.nix b/nixos/common/default.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..ccad15c863df81060bc05cd42a4959f113d33945\n--- /dev/null\n+++ b/nixos/common/default.nix\n@@ -0,0 +1,37 @@\n+{lib, ...}: {\n+ imports = [\n+ ./nix.nix\n+ ./personal.nix\n+ ./dev.nix\n+ ./stylix.nix\n+ ];\n+\n+ boot = {\n+ tmp.cleanOnBoot = true;\n+ loader = {\n+ systemd-boot.enable = lib.mkDefault true;\n+ efi.canTouchEfiVariables = lib.mkDefault true;\n+ };\n+ };\n+\n+ networking = {\n+ networkmanager.enable = true;\n+ useDHCP = lib.mkDefault true;\n+ };\n+\n+ time.timeZone = \"Europe/London\";\n+\n+ services = {\n+ pcscd.enable = true;\n+ gnome.gnome-keyring.enable = lib.mkForce false;\n+ };\n+\n+ programs.gnupg.agent.enable = true;\n+\n+ zramSwap.enable = true;\n+\n+ hardware.graphics = {\n+ enable = lib.mkDefault true;\n+ enable32Bit = lib.mkDefault true;\n+ };\n+}\ndiff --git a/nixos/common/dev.nix b/nixos/common/dev.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..ae9796d83ffc0229d8ff1718d16ca1d8ca543c33\n--- /dev/null\n+++ b/nixos/common/dev.nix\n@@ -0,0 +1,9 @@\n+{pkgs, ...}: {\n+ virtualisation = {\n+ podman = {\n+ enable = true;\n+ dockerCompat = true;\n+ };\n+ };\n+ environment.systemPackages = with pkgs; [distrobox zed-editor];\n+}\ndiff --git a/nixos/common/nix.nix b/nixos/common/nix.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..08f875e5c741e298f43d80ae00201ba0cfab5c4b\n--- /dev/null\n+++ b/nixos/common/nix.nix\n@@ -0,0 +1,28 @@\n+{\n+ nix = {\n+ settings = {\n+ auto-optimise-store = true;\n+ trusted-users = [\"root\" \"michal\"];\n+ };\n+ gc = {\n+ automatic = true;\n+ dates = \"19:00\";\n+ persistent = true;\n+ options = \"--delete-older-than 7d\";\n+ };\n+ settings = {\n+ substituters = [\n+ \"https://cache.nichi.co\"\n+ \"https://cache.ztier.in\"\n+ ];\n+ trusted-public-keys = [\n+ \"hydra.nichi.co-0:P3nkYHhmcLR3eNJgOAnHDjmQLkfqheGyhZ6GLrUVHwk=\"\n+ \"cache.ztier.link-1:3P5j2ZB9dNgFFFVkCQWT3mh0E+S3rIWtZvoql64UaXM=\"\n+ ];\n+ experimental-features = [\n+ \"nix-command\"\n+ \"flakes\"\n+ ];\n+ };\n+ };\n+}\ndiff --git a/nixos/common/personal.nix b/nixos/common/personal.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..288df5b1d8fb03fb8e839790b26d3a015b183444\n--- /dev/null\n+++ b/nixos/common/personal.nix\n@@ -0,0 +1,16 @@\n+{pkgs, ...}: {\n+ users.users.michal = {\n+ description = \"Michal S.\";\n+ shell = pkgs.fish;\n+ isNormalUser = true;\n+ extraGroups = [\"wheel\" \"users\" \"audio\" \"video\" \"networkmanager\" \"podman\" \"docker\" \"syncthing\"];\n+ uid = 1000;\n+ openssh.authorizedKeys.keys = [\n+ \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHxah5pnxmk+P7HtwRsryDoAHZsDs5RcGP9IPCNg1KFe cardno:FFFE_DE635855\"\n+ ];\n+ };\n+\n+ programs.fish.enable = true;\n+\n+ security.sudo.extraConfig = \"Defaults pwfeedback\";\n+}\ndiff --git a/nixos/common/stylix.nix b/nixos/common/stylix.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..2222d29a5f17e74141aefc744f945d657bdf6776\n--- /dev/null\n+++ b/nixos/common/stylix.nix\n@@ -0,0 +1,10 @@\n+{pkgs, ...}: {\n+ stylix = {\n+ enable = true;\n+ image = pkgs.fetchurl {\n+ url = \"https://i.imgur.com/uMrsMXh.jpg\";\n+ sha256 = \"G0OZr+i8tI0yzCKaXzrsD7+a8NoAWRMAXSC7XUPPbHo=\";\n+ };\n+ polarity = \"dark\";\n+ };\n+}\ndiff --git a/nixos/desktop/default.nix b/nixos/desktop/default.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..59baae66711199dfa63f821de58048ad5ad68411\n--- /dev/null\n+++ b/nixos/desktop/default.nix\n@@ -0,0 +1,9 @@\n+{\n+ inputs,\n+ hostPlatform,\n+ ...\n+}: {\n+ imports =\n+ [./gnome.nix ./gui-apps.nix ./media.nix]\n+ ++ [{environment.systemPackages = [inputs.zen-browser.packages.\"${hostPlatform.system}\".default];}];\n+}\ndiff --git a/nixos/desktop/gnome.nix b/nixos/desktop/gnome.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..75876d8c4c97ad2af9264bec2d46c551c5b4c9bb\n--- /dev/null\n+++ b/nixos/desktop/gnome.nix\n@@ -0,0 +1,36 @@\n+{pkgs, ...}: {\n+ services.xserver = {\n+ enable = true;\n+ displayManager.gdm.enable = true;\n+ desktopManager.gnome.enable = true;\n+ };\n+\n+ environment.systemPackages = with pkgs; [\n+ gnomeExtensions.blur-my-shell\n+ gnomeExtensions.caffeine\n+ gnomeExtensions.grand-theft-focus\n+ gnomeExtensions.valent\n+ gnomeExtensions.pano\n+ gnomeExtensions.hot-edge\n+ gnomeExtensions.top-bar-organizer\n+ gnomeExtensions.weather-oclock\n+ gnomeExtensions.forge\n+ gnomeExtensions.bluetooth-battery-meter\n+\n+ pkgs.gnome-tweaks\n+ pkgs.gnome-software\n+ ];\n+\n+ xdg.portal = {\n+ enable = true;\n+ extraPortals = with pkgs; [xdg-desktop-portal-gtk];\n+ };\n+\n+ programs = {\n+ kdeconnect = {\n+ enable = true;\n+ package = pkgs.valent;\n+ };\n+ gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3;\n+ };\n+}\ndiff --git a/nixos/desktop/gui-apps.nix b/nixos/desktop/gui-apps.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..94359a633f3004a1145829872527c45403d38653\n--- /dev/null\n+++ b/nixos/desktop/gui-apps.nix\n@@ -0,0 +1,17 @@\n+{pkgs, ...}: {\n+ environment.systemPackages = with pkgs; [\n+ vesktop\n+ mullvad-vpn\n+ obsidian\n+ ];\n+\n+ xdg.portal.enable = true;\n+\n+ services = {\n+ mullvad-vpn = {\n+ enable = true;\n+ package = pkgs.mullvad-vpn;\n+ };\n+ flatpak.enable = true;\n+ };\n+}\ndiff --git a/nixos/desktop/media.nix b/nixos/desktop/media.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..74d397345a8c3d0600256e0d3bd6057c15ce88e9\n--- /dev/null\n+++ b/nixos/desktop/media.nix\n@@ -0,0 +1,38 @@\n+{pkgs, ...}: {\n+ security.rtkit.enable = true;\n+ services.pipewire = {\n+ enable = true;\n+ alsa = {\n+ enable = true;\n+ support32Bit = true;\n+ };\n+ pulse.enable = true;\n+ jack.enable = true;\n+ };\n+\n+ services = {\n+ printing = {\n+ enable = true;\n+ drivers = with pkgs; [epson-escpr epson-escpr2];\n+ };\n+ avahi = {\n+ enable = true;\n+ nssmdns4 = true;\n+ };\n+ syncthing = {\n+ enable = true;\n+ user = \"michal\";\n+ };\n+ };\n+\n+ hardware.bluetooth.enable = true;\n+\n+ fonts.packages = with pkgs; [\n+ noto-fonts\n+ noto-fonts-cjk-sans\n+ noto-fonts-emoji\n+ nerd-fonts.jetbrains-mono\n+ ];\n+\n+ boot.plymouth.enable = true;\n+}\ndiff --git a/nixos/israfel-alpha/base.nix b/nixos/israfel-alpha/base.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..cdfc853a1cc7bd73c378c7bc236b44e96825051e\n--- /dev/null\n+++ b/nixos/israfel-alpha/base.nix\n@@ -0,0 +1,22 @@\n+{pkgs, ...}: {\n+ boot = {\n+ kernelPackages = pkgs.linuxPackages_rpi4;\n+ loader.efi.canTouchEfiVariables = false;\n+ };\n+\n+ networking = {\n+ hostName = \"israfel-alpha\";\n+ firewall = {\n+ enable = true;\n+ allowedTCPPorts = [22];\n+ };\n+ };\n+\n+ services = {\n+ sshd.enable = true;\n+ };\n+\n+ hardware.graphics.enable32Bit = false;\n+\n+ system.stateVersion = \"24.11\";\n+}\ndiff --git a/nixos/israfel-alpha/default.nix b/nixos/israfel-alpha/default.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..a61da37d772300b94eab31cceb0b2888a2fb7940\n--- /dev/null\n+++ b/nixos/israfel-alpha/default.nix\n@@ -0,0 +1,3 @@\n+{\n+ imports = [./base.nix ./hardware.nix ../services];\n+}\ndiff --git a/nixos/israfel-alpha/hardware.nix b/nixos/israfel-alpha/hardware.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..dd3d747d941cf9404dac431f55005fbdd65765b1\n--- /dev/null\n+++ b/nixos/israfel-alpha/hardware.nix\n@@ -0,0 +1,33 @@\n+{\n+ lib,\n+ modulesPath,\n+ ...\n+}: {\n+ imports = [\n+ (modulesPath + \"/installer/scan/not-detected.nix\")\n+ ];\n+\n+ boot = {\n+ initrd.availableKernelModules = [];\n+ initrd.kernelModules = [];\n+ kernelModules = [];\n+ extraModulePackages = [];\n+ };\n+\n+ fileSystems.\"/\" = {\n+ device = \"/dev/disk/by-uuid/5402aba1-f628-4073-a413-4b17acc5fb77\";\n+ fsType = \"ext4\";\n+ };\n+\n+ fileSystems.\"/boot\" = {\n+ device = \"/dev/disk/by-uuid/6E39-C5F2\";\n+ fsType = \"vfat\";\n+ options = [\"fmask=0077\" \"dmask=0077\"];\n+ };\n+\n+ swapDevices = [\n+ {device = \"/dev/disk/by-uuid/4038c37b-ee3c-4ecd-a598-34172426e3f4\";}\n+ ];\n+\n+ nixpkgs.hostPlatform = lib.mkDefault \"aarch64-linux\";\n+}\ndiff --git a/nixos/israfel-beta/base.nix b/nixos/israfel-beta/base.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..49e1426af5ae7abf45261c43deb6890955afafb7\n--- /dev/null\n+++ b/nixos/israfel-beta/base.nix\n@@ -0,0 +1,23 @@\n+{pkgs, ...}: {\n+ boot = {\n+ kernelPackages = pkgs.linuxPackages_rpi4;\n+ loader.efi.canTouchEfiVariables = false;\n+ kernelParams = [\"8250.nr_uarts=11\" \"console=ttyAMA10,9600\" \"console=tty0\"];\n+ };\n+\n+ networking = {\n+ hostName = \"israfel-beta\";\n+ firewall = {\n+ enable = true;\n+ allowedTCPPorts = [22];\n+ };\n+ };\n+\n+ services = {\n+ sshd.enable = true;\n+ };\n+\n+ hardware.graphics.enable32Bit = false;\n+\n+ system.stateVersion = \"24.11\";\n+}\ndiff --git a/nixos/israfel-beta/default.nix b/nixos/israfel-beta/default.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..7edd322662083f8a838329ac10403af0f7618e25\n--- /dev/null\n+++ b/nixos/israfel-beta/default.nix\n@@ -0,0 +1,3 @@\n+{\n+ imports = [./base.nix ./hardware.nix ../desktop];\n+}\ndiff --git a/nixos/israfel-beta/hardware.nix b/nixos/israfel-beta/hardware.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..ece0b7eed634f3b2ab15c4f5065e3e092101f5c9\n--- /dev/null\n+++ b/nixos/israfel-beta/hardware.nix\n@@ -0,0 +1,35 @@\n+{\n+ lib,\n+ modulesPath,\n+ ...\n+}: {\n+ imports = [\n+ (modulesPath + \"/installer/scan/not-detected.nix\")\n+ ];\n+\n+ boot = {\n+ initrd.availableKernelModules = [];\n+ initrd.kernelModules = [];\n+ kernelModules = [];\n+ extraModulePackages = [];\n+ };\n+\n+ fileSystems = {\n+ \"/\" = {\n+ device = \"/dev/disk/by-uuid/54ec595b-ff14-4288-80c5-1a9b24208314\";\n+ fsType = \"ext4\";\n+ };\n+\n+ \"/boot\" = {\n+ device = \"/dev/disk/by-uuid/ACA4-FCB6\";\n+ fsType = \"vfat\";\n+ options = [\"fmask=0077\" \"dmask=0077\"];\n+ };\n+ };\n+\n+ swapDevices = [\n+ {device = \"/dev/disk/by-uuid/55717be0-0288-48af-97e2-4fba12020a96\";}\n+ ];\n+\n+ nixpkgs.hostPlatform = lib.mkDefault \"aarch64-linux\";\n+}\ndiff --git a/nixos/secrets/.knot.env b/nixos/secrets/.knot.env\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..008979b3e8acee12aa3d1a33f4c9a8f0cdd0e22a\nBinary files /dev/null and b/nixos/secrets/.knot.env differ\ndiff --git a/nixos/secrets/bots/karxbot_private/characters.toml b/nixos/secrets/bots/karxbot_private/characters.toml\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..1a2e28b556b146c2bf944aba62be98884e0dc3d8\nBinary files /dev/null and b/nixos/secrets/bots/karxbot_private/characters.toml differ\ndiff --git a/nixos/secrets/bots/karxbot_private/config.toml b/nixos/secrets/bots/karxbot_private/config.toml\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..3f11bf5662d2e54c0e24c9f0b46851d83bc26663\nBinary files /dev/null and b/nixos/secrets/bots/karxbot_private/config.toml differ\ndiff --git a/nixos/secrets/bots/shanbot/config.toml b/nixos/secrets/bots/shanbot/config.toml\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..43675eff085cc5e9a5ddffa95d976007b8c7325d\nBinary files /dev/null and b/nixos/secrets/bots/shanbot/config.toml differ\ndiff --git a/nixos/secrets/pds.env b/nixos/secrets/pds.env\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..13350df41b2d5a366ee38aad1ce91ab7c3ed254b\nBinary files /dev/null and b/nixos/secrets/pds.env differ\ndiff --git a/nixos/services/atmo.lol.nix b/nixos/services/atmo.lol.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..b4505f046634a1b0958158e8b6327d9f3f7d6909\n--- /dev/null\n+++ b/nixos/services/atmo.lol.nix\n@@ -0,0 +1,21 @@\n+{\n+ virtualisation.oci-containers.containers = {\n+ atmolol_frontend = {\n+ image = \"atmolol_frontend:latest\";\n+ ports = [\"8001:3000\"];\n+ networks = [\"atproto\"];\n+ autoStart = true;\n+ };\n+ atmolol_backend = {\n+ image = \"atmolol_backend:latest\";\n+ ports = [\"8002:3000\"];\n+ networks = [\"atproto\"];\n+ autoStart = true;\n+ };\n+ };\n+\n+ services.caddy.virtualHosts = {\n+ \"www.atmo.lol\".extraConfig = \"reverse_proxy http://localhost:8001\";\n+ \"atmo.lol\".extraConfig = \"reverse_proxy http://localhost:8002\";\n+ };\n+}\ndiff --git a/nixos/services/bots.nix b/nixos/services/bots.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..71be018705fc4961ab156cd85bc9016f43d488b9\n--- /dev/null\n+++ b/nixos/services/bots.nix\n@@ -0,0 +1,35 @@\n+{\n+ virtualisation.oci-containers.containers = {\n+ karxbot_private = {\n+ image = \"ayanamibot:latest\";\n+ volumes = [\n+ \"/opt/bots/karxbot_private/config.toml:/app/config.toml\"\n+ \"/opt/bots/karxbot_private/characters.toml:/app/characters.toml\"\n+ \"/opt/bots/karxbot_private/database:/app/database\"\n+ ];\n+ environment = {\n+ ENABLE_RP = \"1\";\n+ };\n+ autoStart = true;\n+ };\n+\n+ shanbot = {\n+ image = \"ayanamibot:latest\";\n+ volumes = [\n+ \"/opt/bots/shanbot/config.toml:/app/config.toml\"\n+ \"/opt/bots/shanbot/database:/app/database\"\n+ ];\n+ environment = {\n+ ENABLE_ROLES = \"1\";\n+ ENABLE_GAMBLING = \"1\";\n+ ENABLE_STARBOARD = \"1\";\n+ };\n+ autoStart = true;\n+ };\n+ };\n+\n+ system.activationScripts.copyBotEnvs = ''\n+ mkdir -p /opt/bots\n+ cp -r ${../secrets/bots}/* /opt/bots/.\n+ '';\n+}\ndiff --git a/nixos/services/cockpit.nix b/nixos/services/cockpit.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..83103581c108effc1d6a4cb8e1467c103f78a3f6\n--- /dev/null\n+++ b/nixos/services/cockpit.nix\n@@ -0,0 +1,6 @@\n+{\n+ services.cockpit = {\n+ enable = true;\n+ openFirewall = true;\n+ };\n+}\ndiff --git a/nixos/services/default.nix b/nixos/services/default.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..f66bb446d0d340ae54cf2e03b833443aa12c8296\n--- /dev/null\n+++ b/nixos/services/default.nix\n@@ -0,0 +1,15 @@\n+{\n+ imports = [\n+ ./atmo.lol.nix\n+ ./bots.nix\n+ ./cockpit.nix\n+ ./knotserver.nix\n+ ./matrix.nix\n+ ./pds.nix\n+ ./syncthing.nix\n+ ./vaultwarden.nix\n+ ];\n+\n+ services.caddy.enable = true;\n+ networking.firewall.allowedTCPPorts = [443 80];\n+}\ndiff --git a/nixos/services/knotserver.nix b/nixos/services/knotserver.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..c621cc316e493765593b2e2d24f468ece5fd38de\n--- /dev/null\n+++ b/nixos/services/knotserver.nix\n@@ -0,0 +1,15 @@\n+{\n+ services.tangled-knotserver = {\n+ enable = true;\n+ server = {\n+ hostname = \"knot.mchal.lol:5555\";\n+ listenAddr = \"0.0.0.0:5555\";\n+ secretFile = ../secrets/.knot.env;\n+ };\n+ stateDir = \"/opt/knot\";\n+ };\n+\n+ services.caddy.virtualHosts = {\n+ \"knot.mchal.lol\".extraConfig = \"reverse_proxy http://localhost:5555\";\n+ };\n+}\ndiff --git a/nixos/services/matrix.nix b/nixos/services/matrix.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..7f01a7ae3f5c9a7bd184a8ef974ca981eecc24c4\n--- /dev/null\n+++ b/nixos/services/matrix.nix\n@@ -0,0 +1,18 @@\n+{\n+ services.matrix-synapse = {\n+ enable = true;\n+ dataDir = \"/opt/synapse\";\n+ enableRegistrationScript = true;\n+ settings = {\n+ server_name = \"matrix.mchal.lol\";\n+ public_baseurl = \"https://matrix.mchal.lol\";\n+ database.name = \"sqlite3\";\n+ };\n+ };\n+\n+ services.caddy.virtualHosts = {\n+ \"matrix.mchal.lol\".extraConfig = ''\n+ reverse_proxy http://localhost:8008\n+ '';\n+ };\n+}\ndiff --git a/nixos/services/pds.nix b/nixos/services/pds.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..aa71887512f66717107797ccb4ef3679a3f96916\n--- /dev/null\n+++ b/nixos/services/pds.nix\n@@ -0,0 +1,16 @@\n+{\n+ services.pds = {\n+ enable = true;\n+ environmentFiles = [../secrets/pds.env];\n+ pdsadmin.enable = true;\n+ settings = {\n+ PDS_HOSTNAME = \"pds.mchal.lol\";\n+ PDS_PORT = 6010;\n+ PDS_SERVICE_HANDLE_DOMAINS = \".pds.mchal.lol\";\n+ };\n+ };\n+\n+ services.caddy.virtualHosts = {\n+ \"pds.mchal.lol\".extraConfig = \"reverse_proxy http://localhost:6010\";\n+ };\n+}\ndiff --git a/nixos/services/syncthing.nix b/nixos/services/syncthing.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..b6d5a64cc4ea8f04158672ad27d790ff668c1ba8\n--- /dev/null\n+++ b/nixos/services/syncthing.nix\n@@ -0,0 +1,15 @@\n+{\n+ services.syncthing = {\n+ enable = true;\n+ openDefaultPorts = true;\n+ dataDir = \"/opt/syncthing\";\n+ };\n+\n+ services.caddy.virtualHosts = {\n+ \"sync.mchal.lol\".extraConfig = ''\n+ reverse_proxy http://127.0.0.1:8384 {\n+ header_up Host {upstream_hostport}\n+ }\n+ '';\n+ };\n+}\ndiff --git a/nixos/services/vaultwarden.nix b/nixos/services/vaultwarden.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..f25dfe71b62895301a56813d18264c768e0050a7\n--- /dev/null\n+++ b/nixos/services/vaultwarden.nix\n@@ -0,0 +1,16 @@\n+{\n+ services = {\n+ vaultwarden = {\n+ enable = true;\n+ backupDir = \"/opt/vaultwarden\";\n+ config = {\n+ SIGNUPS_ALLOWED = false;\n+ ROCKET_ADDRESS = \"::1\";\n+ ROCKET_PORT = 8222;\n+ };\n+ };\n+ caddy.virtualHosts = {\n+ \"vault.mchal.lol\".extraConfig = \"reverse_proxy http://localhost:8222\";\n+ };\n+ };\n+}\ndiff --git a/nixos/tabris/base.nix b/nixos/tabris/base.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..38fad1dd49327624be7b54f1e3157ea013d91c7a\n--- /dev/null\n+++ b/nixos/tabris/base.nix\n@@ -0,0 +1,44 @@\n+{pkgs, ...}: {\n+ networking.hostName = \"tabris\";\n+\n+ time.timeZone = \"Europe/London\";\n+\n+ boot.loader.timeout = 0;\n+\n+ services.handheld-daemon = {\n+ enable = true;\n+ user = \"michal\";\n+ };\n+\n+ services.displayManager.autoLogin = {\n+ enable = true;\n+ user = \"michal\";\n+ };\n+\n+ programs = {\n+ steam.enable = true;\n+ gamemode.enable = true;\n+ };\n+\n+ environment.systemPackages = with pkgs; [\n+ steam-run\n+ modrinth-app\n+ ];\n+\n+ systemd.services.decky = {\n+ enable = true;\n+ wantedBy = [\"multi-user.target\"];\n+ serviceConfig = {\n+ Type = \"simple\";\n+ Restart = \"always\";\n+ KillMode = \"process\";\n+ TimeoutStopSec = 15;\n+ ExecStart = \"${pkgs.steam-run}/bin/steam-run /home/michal/homebrew/services/PluginLoader\";\n+ WorkingDirectory = \"/home/michal/homebrew\";\n+ Environment = [\"UNPRIVILEGED_PATH=/home/michal/homebew\" \"PRIVILIGED_PATH=/home/michal/homebrew\"];\n+ WantedBy = \"multi-user.target\";\n+ };\n+ };\n+\n+ system.stateVersion = \"24.11\";\n+}\ndiff --git a/nixos/tabris/default.nix b/nixos/tabris/default.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..7edd322662083f8a838329ac10403af0f7618e25\n--- /dev/null\n+++ b/nixos/tabris/default.nix\n@@ -0,0 +1,3 @@\n+{\n+ imports = [./base.nix ./hardware.nix ../desktop];\n+}\ndiff --git a/nixos/tabris/hardware.nix b/nixos/tabris/hardware.nix\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..75acb34306c440ebdd4aa4344f1b554b5151fe9d\n--- /dev/null\n+++ b/nixos/tabris/hardware.nix\n@@ -0,0 +1,42 @@\n+{\n+ config,\n+ lib,\n+ modulesPath,\n+ ...\n+}: {\n+ imports = [\n+ (modulesPath + \"/installer/scan/not-detected.nix\")\n+ ];\n+\n+ boot = {\n+ initrd.availableKernelModules = [\"nvme\" \"xhci_pci\" \"thunderbolt\" \"usbhid\" \"usb_storage\" \"sd_mod\" \"rtsx_pci_sdmmc\"];\n+ initrd.kernelModules = [];\n+ kernelModules = [\"kvm-amd\"];\n+ extraModulePackages = [];\n+ };\n+\n+ fileSystems.\"/\" = {\n+ device = \"/dev/disk/by-uuid/e72163c6-aa6a-4a7a-af69-dfab1eeb4fb9\";\n+ fsType = \"ext4\";\n+ };\n+\n+ fileSystems.\"/boot\" = {\n+ device = \"/dev/disk/by-uuid/EAF9-BC49\";\n+ fsType = \"vfat\";\n+ options = [\"fmask=0077\" \"dmask=0077\"];\n+ };\n+\n+ swapDevices = [\n+ {device = \"/dev/disk/by-uuid/928af3ff-8799-4728-85b1-adef70a04f03\";}\n+ ];\n+\n+ # Enables DHCP on each ethernet and wireless interface. In case of scripted networking\n+ # (the default) this is the recommended approach. When using systemd-networkd it's\n+ # still possible to use this option, but it's recommended to use it in conjunction\n+ # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.\n+ networking.useDHCP = lib.mkDefault true;\n+ # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;\n+\n+ nixpkgs.hostPlatform = lib.mkDefault \"x86_64-linux\";\n+ hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;\n+}\ndiff --git a/overlays/hyprpanel.nix b/overlays/hyprpanel.nix\ndeleted file mode 100644\nindex c61a737de69233a41672e4f8476c630682b015b9..0000000000000000000000000000000000000000\n--- a/overlays/hyprpanel.nix\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-{inputs, ...}: {\n- nixpkgs.overlays = [inputs.hyprpanel.overlay];\n-}\ndiff --git a/secrets/.knot.env b/secrets/.knot.env\ndeleted file mode 100644\nindex 008979b3e8acee12aa3d1a33f4c9a8f0cdd0e22a..0000000000000000000000000000000000000000\nBinary files a/secrets/.knot.env and /dev/null differ\ndiff --git a/secrets/bots/karxbot_private/characters.toml b/secrets/bots/karxbot_private/characters.toml\ndeleted file mode 100644\nindex 1a2e28b556b146c2bf944aba62be98884e0dc3d8..0000000000000000000000000000000000000000\nBinary files a/secrets/bots/karxbot_private/characters.toml and /dev/null differ\ndiff --git a/secrets/bots/karxbot_private/config.toml b/secrets/bots/karxbot_private/config.toml\ndeleted file mode 100644\nindex 3f11bf5662d2e54c0e24c9f0b46851d83bc26663..0000000000000000000000000000000000000000\nBinary files a/secrets/bots/karxbot_private/config.toml and /dev/null differ\ndiff --git a/secrets/bots/shanbot/config.toml b/secrets/bots/shanbot/config.toml\ndeleted file mode 100644\nindex 43675eff085cc5e9a5ddffa95d976007b8c7325d..0000000000000000000000000000000000000000\nBinary files a/secrets/bots/shanbot/config.toml and /dev/null differ\ndiff --git a/secrets/pds.env b/secrets/pds.env\ndeleted file mode 100644\nindex 13350df41b2d5a366ee38aad1ce91ab7c3ed254b..0000000000000000000000000000000000000000\nBinary files a/secrets/pds.env and /dev/null differ\ndiff --git a/services/atmo.lol.nix b/services/atmo.lol.nix\ndeleted file mode 100644\nindex b4505f046634a1b0958158e8b6327d9f3f7d6909..0000000000000000000000000000000000000000\n--- a/services/atmo.lol.nix\n+++ /dev/null\n@@ -1,21 +0,0 @@\n-{\n- virtualisation.oci-containers.containers = {\n- atmolol_frontend = {\n- image = \"atmolol_frontend:latest\";\n- ports = [\"8001:3000\"];\n- networks = [\"atproto\"];\n- autoStart = true;\n- };\n- atmolol_backend = {\n- image = \"atmolol_backend:latest\";\n- ports = [\"8002:3000\"];\n- networks = [\"atproto\"];\n- autoStart = true;\n- };\n- };\n-\n- services.caddy.virtualHosts = {\n- \"www.atmo.lol\".extraConfig = \"reverse_proxy http://localhost:8001\";\n- \"atmo.lol\".extraConfig = \"reverse_proxy http://localhost:8002\";\n- };\n-}\ndiff --git a/services/bots.nix b/services/bots.nix\ndeleted file mode 100644\nindex 71be018705fc4961ab156cd85bc9016f43d488b9..0000000000000000000000000000000000000000\n--- a/services/bots.nix\n+++ /dev/null\n@@ -1,35 +0,0 @@\n-{\n- virtualisation.oci-containers.containers = {\n- karxbot_private = {\n- image = \"ayanamibot:latest\";\n- volumes = [\n- \"/opt/bots/karxbot_private/config.toml:/app/config.toml\"\n- \"/opt/bots/karxbot_private/characters.toml:/app/characters.toml\"\n- \"/opt/bots/karxbot_private/database:/app/database\"\n- ];\n- environment = {\n- ENABLE_RP = \"1\";\n- };\n- autoStart = true;\n- };\n-\n- shanbot = {\n- image = \"ayanamibot:latest\";\n- volumes = [\n- \"/opt/bots/shanbot/config.toml:/app/config.toml\"\n- \"/opt/bots/shanbot/database:/app/database\"\n- ];\n- environment = {\n- ENABLE_ROLES = \"1\";\n- ENABLE_GAMBLING = \"1\";\n- ENABLE_STARBOARD = \"1\";\n- };\n- autoStart = true;\n- };\n- };\n-\n- system.activationScripts.copyBotEnvs = ''\n- mkdir -p /opt/bots\n- cp -r ${../secrets/bots}/* /opt/bots/.\n- '';\n-}\ndiff --git a/services/cockpit.nix b/services/cockpit.nix\ndeleted file mode 100644\nindex 83103581c108effc1d6a4cb8e1467c103f78a3f6..0000000000000000000000000000000000000000\n--- a/services/cockpit.nix\n+++ /dev/null\n@@ -1,6 +0,0 @@\n-{\n- services.cockpit = {\n- enable = true;\n- openFirewall = true;\n- };\n-}\ndiff --git a/services/common.nix b/services/common.nix\ndeleted file mode 100644\nindex 4617b84c9233368ee889d945aa1065b98b83d993..0000000000000000000000000000000000000000\n--- a/services/common.nix\n+++ /dev/null\n@@ -1,12 +0,0 @@\n-{pkgs, ...}: {\n- services.caddy.enable = true;\n- systemd.services.\"podman-network-atproto\" = {\n- serviceConfig.Type = \"oneshot\";\n- script = ''\n- ${pkgs.podman}/bin/podman network inspect atproto > /dev/null 2>&1 || \\\n- ${pkgs.podman}/bin/podman network create atproto\n- '';\n- wantedBy = [\"multi-user.target\"];\n- };\n- networking.firewall.allowedTCPPorts = [443 80];\n-}\ndiff --git a/services/knotserver.nix b/services/knotserver.nix\ndeleted file mode 100644\nindex c621cc316e493765593b2e2d24f468ece5fd38de..0000000000000000000000000000000000000000\n--- a/services/knotserver.nix\n+++ /dev/null\n@@ -1,15 +0,0 @@\n-{\n- services.tangled-knotserver = {\n- enable = true;\n- server = {\n- hostname = \"knot.mchal.lol:5555\";\n- listenAddr = \"0.0.0.0:5555\";\n- secretFile = ../secrets/.knot.env;\n- };\n- stateDir = \"/opt/knot\";\n- };\n-\n- services.caddy.virtualHosts = {\n- \"knot.mchal.lol\".extraConfig = \"reverse_proxy http://localhost:5555\";\n- };\n-}\ndiff --git a/services/matrix.nix b/services/matrix.nix\ndeleted file mode 100644\nindex 7f01a7ae3f5c9a7bd184a8ef974ca981eecc24c4..0000000000000000000000000000000000000000\n--- a/services/matrix.nix\n+++ /dev/null\n@@ -1,18 +0,0 @@\n-{\n- services.matrix-synapse = {\n- enable = true;\n- dataDir = \"/opt/synapse\";\n- enableRegistrationScript = true;\n- settings = {\n- server_name = \"matrix.mchal.lol\";\n- public_baseurl = \"https://matrix.mchal.lol\";\n- database.name = \"sqlite3\";\n- };\n- };\n-\n- services.caddy.virtualHosts = {\n- \"matrix.mchal.lol\".extraConfig = ''\n- reverse_proxy http://localhost:8008\n- '';\n- };\n-}\ndiff --git a/services/pds.nix b/services/pds.nix\ndeleted file mode 100644\nindex aa71887512f66717107797ccb4ef3679a3f96916..0000000000000000000000000000000000000000\n--- a/services/pds.nix\n+++ /dev/null\n@@ -1,16 +0,0 @@\n-{\n- services.pds = {\n- enable = true;\n- environmentFiles = [../secrets/pds.env];\n- pdsadmin.enable = true;\n- settings = {\n- PDS_HOSTNAME = \"pds.mchal.lol\";\n- PDS_PORT = 6010;\n- PDS_SERVICE_HANDLE_DOMAINS = \".pds.mchal.lol\";\n- };\n- };\n-\n- services.caddy.virtualHosts = {\n- \"pds.mchal.lol\".extraConfig = \"reverse_proxy http://localhost:6010\";\n- };\n-}\ndiff --git a/services/syncthing.nix b/services/syncthing.nix\ndeleted file mode 100644\nindex b6d5a64cc4ea8f04158672ad27d790ff668c1ba8..0000000000000000000000000000000000000000\n--- a/services/syncthing.nix\n+++ /dev/null\n@@ -1,15 +0,0 @@\n-{\n- services.syncthing = {\n- enable = true;\n- openDefaultPorts = true;\n- dataDir = \"/opt/syncthing\";\n- };\n-\n- services.caddy.virtualHosts = {\n- \"sync.mchal.lol\".extraConfig = ''\n- reverse_proxy http://127.0.0.1:8384 {\n- header_up Host {upstream_hostport}\n- }\n- '';\n- };\n-}\ndiff --git a/services/vaultwarden.nix b/services/vaultwarden.nix\ndeleted file mode 100644\nindex f25dfe71b62895301a56813d18264c768e0050a7..0000000000000000000000000000000000000000\n--- a/services/vaultwarden.nix\n+++ /dev/null\n@@ -1,16 +0,0 @@\n-{\n- services = {\n- vaultwarden = {\n- enable = true;\n- backupDir = \"/opt/vaultwarden\";\n- config = {\n- SIGNUPS_ALLOWED = false;\n- ROCKET_ADDRESS = \"::1\";\n- ROCKET_PORT = 8222;\n- };\n- };\n- caddy.virtualHosts = {\n- \"vault.mchal.lol\".extraConfig = \"reverse_proxy http://localhost:8222\";\n- };\n- };\n-}\ndiff --git a/users/michal/base.nix b/users/michal/base.nix\ndeleted file mode 100644\nindex 0d702fb1cae8e0f7c1c23eee63879dc8d1ced83d..0000000000000000000000000000000000000000\n--- a/users/michal/base.nix\n+++ /dev/null\n@@ -1,31 +0,0 @@\n-{\n- pkgs,\n- lib,\n- ...\n-}: {\n- home = {\n- username = lib.mkDefault \"michal\";\n- homeDirectory = lib.mkDefault \"/home/michal\";\n- stateVersion = lib.mkDefault \"24.11\";\n- };\n-\n- home.file.\".face\".source = ./var/pfp.png;\n- home.file.\".wallpaper.png\".source = ./var/wallpaper.png;\n-\n- # Hyprland\n- home.file.\".config/hyprpanel\" = {\n- source = ./config/hyprpanel;\n- recursive = true;\n- };\n- home.file.\".config/rofi/config.rasi\".source = ./config/rofi/config.rasi;\n-\n- wayland.windowManager.hyprland = {\n- enable = true;\n- plugins = with pkgs.hyprlandPlugins; [hyprgrass];\n- extraConfig = lib.strings.fileContents ./config/hypr/hyprland.conf;\n- };\n-\n- home.sessionVariables.NIXOS_OZONE_WL = \"1\";\n-\n- stylix.targets.zed.enable = true;\n-}\ndiff --git a/users/michal/config/hypr/hyprland.conf b/users/michal/config/hypr/hyprland.conf\ndeleted file mode 100644\nindex 98e625cabba5fe98cde2f9d6309913e77bbf53da..0000000000000000000000000000000000000000\n--- a/users/michal/config/hypr/hyprland.conf\n+++ /dev/null\n@@ -1,317 +0,0 @@\n-\n-# #######################################################################################\n-# AUTOGENERATED HYPRLAND CONFIG.\n-# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT,\n-# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.\n-# #######################################################################################\n-\n-\n-# This is an example Hyprland config file.\n-# Refer to the wiki for more information.\n-# https://wiki.hyprland.org/Configuring/\n-\n-# Please note not all available settings / options are set here.\n-# For a full list, see the wiki\n-\n-# You can split this configuration into multiple files\n-# Create your files separately and then link them to this file like this:\n-# source = ~/.config/hypr/myColors.conf\n-\n-\n-################\n-### MONITORS ###\n-################\n-\n-# See https://wiki.hyprland.org/Configuring/Monitors/\n-#monitor=,1360x768@60,0x0,1\n-monitor=eDP-1,preferred,auto,auto,transform, 1\n-device {\n- name = nvtk0603:00-0603:f001\n- transform = 1 \n-}\n-monitor=DP-2,preferred,auto,1\n-monitor=DP-3,preferred,auto,1\n-\n-\n-###################\n-### MY PROGRAMS ###\n-###################\n-\n-# See https://wiki.hyprland.org/Configuring/Keywords/\n-\n-# Set programs that you use\n-$terminal = kitty\n-$fileManager = dolphin\n-$menu = rofi -show drun\n-\n-\n-#################\n-### AUTOSTART ###\n-#################\n-\n-# Autostart necessary processes (like notifications daemons, status bars, etc.)\n-# Or execute your favorite apps at launch like this:\n-\n-exec-once = $terminal\n-exec-once = wvkbd-mobintl -L 250\n-exec-once = hyprpanel & hyprpaper & vesktop\n-\n-\n-#############################\n-### ENVIRONMENT VARIABLES ###\n-#############################\n-\n-# See https://wiki.hyprland.org/Configuring/Environment-variables/\n-\n-env = XCURSOR_SIZE,24\n-env = HYPRCURSOR_SIZE,24\n-\n-\n-#####################\n-### LOOK AND FEEL ###\n-#####################\n-\n-# Refer to https://wiki.hyprland.org/Configuring/Variables/\n-\n-# https://wiki.hyprland.org/Configuring/Variables/#general\n-general {\n- gaps_in = 5\n- gaps_out = 20\n-\n- border_size = 2\n-\n- # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors\n- col.active_border = rgba(ffffffee) rgba(7e7e7eee) 45deg\n- col.inactive_border = rgba(595959aa)\n-\n- # Set to true enable resizing windows by clicking and dragging on borders and gaps\n- resize_on_border = false\n-\n- # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on\n- allow_tearing = false\n-\n- layout = dwindle\n-}\n-\n-# https://wiki.hyprland.org/Configuring/Variables/#decoration\n-decoration {\n- rounding = 5\n- rounding_power = 2\n-\n- # Change transparency of focused and unfocused windows\n- active_opacity = 1.0\n- inactive_opacity = 0.8\n-\n- shadow {\n- enabled = true\n- range = 4\n- render_power = 3\n- color = rgba(1a1a1aee)\n- }\n-\n- # https://wiki.hyprland.org/Configuring/Variables/#blur\n- blur {\n- enabled = true\n- size = 3\n- passes = 1\n-\n- vibrancy = 0.1696\n- }\n-\n- dim_inactive = true\n- dim_strength = 0.2\n-}\n-\n-# https://wiki.hyprland.org/Configuring/Variables/#animations\n-animations {\n- enabled = yes, please :)\n-\n- # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more\n-\n- bezier = easeOutQuint,0.23,1,0.32,1\n- bezier = easeInOutCubic,0.65,0.05,0.36,1\n- bezier = linear,0,0,1,1\n- bezier = almostLinear,0.5,0.5,0.75,1.0\n- bezier = quick,0.15,0,0.1,1\n-\n- animation = global, 1, 10, default\n- animation = border, 1, 5.39, easeOutQuint\n- animation = windows, 1, 4.79, easeOutQuint\n- animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%\n- animation = windowsOut, 1, 1.49, linear, popin 87%\n- animation = fadeIn, 1, 1.73, almostLinear\n- animation = fadeOut, 1, 1.46, almostLinear\n- animation = fade, 1, 3.03, quick\n- animation = layers, 1, 3.81, easeOutQuint\n- animation = layersIn, 1, 4, easeOutQuint, fade\n- animation = layersOut, 1, 1.5, linear, fade\n- animation = fadeLayersIn, 1, 1.79, almostLinear\n- animation = fadeLayersOut, 1, 1.39, almostLinear\n- animation = workspaces, 1, 1.94, almostLinear, fade\n- animation = workspacesIn, 1, 1.21, almostLinear, fade\n- animation = workspacesOut, 1, 1.94, almostLinear, fade\n-}\n-\n-# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/\n-# \"Smart gaps\" / \"No gaps when only\"\n-# uncomment all if you wish to use that.\n-# workspace = w[tv1], gapsout:0, gapsin:0\n-# workspace = f[1], gapsout:0, gapsin:0\n-# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]\n-# windowrule = rounding 0, floating:0, onworkspace:w[tv1]\n-# windowrule = bordersize 0, floating:0, onworkspace:f[1]\n-# windowrule = rounding 0, floating:0, onworkspace:f[1]\n-\n-# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more\n-dwindle {\n- pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below\n- preserve_split = true # You probably want this\n-}\n-\n-# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more\n-master {\n- new_status = master\n-}\n-\n-# https://wiki.hyprland.org/Configuring/Variables/#misc\n-misc {\n- force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers\n- disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(\n-}\n-\n-\n-#############\n-### INPUT ###\n-#############\n-\n-# https://wiki.hyprland.org/Configuring/Variables/#input\n-input {\n- kb_layout = gb\n- kb_variant =\n- kb_model =\n- kb_options =\n- kb_rules =\n- numlock_by_default = true\n-\n- follow_mouse = 1\n-\n- sensitivity = 0 # -1.0 - 1.0, 0 means no modification.\n-\n- touchpad {\n- natural_scroll = false\n- }\n-}\n-\n-# https://wiki.hyprland.org/Configuring/Variables/#gestures\n-gestures {\n- workspace_swipe = false\n-}\n-\n-# Example per-device config\n-# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more\n-device {\n- name = epic-mouse-v1\n- sensitivity = -0.5\n-}\n-\n-\n-###################\n-### KEYBINDINGS ###\n-###################\n-\n-# See https://wiki.hyprland.org/Configuring/Keywords/\n-$mainMod = SUPER # Sets \"Windows\" key as main modifier\n-\n-# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more\n-bind = $mainMod, Q, exec, $terminal\n-bind = $mainMod, C, killactive,\n-bind = $mainMod, M, exit,\n-bind = $mainMod, E, exec, $fileManager\n-bind = $mainMod, V, togglefloating,\n-bind = $mainMod, R, exec, $menu\n-bind = $mainMod, P, pseudo, # dwindle\n-bind = $mainMod, J, togglesplit, # dwindle\n-\n-# Move focus with mainMod + arrow keys\n-bind = $mainMod, left, movefocus, l\n-bind = $mainMod, right, movefocus, r\n-bind = $mainMod, up, movefocus, u\n-bind = $mainMod, down, movefocus, d\n-\n-# Switch workspaces with mainMod + [0-9]\n-bind = $mainMod, 1, workspace, 1\n-bind = $mainMod, 2, workspace, 2\n-bind = $mainMod, 3, workspace, 3\n-bind = $mainMod, 4, workspace, 4\n-bind = $mainMod, 5, workspace, 5\n-bind = $mainMod, 6, workspace, 6\n-bind = $mainMod, 7, workspace, 7\n-bind = $mainMod, 8, workspace, 8\n-bind = $mainMod, 9, workspace, 9\n-bind = $mainMod, 0, workspace, 10\n-\n-# Move active window to a workspace with mainMod + SHIFT + [0-9]\n-bind = $mainMod SHIFT, 1, movetoworkspace, 1\n-bind = $mainMod SHIFT, 2, movetoworkspace, 2\n-bind = $mainMod SHIFT, 3, movetoworkspace, 3\n-bind = $mainMod SHIFT, 4, movetoworkspace, 4\n-bind = $mainMod SHIFT, 5, movetoworkspace, 5\n-bind = $mainMod SHIFT, 6, movetoworkspace, 6\n-bind = $mainMod SHIFT, 7, movetoworkspace, 7\n-bind = $mainMod SHIFT, 8, movetoworkspace, 8\n-bind = $mainMod SHIFT, 9, movetoworkspace, 9\n-bind = $mainMod SHIFT, 0, movetoworkspace, 10\n-\n-# Example special workspace (scratchpad)\n-bind = $mainMod, S, togglespecialworkspace, magic\n-bind = $mainMod SHIFT, S, movetoworkspace, special:magic\n-\n-# Scroll through existing workspaces with mainMod + scroll\n-bind = $mainMod, mouse_down, workspace, e+1\n-bind = $mainMod, mouse_up, workspace, e-1\n-\n-# Move/resize windows with mainMod + LMB/RMB and dragging\n-bindm = $mainMod, mouse:272, movewindow\n-bindm = $mainMod, mouse:273, resizewindow\n-\n-# Laptop multimedia keys for volume and LCD brightness\n-bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+\n-bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-\n-bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle\n-bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle\n-bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+\n-bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-\n-\n-# Requires playerctl\n-bindl = , XF86AudioNext, exec, playerctl next\n-bindl = , XF86AudioPause, exec, playerctl play-pause\n-bindl = , XF86AudioPlay, exec, playerctl play-pause\n-bindl = , XF86AudioPrev, exec, playerctl previous\n-\n-##############################\n-### WINDOWS AND WORKSPACES ###\n-##############################\n-\n-# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more\n-# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules\n-\n-# Example windowrule\n-# windowrule = float,class:^(kitty)$,title:^(kitty)$\n-\n-# Ignore maximize requests from apps. You'll probably like this.\n-windowrule = suppressevent maximize, class:.*\n-\n-# Fix some dragging issues with XWayland\n-windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0\n-\n-####################\n-### EXTRA CUSTOM ###\n-####################\n-hyprgrass-bind = , edge:d:u, exec, kill -34 $(ps -C wvkbd-mobintl | xargs | cut -d' ' -f5)\n-exec-once = hyprctl setcursor Adwaita 24\n-plugin {\n- touch_gestures {\n- sensitivity = 4.0\n- edge_margin = 50\n- }\n-}\ndiff --git a/users/michal/config/hyprpanel/config.json b/users/michal/config/hyprpanel/config.json\ndeleted file mode 100644\nindex 0e6cf050cf860b34bdd2d182005c9a53709dc7ef..0000000000000000000000000000000000000000\n--- a/users/michal/config/hyprpanel/config.json\n+++ /dev/null\n@@ -1,103 +0,0 @@\n-{\n- \"theme.font.size\": \"0.75rem\",\n- \"theme.bar.menus.enableShadow\": false,\n- \"tear\": false,\n- \"menus.dashboard.powermenu.avatar.image\": \"/home/michal/.face\",\n- \"menus.power.showLabel\": true,\n- \"theme.bar.floating\": false,\n- \"theme.bar.buttons.enableBorders\": false,\n- \"theme.bar.enableShadow\": false,\n- \"bar.launcher.autoDetectIcon\": true,\n- \"bar.workspaces.show_icons\": false,\n- \"bar.workspaces.show_numbered\": false,\n- \"bar.network.label\": true,\n- \"bar.network.showWifiInfo\": false,\n- \"menus.clock.weather.enabled\": true,\n- \"bar.battery.label\": true,\n- \"theme.bar.menus.menu.battery.scaling\": 100,\n- \"bar.layouts\": {\n- \"0\": {\n- \"left\": [\n- \"dashboard\",\n- \"workspaces\",\n- \"windowtitle\"\n- ],\n- \"middle\": [\n- \"media\"\n- ],\n- \"right\": [\n- \"volume\",\n- \"network\",\n- \"bluetooth\",\n- \"systray\",\n- \"clock\",\n- \"notifications\"\n- ]\n- },\n- \"1\": {\n- \"left\": [\n- \"dashboard\",\n- \"workspaces\",\n- \"windowtitle\"\n- ],\n- \"middle\": [\n- \"media\"\n- ],\n- \"right\": [\n- \"volume\",\n- \"clock\",\n- \"notifications\"\n- ]\n- },\n- \"2\": {\n- \"left\": [\n- \"dashboard\",\n- \"workspaces\",\n- \"windowtitle\"\n- ],\n- \"middle\": [\n- \"media\"\n- ],\n- \"right\": [\n- \"volume\",\n- \"clock\",\n- \"notifications\"\n- ]\n- }\n- },\n- \"theme.bar.border.location\": \"none\",\n- \"theme.bar.buttons.dashboard.enableBorder\": false,\n- \"theme.font.weight\": 600,\n- \"theme.font.name\": \"Ubuntu Nerd Font\",\n- \"theme.font.label\": \"Ubuntu Nerd Font\",\n- \"wallpaper.pywal\": false,\n- \"wallpaper.image\": \"/home/michal/.wallpaper.png\",\n- \"theme.bar.menus.monochrome\": false,\n- \"theme.matugen\": true,\n- \"theme.matugen_settings.mode\": \"dark\",\n- \"theme.matugen_settings.scheme_type\": \"tonal-spot\",\n- \"theme.matugen_settings.variation\": \"standard_1\",\n- \"theme.bar.transparent\": false,\n- \"menus.dashboard.shortcuts.left.shortcut4.command\": \"rofi -show drun\",\n- \"menus.dashboard.shortcuts.left.shortcut3.command\": \"vesktop\",\n- \"menus.dashboard.shortcuts.left.shortcut1.command\": \"firefox\",\n- \"menus.dashboard.shortcuts.left.shortcut1.icon\": \"\",\n- \"menus.dashboard.shortcuts.left.shortcut1.tooltip\": \"Firefox\",\n- \"menus.dashboard.shortcuts.left.shortcut2.tooltip\": \"Zed\",\n- \"menus.dashboard.shortcuts.left.shortcut2.command\": \"zeditor\",\n- \"menus.dashboard.shortcuts.left.shortcut2.icon\": \"\",\n- \"bar.launcher.icon\": \"\",\n- \"bar.workspaces.showWsIcons\": true,\n- \"bar.workspaces.showApplicationIcons\": true,\n- \"theme.bar.buttons.innerRadiusMultiplier\": \"0.4\",\n- \"theme.bar.buttons.radius\": \"0.3em\",\n- \"bar.notifications.show_total\": true,\n- \"menus.media.displayTime\": true,\n- \"menus.clock.time.military\": true,\n- \"menus.clock.time.hideSeconds\": false,\n- \"menus.clock.weather.unit\": \"metric\",\n- \"bar.clock.format\": \"%a %b %d %H:%M:%S\",\n- \"bar.clock.icon\": \"\",\n- \"theme.bar.buttons.clock.spacing\": \"0.5em\",\n- \"bar.clock.showIcon\": false\n-}\ndiff --git a/users/michal/config/hyprpanel/modules.json b/users/michal/config/hyprpanel/modules.json\ndeleted file mode 100644\nindex 9e26dfeeb6e641a33dae4961196235bdb965b21b..0000000000000000000000000000000000000000\n--- a/users/michal/config/hyprpanel/modules.json\n+++ /dev/null\n@@ -1 +0,0 @@\n-{}\n\\ No newline at end of file\ndiff --git a/users/michal/config/hyprpanel/modules.scss b/users/michal/config/hyprpanel/modules.scss\ndeleted file mode 100644\nindex e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000\nBinary files a/users/michal/config/hyprpanel/modules.scss and /dev/null differ\ndiff --git a/users/michal/config/onagre/theme.scss b/users/michal/config/onagre/theme.scss\ndeleted file mode 100644\nindex 13e3e43906f8f2830de50d91dc5b4376c2e8aa1e..0000000000000000000000000000000000000000\n--- a/users/michal/config/onagre/theme.scss\n+++ /dev/null\n@@ -1,4 +0,0 @@\n-.onagre {\n- --icon-theme: \"Adwaita\";\n- --font-family: \"JetBrains Mono,JetBrains Mono Nerd Font\";\n-}\ndiff --git a/users/michal/config/rofi/config.rasi b/users/michal/config/rofi/config.rasi\ndeleted file mode 100644\nindex 6485ec460a328de0f7ab096eed1f5c8d3d84f459..0000000000000000000000000000000000000000\n--- a/users/michal/config/rofi/config.rasi\n+++ /dev/null\n@@ -1,92 +0,0 @@\n-configuration {\n-\tmodi:\t\t\t\t\"drun\";\n-\tfont:\t\t\t\t\"JetBrains Mono Nerd Font 10\";\n-\tshow-icons: true;\n-\ticon-theme: \t\t\t\"Reversal-dark\";\n-\tdisplay-drun: \t\t\t\"\";\n-\tdrun-display-format: \"{name}\";\n-\tsidebar-mode: \t\t\tfalse;\n-}\n-\n-@theme \"/dev/null\"\n-\n-* {\n-\tbg:\t\t\t\t#151515;\n-\tfg:\t\t\t\t#e8e8d3;\n-\taccent:\t\t\t\t#687363;\n-\tbutton:\t\t\t\t#1c1c1c;\n-\n-\tbackground-color:\t\t@bg;\n-\ttext-color:\t\t\t@fg;\n-}\n-\n-window {\n-\tborder-radius: 7px;\n-\twidth:\t\t\t \t50%;\n-\tpadding: \t\t\t32px;\n-}\n-\n-prompt {\n-\tbackground-color:\t\t@button;\n-\tenabled:\t\t\ttrue;\n-\tpadding:\t\t\t0.5% 32px 0% -0.5%;\n-\tfont:\t\t\t\t\"JetBrains Mono Nerd Font 10\";\n-}\n-\n-entry {\n- \tplaceholder:\t\t\t\"Search\";\n-\tbackground-color: @button;\n- \tplaceholder-color: @fg;\n- \texpand: true;\n- \tpadding: 0.15% 0% 0% 0%;\n-}\n-\n-inputbar {\n-\tchildren:\t\t\t[ prompt, entry ];\n- \tbackground-color: @button;\n- \texpand: false;\n- \tborder-radius: 6px;\n- \tmargin: 0%;\n- \tpadding: 10px;\n-}\n-\n-listview {\n- \tcolumns: 4;\n- \tlines:\t 3;\n- \tcycle: false;\n- \tdynamic: true;\n- \tlayout: vertical;\n-}\n-\n-mainbox {\n- \tchildren: [ inputbar, listview ];\n- \tspacing: \t2%;\n- \tpadding: 2% 1% 2% 1%;\n-}\n-\n-element {\n- \torientation: vertical;\n- \tpadding: 2% 0% 2% 0%;\n-}\n-\n-element-icon {\n- \tsize: 48px;\n- \thorizontal-align:\t \t0.5;\n-}\n-\n-element-text {\n- \texpand: true;\n- \thorizontal-align: 0.5;\n- \tvertical-align: 0.5;\n- \tmargin: 0.5% 0.5% -0.5% 0.5%;\n-}\n-\n-element-text, element-icon {\n-\tbackground-color:\t\tinherit;\n-\ttext-color:\t\t\tinherit;\n-}\n-\n-element selected {\n- \tbackground-color: @button;\n- \tborder-radius: 6px;\n-}\ndiff --git a/users/michal/git.nix b/users/michal/git.nix\ndeleted file mode 100644\nindex 921c63f24243befee4512bdfcf4409080ee96171..0000000000000000000000000000000000000000\n--- a/users/michal/git.nix\n+++ /dev/null\n@@ -1,23 +0,0 @@\n-{\n- lib,\n- pkgs,\n- ...\n-}: {\n- programs.git = {\n- enable = true;\n- userName = \"Michal S.\";\n- userEmail = \"me@mchal.lol\";\n- signing = {\n- key = \"3958C1974D0E77ED3C6B083826B6F2A07E8E1A2B\";\n- signByDefault = true;\n- };\n- extraConfig = {\n- safe.directory = \"*\";\n- init.defaultBranch = \"main\";\n- };\n- };\n-\n- home.packages = with pkgs; [\n- git-crypt\n- ];\n-}\ndiff --git a/users/michal/gpg.nix b/users/michal/gpg.nix\ndeleted file mode 100644\nindex 281bd59966ffd5ac716346ddeb67e7fdef88c2b3..0000000000000000000000000000000000000000\n--- a/users/michal/gpg.nix\n+++ /dev/null\n@@ -1,19 +0,0 @@\n-{\n- lib,\n- pkgs,\n- ...\n-}: {\n- programs.gpg = {\n- enable = true;\n- scdaemonSettings = {\n- card-timeout = \"5\";\n- disable-ccid = true;\n- };\n- };\n-\n- services.gpg-agent = {\n- enable = true;\n- enableSshSupport = true;\n- enableScDaemon = true;\n- };\n-}\ndiff --git a/users/michal/shell.nix b/users/michal/shell.nix\ndeleted file mode 100644\nindex 4671c6c75f0fdd00d7c517ab98fab9562eacf03b..0000000000000000000000000000000000000000\n--- a/users/michal/shell.nix\n+++ /dev/null\n@@ -1,111 +0,0 @@\n-{pkgs, ...}: {\n- programs = {\n- fish = {\n- enable = true;\n- functions = {\n- fish_greeting = \"\";\n- };\n- shellAliases = {\n- cat = \"bat\";\n- cd = \"z\";\n- htop = \"btop\";\n- };\n- shellAbbrs = {nix-shell = \"nix-shell --run fish\";};\n- shellInit = ''\n- set -x HOSTNAME (hostname)\n-\n- set DIRENV_LOG_FORMAT \"\"\n- set SHELL ${pkgs.fish.out}/bin/fish\n-\n- if type -q uwsm\n- uwsm check may-start && uwsm start default &> /dev/null\n- end\n- '';\n- plugins = [\n- {\n- name = \"tide\";\n- src = pkgs.fetchFromGitHub {\n- owner = \"IlanCosman\";\n- repo = \"tide\";\n- rev = \"d715de0a2ab4e33f202d30f5c6bd8da9cfc6c310\";\n- sha256 = \"6ys1SEfcWO0cRRNawrpnUU9tPJVVZ0E6RcPmrE9qG5g=\";\n- };\n- }\n-\n- {\n- name = \"bass\";\n- src = pkgs.fetchFromGitHub {\n- owner = \"edc\";\n- repo = \"bass\";\n- rev = \"2fd3d2157d5271ca3575b13daec975ca4c10577a\";\n- sha256 = \"fl4/Pgtkojk5AE52wpGDnuLajQxHoVqyphE90IIPYFU=\";\n- };\n- }\n-\n- {\n- name = \"sponge\";\n- src = pkgs.fetchFromGitHub {\n- owner = \"andreiborisov\";\n- repo = \"sponge\";\n- rev = \"dcfcc9089939f48b25b861a9254a39de8e9f33a0\";\n- sha256 = \"+GGfFC/hH7A8n9Wwojt5PW96fSzvRhThnZ3pLeWEqds=\";\n- };\n- }\n-\n- {\n- name = \"fish-plugin-sudo\";\n- src = pkgs.fetchFromGitHub {\n- owner = \"eth-p\";\n- repo = \"fish-plugin-sudo\";\n- rev = \"e153fdea568cd370312f9c0809fac15fc7582bfd\";\n- sha256 = \"bTK34G+J6AOoYmhOIG0XNXV2SN/u789+epXMBN3lnu4=\";\n- };\n- }\n-\n- {\n- name = \"puffer-fish\";\n- src = pkgs.fetchFromGitHub {\n- owner = \"nickeb96\";\n- repo = \"puffer-fish\";\n- rev = \"df333fff5130ef8bf153c9bafbf0661534f81d9c\";\n- sha256 = \"VtFrRzI476Hkutwwgkkc9hoiCma6Xyknm7xHeghrLxo=\";\n- };\n- }\n- ];\n- };\n- fzf = {\n- enable = true;\n- enableFishIntegration = true;\n- };\n- zoxide = {\n- enable = true;\n- enableFishIntegration = true;\n- };\n- direnv = {\n- enable = true;\n- nix-direnv.enable = true;\n- };\n- };\n-\n- services.gpg-agent.enableFishIntegration = true;\n-\n- home.packages = with pkgs; [\n- asciinema\n- bat\n- btop\n- duf\n- fd\n- zellij\n- zoxide\n- neofetch\n- ncdu\n-\n- gnupg\n- direnv\n-\n- hostname\n- ncurses\n-\n- vim\n- ];\n-}\ndiff --git a/users/michal/var/pfp.png b/users/michal/var/pfp.png\ndeleted file mode 100644\nindex cc8eef3c51e064a08b020365f25973f862e900b7..0000000000000000000000000000000000000000\nBinary files a/users/michal/var/pfp.png and /dev/null differ\ndiff --git a/users/michal/var/wallpaper.png b/users/michal/var/wallpaper.png\ndeleted file mode 100644\nindex 39620ee3ec67a5012d88688f520e953b72e8334d..0000000000000000000000000000000000000000\nBinary files a/users/michal/var/wallpaper.png and /dev/null differ\n", "title": "Draft: lite-config rewrite", "pullId": 1, "source": { "branch": "lite-config" }, "targetRepo": "at://did:plc:w3aonw33w3mz3mwws34x5of6/sh.tangled.repo/3lmilepws7t22", "targetBranch": "main" } }