diff --git a/common/networking/hosts.nix b/common/networking/hosts.nix index 2f11d39..dfe592c 100644 --- a/common/networking/hosts.nix +++ b/common/networking/hosts.nix @@ -15,6 +15,8 @@ _: { 10.147.17.246 uptime.zerotier.gwg313.xyz 10.147.17.246 hdoc.zerotier.gwg313.xyz 10.147.17.246 cache.zerotier.gwg313.xyz + 10.147.17.246 a3-dev.zerotier.gwg313.xyz + 10.147.17.246 argocd.zerotier.gwg313.xyz @@ -31,5 +33,6 @@ _: { 10.1.10.9 uptime.gwg313.xyz 10.1.10.50 hdoc.gwg313.xyz 10.1.10.13 cache.gwg313.xyz + 10.1.10.50 a3-dev.gwg313.xyz ''; } diff --git a/common/nixos/common.nix b/common/nixos/common.nix index c7ea2bf..bcacb34 100644 --- a/common/nixos/common.nix +++ b/common/nixos/common.nix @@ -35,16 +35,15 @@ substituters = [ # "https://cache.gwg313.xyz/mycache?priority=5" "https://cache.nixos.org?priority=10" + "https://hyprland.cachix.org" "https://nix-community.cachix.org" - "https://cache.garnix.io" "https://numtide.cachix.org" ]; trusted-public-keys = [ # "mycache:ovUjiiyQNUGjK8yZA4dPV1f8tIfCZrGIubdWvWpdvtc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" "numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE=" ]; experimental-features = [ @@ -52,6 +51,7 @@ "flakes" ]; auto-optimise-store = true; + download-buffer-size = 262144000; # 250 MB (250 * 1024 * 1024) trusted-users = [ "${user}" ]; }; optimise.automatic = true; diff --git a/common/nixos/restic.nix b/common/nixos/restic.nix index cb89774..70d2db6 100644 --- a/common/nixos/restic.nix +++ b/common/nixos/restic.nix @@ -24,10 +24,11 @@ "/home/${user}/repos" "/home/${user}/Documents" "/home/${user}/.local/share/password-store" + "/home/${user}/zettelkasten" ]; # extraBackupArgs = [ "--exclude-file=/home/gwg313/Documents/Celsus" ]; timerConfig = { - OnCalendar = "06:40"; + OnCalendar = "12:40"; }; }; }; diff --git a/common/nixos/ssh/ssh.nix b/common/nixos/ssh/ssh.nix index 273e758..f859b2d 100644 --- a/common/nixos/ssh/ssh.nix +++ b/common/nixos/ssh/ssh.nix @@ -22,14 +22,14 @@ # prevent TCP ports from being forwarded over SSH tunnels # **please be aware that disabling TCP forwarding does not prevent port forwarding** # any user with an interactive login shell can spin up his/her own instance of sshd - AllowTcpForwarding = false; + AllowTcpForwarding = true; # prevent StreamLocal (Unix-domain socket) forwarding AllowStreamLocalForwarding = false; # disables all forwarding features # overrides all other forwarding switches - DisableForwarding = true; + DisableForwarding = false; # disallow remote hosts from connecting to forwarded ports # i.e. forwarded ports are forced to bind to 127.0.0.1 instad of 0.0.0.0 diff --git a/common/nixos/sysctl/networking/net.nix b/common/nixos/sysctl/networking/net.nix index fe281dd..b7ce139 100644 --- a/common/nixos/sysctl/networking/net.nix +++ b/common/nixos/sysctl/networking/net.nix @@ -1,8 +1,4 @@ -{ - config, - pkgs, - ... -}: { +_: { boot.kernel.sysctl = { # increase the maximum length of processor input queues "net.core.netdev_max_backlog" = 250000; diff --git a/common/style/stylix.nix b/common/style/stylix.nix index 1334e62..aa8688b 100644 --- a/common/style/stylix.nix +++ b/common/style/stylix.nix @@ -1,10 +1,30 @@ { pkgs, ... }: { stylix = { - base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml"; + # base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml"; + + base16Scheme = { + base00 = "E5D68B"; # Default Background + base01 = "D3BA68"; # Lighter Background (selection bg / subtle UI) + base02 = "9D9870"; # Selection Background / secondary bg + base03 = "6F664D"; # Comments, Invisibles, Line Highlighting + base04 = "7E7769"; # Dark Foreground (Status bars / line numbers) + base05 = "3F321F"; # Default Foreground, Caret, Text + base06 = "3A3427"; # Light Foreground (rarely used) + base07 = "3A3427"; # Light Background (rarely used) + + base08 = "B5563A"; # Variables, Deleted (red-ish) + base09 = "A34700"; # Integers / Constants (orange) + base0A = "775700"; # Classes / Search Background (yellow) + base0B = "2A712D"; # Strings / Inserted (green) + base0C = "1C7E7E"; # Regex / Support / Quotes (cyan) + base0D = "1964A6"; # Functions / Headings / Methods (blue) + base0E = "5A2FCC"; # Keywords / Storage (purple) + base0F = "9D4750"; # Deprecated / Embedded tags (extra warm) + }; # base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool-light.yaml"; # image = ./wallpaper.jpg; - image = ../../wallpapers/nixos-wallpaper-catppuccin-latte.png; + image = ../../wallpapers/oasis.png; #polarity = "dark"; autoEnable = true; enable = true; diff --git a/common/style/vars/vars.nix b/common/style/vars/vars.nix index 6eae662..905dddc 100644 --- a/common/style/vars/vars.nix +++ b/common/style/vars/vars.nix @@ -34,25 +34,26 @@ enable = true; # See https://tinted-theming.github.io/tinted-gallery/ for more schemes - base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml"; - # base16Scheme = { - # base00 = "09090B"; # Default Background - # base01 = "1c1e1f"; # Lighter Background (Used for status bars, line number and folding marks) - # base02 = "313244"; # Selection Background - # base03 = "45475a"; # Comments, Invisibles, Line Highlighting - # base04 = "585b70"; # Dark Foreground (Used for status bars) - # base05 = "cdd6f4"; # Default Foreground, Caret, Delimiters, Operators - # base06 = "f5e0dc"; # Light Foreground (Not often used) - # base07 = "b4befe"; # Light Background (Not often used) - # base08 = "f38ba8"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted - # base09 = "fab387"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url - # base0A = "f9e2af"; # Classes, Markup Bold, Search Text Background - # base0B = "a6e3a1"; # Strings, Inherited Class, Markup Code, Diff Inserted - # base0C = "94e2d5"; # Support, Regular Expressions, Escape Characters, Markup Quotes - # base0D = "c5afd4"; # Functions, Methods, Attribute IDs, Headings, Accent color - # base0E = "cba6f7"; # Keywords, Storage, Selector, Markup Italic, Diff Changed - # base0F = "f2cdcd"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. - # }; + # base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml"; + base16Scheme = { + base00 = "E5D68B"; # Default Background + base01 = "D3BA68"; # Lighter Background (selection bg / subtle UI) + base02 = "9D9870"; # Selection Background / secondary bg + base03 = "6F664D"; # Comments, Invisibles, Line Highlighting + base04 = "7E7769"; # Dark Foreground (Status bars / line numbers) + base05 = "3F321F"; # Default Foreground, Caret, Text + base06 = "3A3427"; # Light Foreground (rarely used) + base07 = "3A3427"; # Light Background (rarely used) + + base08 = "B5563A"; # Variables, Deleted (red-ish) + base09 = "A34700"; # Integers / Constants (orange) + base0A = "775700"; # Classes / Search Background (yellow) + base0B = "2A712D"; # Strings / Inserted (green) + base0C = "1C7E7E"; # Regex / Support / Quotes (cyan) + base0D = "1964A6"; # Functions / Headings / Methods (blue) + base0E = "5A2FCC"; # Keywords / Storage (purple) + base0F = "9D4750"; # Deprecated / Embedded tags (extra warm) + }; cursor = { name = "phinger-cursors-light"; @@ -89,6 +90,6 @@ }; polarity = "light"; - image = ../../../wallpapers/nixos-wallpaper-catppuccin-latte.png; + image = ../../../wallpapers/oasis.png; }; } diff --git a/common/virtualization/libvirt.nix b/common/virtualization/libvirt.nix index f4f22cf..5b4b853 100644 --- a/common/virtualization/libvirt.nix +++ b/common/virtualization/libvirt.nix @@ -51,15 +51,6 @@ package = pkgs.qemu_kvm; runAsRoot = true; swtpm.enable = true; - ovmf = { - enable = true; - packages = [ - (pkgs.OVMF.override { - secureBoot = true; - tpmSupport = true; - }).fd - ]; - }; }; }; diff --git a/flake.lock b/flake.lock index 495520c..75600f9 100644 --- a/flake.lock +++ b/flake.lock @@ -6,11 +6,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1758879564, - "narHash": "sha256-qh5X63FN7Wm8tIOhhWD6HaDDUzKX0PRSIegZSwB2VLI=", + "lastModified": 1760176229, + "narHash": "sha256-Awrvmjo57VJHrVZCfGjPyf1NHFGopomoZiPUPT/3uls=", "owner": "Aylur", "repo": "ags", - "rev": "829827d9493e8a4ce2fdba34782c61eaa20351c8", + "rev": "772f6ade645a1ca7ba06cb5845c479bbf4ac06f5", "type": "github" }, "original": { @@ -39,11 +39,11 @@ ] }, "locked": { - "lastModified": 1755946532, - "narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=", + "lastModified": 1760101617, + "narHash": "sha256-8jf/3ZCi+B7zYpIyV04+3wm72BD7Z801IlOzsOACR7I=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada", + "rev": "1826a9923881320306231b1c2090379ebf9fa4f8", "type": "github" }, "original": { @@ -97,11 +97,11 @@ ] }, "locked": { - "lastModified": 1756474652, - "narHash": "sha256-iiBU6itpEqE0spXeNJ3uJTfioSyKYjt5bNepykpDXTE=", + "lastModified": 1759873585, + "narHash": "sha256-DsYbOkDXSl162XcQPxu4bknsevArxmWoqmL1qqcVNSI=", "owner": "aylur", "repo": "astal", - "rev": "20bd8318e4136fbd3d4eb2d64dbabc3acbc915dd", + "rev": "8d9ed4c624981156f52846ae58826f7c94f30546", "type": "github" }, "original": { @@ -131,16 +131,17 @@ "base16-fish": { "flake": false, "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "lastModified": 1754405784, + "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", "owner": "tomyun", "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" }, "original": { "owner": "tomyun", "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" } }, @@ -243,11 +244,11 @@ ] }, "locked": { - "lastModified": 1759017353, - "narHash": "sha256-LrKYZWHQPozC+u/PQLU7eJb5ViiGNSowL2gLBav4wc4=", + "lastModified": 1760987569, + "narHash": "sha256-RAYg2y8R5yiSYQJhZWUf7rEopgXcyGDaOLTlCN/LfT4=", "owner": "cachix", "repo": "devenv", - "rev": "ef12d689343c6713a46867f3a592805340260f77", + "rev": "829e3dba0dbf0f50772f95e683e5aeb9c93f0314", "type": "github" }, "original": { @@ -446,11 +447,11 @@ ] }, "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "lastModified": 1759362264, + "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", + "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", "type": "github" }, "original": { @@ -467,11 +468,11 @@ ] }, "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "lastModified": 1759362264, + "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", + "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", "type": "github" }, "original": { @@ -731,11 +732,11 @@ ] }, "locked": { - "lastModified": 1759043321, - "narHash": "sha256-Efi3THvsIS6Qd97s52/PSSHWybDlSbtUZXP8l3AR9Ps=", + "lastModified": 1760973044, + "narHash": "sha256-Ij3H0qkzZ66X9934kH0JYoI3b/F2vamrDD9abT5Pi70=", "owner": "nix-community", "repo": "home-manager", - "rev": "c75fd8e300b79502b8eecdacd8a426b12fadb460", + "rev": "c3a5e5f0df6f53aa4b51adc0107796cc407c641c", "type": "github" }, "original": { @@ -843,11 +844,11 @@ ] }, "locked": { - "lastModified": 1758192433, - "narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=", + "lastModified": 1760445448, + "narHash": "sha256-fXGjL6dw31FPFRrmIemzGiNSlfvEJTJNsmadZi+qNhI=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7", + "rev": "50fb9f069219f338a11cf0bcccb9e58357d67757", "type": "github" }, "original": { @@ -904,11 +905,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1759010730, - "narHash": "sha256-xc8zYNNA+Entmj5DmBKnjMt5tSEQQYDWOIAS5+U2wdU=", + "lastModified": 1760959370, + "narHash": "sha256-eM1kSyA88KiZiY+xqnN/YbAAFeECtzJTrOF62Uuxs+o=", "ref": "refs/heads/main", - "rev": "766acadcf1e6bfc94fa41ea0d47906c9afca8e24", - "revCount": 6459, + "rev": "46dab01bcc47b2e29f36cd4d35d04091e4134a67", + "revCount": 6515, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -931,11 +932,11 @@ ] }, "locked": { - "lastModified": 1749046714, - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "lastModified": 1759610243, + "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", "type": "github" }, "original": { @@ -1087,11 +1088,11 @@ ] }, "locked": { - "lastModified": 1757694755, - "narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=", + "lastModified": 1759080228, + "narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c", + "rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7", "type": "github" }, "original": { @@ -1188,11 +1189,11 @@ ] }, "locked": { - "lastModified": 1756810301, - "narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=", + "lastModified": 1758927902, + "narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931", + "rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da", "type": "github" }, "original": { @@ -1313,11 +1314,11 @@ ] }, "locked": { - "lastModified": 1756117388, - "narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=", + "lastModified": 1759619523, + "narHash": "sha256-r1ed7AR2ZEb2U8gy321/Xcp1ho2tzn+gG1te/Wxsj1A=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0", + "rev": "3df7bde01efb3a3e8e678d1155f2aa3f19e177ef", "type": "github" }, "original": { @@ -1489,11 +1490,11 @@ }, "mnw": { "locked": { - "lastModified": 1756659871, - "narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=", + "lastModified": 1758834834, + "narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=", "owner": "Gerg-L", "repo": "mnw", - "rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16", + "rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001", "type": "github" }, "original": { @@ -1570,11 +1571,11 @@ ] }, "locked": { - "lastModified": 1759032422, - "narHash": "sha256-WZf+FhebP2/1pK2np5xj/NuDjD6fXK2BHnq/tPUN18o=", + "lastModified": 1760846226, + "narHash": "sha256-xmU8kAsRprJiTGBTaGrwmjBP3AMA9ltlrxHKFuy5JWc=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "ec7a78cb0e098832d8acac091a4df393259c4839", + "rev": "5024e1901239a76b7bf94a4cd27f3507e639d49e", "type": "github" }, "original": { @@ -1590,11 +1591,11 @@ ] }, "locked": { - "lastModified": 1758530032, - "narHash": "sha256-WbfonO3flDebFitpthl/QjwHFUitGgFXBkA1cKzpIoQ=", + "lastModified": 1760948931, + "narHash": "sha256-guAocn26kDPdkl6tPXJt5pPaIIsrGI4taw+1U3+FM7E=", "owner": "Mic92", "repo": "nix-ld", - "rev": "a2bcfb11963dc4597b2c137fda7466df15a41565", + "rev": "a48b2dc9a256bcef9182f0f92c481de975302b1e", "type": "github" }, "original": { @@ -1610,11 +1611,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1758908346, - "narHash": "sha256-10UPnf8gbBlgizNvATtSLR83w1Z8ktPq3Hy1a8Fh8/A=", + "lastModified": 1760689525, + "narHash": "sha256-Dl0jvgL5NjgCGkQ8PCLmGIisWcbFhGWPqKRyIGJ9uus=", "owner": "kaylorben", "repo": "nixcord", - "rev": "a854f10cc65afebdbc3302437b4f3eaff8a666f8", + "rev": "81d2f10a849c4312fefa0cf323dce0a1460dcbbe", "type": "github" }, "original": { @@ -1625,11 +1626,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1759733170, + "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "8913c168d1c56dc49a7718685968f38752171c3b", "type": "github" }, "original": { @@ -1672,11 +1673,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1758690382, - "narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=", + "lastModified": 1760878510, + "narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e643668fd71b949c53f8626614b21ff71a07379d", + "rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67", "type": "github" }, "original": { @@ -1736,11 +1737,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1758198701, - "narHash": "sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc=", + "lastModified": 1760878510, + "narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d", + "rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67", "type": "github" }, "original": { @@ -1800,11 +1801,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1758690382, - "narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=", + "lastModified": 1760878510, + "narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e643668fd71b949c53f8626614b21ff71a07379d", + "rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67", "type": "github" }, "original": { @@ -1816,11 +1817,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1758763312, - "narHash": "sha256-puBMviZhYlqOdUUgEmMVJpXqC/ToEqSvkyZ30qQ09xM=", + "lastModified": 1759632233, + "narHash": "sha256-krgZxGAIIIKFJS+UB0l8do3sYUDWJc75M72tepmVMzE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e57b3b16ad8758fd681511a078f35c416a8cc939", + "rev": "d7f52a7a640bc54c7bb414cca603835bf8dd4b10", "type": "github" }, "original": { @@ -1832,11 +1833,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1758976413, - "narHash": "sha256-hEIDTaIqvW1NMfaNgz6pjhZPZKTmACJmXxGr/H6isIg=", + "lastModified": 1760596604, + "narHash": "sha256-J/i5K6AAz/y5dBePHQOuzC7MbhyTOKsd/GLezSbEFiM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e3a3b32cc234f1683258d36c6232f150d57df015", + "rev": "3cbe716e2346710d6e1f7c559363d14e11c32a43", "type": "github" }, "original": { @@ -1854,11 +1855,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1759016999, - "narHash": "sha256-UhQmUPSWYpKJQutTzy9TKiRBMg/qVJn6AoNsFR+5Zmc=", + "lastModified": 1760960598, + "narHash": "sha256-UP1v+sEkHuvD2+qyhxbkQpBR+dl9U0ljml3/dMI2jeU=", "owner": "nix-community", "repo": "nixvim", - "rev": "4cec67651a6dfdab9a79e68741282e3be8231a61", + "rev": "e3b77e803b2350b72f4d72c8f175ab0fbfe5a642", "type": "github" }, "original": { @@ -1926,11 +1927,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1758271661, - "narHash": "sha256-ENqd2/33uP5vB44ClDjjAV+J78oF8q1er4QUZuT8Z7g=", + "lastModified": 1760153667, + "narHash": "sha256-F7KmXT/Izse6Q6CkD5GCImoGPaDJxl03Kd7eD+eY/bU=", "owner": "notashelf", "repo": "nvf", - "rev": "b7571df4d6e9ac08506a738ddceeec0b141751b0", + "rev": "9df9d51fd9fc8f9a8fc377f984ea3b7ae796172d", "type": "github" }, "original": { @@ -1949,11 +1950,11 @@ ] }, "locked": { - "lastModified": 1758108966, - "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", + "lastModified": 1760663237, + "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", + "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", "type": "github" }, "original": { @@ -1995,11 +1996,11 @@ ] }, "locked": { - "lastModified": 1758108966, - "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", + "lastModified": 1760663237, + "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", + "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", "type": "github" }, "original": { @@ -2053,11 +2054,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1759030640, - "narHash": "sha256-53VP3BqMXJqD1He1WADTFyUnpta3mie56H7nC59tSic=", + "lastModified": 1760845571, + "narHash": "sha256-PwGzU3EOU65Ef1VvuNnVLie+l+P0g/fzf/PGUG82KbM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "9ac51832c70f2ff34fcc97b05fa74b4a78317f9e", + "rev": "9c9a9798be331ed3f4b2902933d7677d0659ee61", "type": "github" }, "original": { @@ -2103,11 +2104,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1759069666, - "narHash": "sha256-/oVAVpL4xxR4KG4MlFspi8fiP9wEaSs+zqHkD2tw17g=", + "lastModified": 1760472212, + "narHash": "sha256-4C3I/ssFsq8EgaUmZP0xv5V7RV0oCHgL/Rx+MUkuE+E=", "owner": "danth", "repo": "stylix", - "rev": "f23b6c30cc002786a22998caf15312ea01c20654", + "rev": "8d008296a1b3be9b57ad570f7acea00dd2fc92db", "type": "github" }, "original": { @@ -2124,11 +2125,11 @@ "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1758975769, - "narHash": "sha256-fPIyNKW7UDphD54B8PE74vydBV13SNPGRXRk9lXsDOo=", + "lastModified": 1760420543, + "narHash": "sha256-NJprvSummITIhJn+A2wTtQ8YhWLSWQN6j5gjnLqWSAc=", "owner": "MHNightCat", "repo": "superfile", - "rev": "b69ac02c1ba374234a38a26372092444c4e2bd0f", + "rev": "552b7f8a2ef839145326c5174985fb9b4de611b3", "type": "github" }, "original": { @@ -2366,11 +2367,11 @@ ] }, "locked": { - "lastModified": 1755354946, - "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", + "lastModified": 1760713634, + "narHash": "sha256-5HXelmz2x/uO26lvW7MudnadbAfoBnve4tRBiDVLtOM=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", + "rev": "753bbbdf6a052994da94062e5b753288cef28dfb", "type": "github" }, "original": { @@ -2432,11 +2433,11 @@ "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1759072580, - "narHash": "sha256-03GJ6F5jXuxEgazHE2A3WB/kEyHO/rF1VPA9qYodq0E=", + "lastModified": 1760934351, + "narHash": "sha256-RehxVjBRC9EiBO36EPZROLHhVVSWFe3KEROhaEapboM=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "c1908c990449e0d2b37766fbd95bc23e04d0b3a9", + "rev": "596c3ac14be576b93f5db9252a1b0581e453ec9f", "type": "github" }, "original": { diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index ec82ec1..25d3f40 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -19,6 +19,7 @@ ./zoxide.nix ./zsh.nix ./fzf.nix + ./zk.nix ./nushell/default.nix ]; nixpkgs.config.allowUnfree = true; diff --git a/home-manager/modules/hyprland/hyprpanel.nix b/home-manager/modules/hyprland/hyprpanel.nix index 1cd1bb1..6bcc7fa 100644 --- a/home-manager/modules/hyprland/hyprpanel.nix +++ b/home-manager/modules/hyprland/hyprpanel.nix @@ -24,7 +24,7 @@ let position = config.theme.bar.position; # "top" ou "bottom" notificationOpacity = 90; - + homeDir = "/home/gwg313"; location = config.var.location; in { @@ -34,28 +34,26 @@ in enable = true; settings = { - layout = { - bar.layouts = { - "*" = { - "left" = [ - "dashboard" - "workspaces" - "windowtitle" - ]; - "middle" = [ - "media" - "cava" - ]; - "right" = [ - "systray" - "volume" - "bluetooth" - "battery" - "network" - "clock" - "notifications" - ]; - }; + bar.layouts = { + "*" = { + left = [ + "dashboard" + "workspaces" + "windowtitle" + ]; + middle = [ + "media" + "cava" + ]; + right = [ + "systray" + "volume" + "bluetooth" + "battery" + "network" + "clock" + "notifications" + ]; }; }; @@ -143,72 +141,32 @@ in menus.dashboard.shortcuts.right.shortcut1.icon = ""; menus.dashboard.shortcuts.right.shortcut1.command = "hyprpicker -a"; menus.dashboard.shortcuts.right.shortcut1.tooltip = "Color Picker"; + menus.dashboard.shortcuts.right.shortcut3.icon = "󰄀"; menus.dashboard.shortcuts.right.shortcut3.command = "screenshot region swappy"; menus.dashboard.shortcuts.right.shortcut3.tooltip = "Screenshot"; + menus.dashboard.directories.left.directory1.label = " Home"; + menus.dashboard.directories.left.directory1.command = "xdg-open ${homeDir}"; + + menus.dashboard.directories.left.directory2.label = "󰲂 Documents"; + menus.dashboard.directories.left.directory2.command = "xdg-open ${homeDir}/Documents"; + + menus.dashboard.directories.left.directory3.label = "󰉍 Downloads"; + menus.dashboard.directories.left.directory3.command = "xdg-open ${homeDir}/Downloads"; + + menus.dashboard.directories.right.directory1.label = " Desktop"; + menus.dashboard.directories.right.directory1.command = "xdg-open ${homeDir}/Desktop"; + + menus.dashboard.directories.right.directory2.label = " Videos"; + menus.dashboard.directories.right.directory2.command = "xdg-open ${homeDir}/Videos"; + + menus.dashboard.directories.right.directory3.label = "󰉏 Pictures"; + menus.dashboard.directories.right.directory3.command = "xdg-open ${homeDir}/Pictures"; + menus.power.lowBatteryNotification = true; wallpaper.enable = false; - - theme.bar.buttons.workspaces.hover = accent-alt; - theme.bar.buttons.workspaces.active = accent; - theme.bar.buttons.workspaces.available = accent-alt; - theme.bar.buttons.workspaces.occupied = accent-alt; - - theme.bar.menus.background = background; - theme.bar.menus.cards = background-alt; - theme.bar.menus.label = foreground; - theme.bar.menus.text = foreground; - theme.bar.menus.border.color = accent; - theme.bar.menus.popover.text = foreground; - theme.bar.menus.popover.background = background-alt; - theme.bar.menus.listitems.active = accent; - theme.bar.menus.icons.active = accent; - theme.bar.menus.switch.enabled = accent; - theme.bar.menus.check_radio_button.active = accent; - theme.bar.menus.buttons.default = accent; - theme.bar.menus.buttons.active = accent; - theme.bar.menus.iconbuttons.active = accent; - theme.bar.menus.progressbar.foreground = accent; - theme.bar.menus.slider.primary = accent; - theme.bar.menus.tooltip.background = background-alt; - theme.bar.menus.tooltip.text = foreground; - theme.bar.menus.dropdownmenu.background = background-alt; - theme.bar.menus.dropdownmenu.text = foreground; - - theme.bar.background = background + (if transparentButtons && transparent then "00" else ""); - theme.bar.buttons.text = - if transparent && transparentButtons then foregroundOnWallpaper else foreground; - theme.bar.buttons.background = - (if transparent then background else background-alt) + (if transparentButtons then "00" else ""); - theme.bar.buttons.icon = accent; - - theme.bar.buttons.notifications.background = background-alt; - theme.bar.buttons.hover = background; - theme.bar.buttons.notifications.hover = background; - theme.bar.buttons.notifications.total = accent; - theme.bar.buttons.notifications.icon = accent; - - theme.osd.bar_color = accent; - theme.osd.bar_overflow_color = accent-alt; - theme.osd.icon = background; - theme.osd.icon_container = accent; - theme.osd.label = accent; - theme.osd.bar_container = background-alt; - - theme.bar.menus.menu.media.background.color = background-alt; - theme.bar.menus.menu.media.card.color = background-alt; - - theme.notification.background = background-alt; - theme.notification.actions.background = accent; - theme.notification.actions.text = foreground; - theme.notification.label = accent; - theme.notification.border = background-alt; - theme.notification.text = foreground; - theme.notification.labelicon = accent; - theme.notification.close_button.background = background-alt; - theme.notification.close_button.label = "#f38ba8"; }; }; } diff --git a/home-manager/modules/linux-gui.nix b/home-manager/modules/linux-gui.nix index 063a7f8..ed2b4c4 100644 --- a/home-manager/modules/linux-gui.nix +++ b/home-manager/modules/linux-gui.nix @@ -29,5 +29,6 @@ feishin picard postman + figma-linux ]; } diff --git a/home-manager/modules/nvf/default.nix b/home-manager/modules/nvf/default.nix index 2f2feff..0f5d306 100644 --- a/home-manager/modules/nvf/default.nix +++ b/home-manager/modules/nvf/default.nix @@ -1,6 +1,7 @@ { inputs, pkgs, + lib, ... }: { @@ -22,7 +23,37 @@ # pkgs.vimPlugins.vim-kitty-navigator vimPlugins.grug-far-nvim vimPlugins.image-nvim + oasis-nvim + vimPlugins.vim-hoogle + vimPlugins.telescope_hoogle + vimPlugins.zk-nvim ]; + luaConfigRC.colorscheme = '' + vim.cmd.colorscheme("oasis-day") + ''; + luaConfigRC.zk_nvim = '' + local ok, zk = pcall(require, "zk") + if not ok then + return + end + + zk.setup({ + -- use "telescope", "fzf", etc. if you prefer + picker = "select", + + lsp = { + config = { + name = "zk", + cmd = { "zk", "lsp" }, + filetypes = { "markdown" }, + -- you can put on_attach = function(client, bufnr) ... end here if you want + }, + auto_attach = { + enabled = true, + }, + }, + }) + ''; }; }; } diff --git a/home-manager/modules/nvf/keymaps.nix b/home-manager/modules/nvf/keymaps.nix index 9d1b5c1..7439054 100644 --- a/home-manager/modules/nvf/keymaps.nix +++ b/home-manager/modules/nvf/keymaps.nix @@ -31,6 +31,13 @@ action = "bnext"; desc = "Next Buffer"; } + { + key = "bd"; + mode = "n"; + silent = true; + action = "bd"; + desc = "Close current buffer"; + } # Disable Arrow Keys in Normal Mode # { diff --git a/home-manager/modules/nvf/languages.nix b/home-manager/modules/nvf/languages.nix index 422d7aa..997c48f 100644 --- a/home-manager/modules/nvf/languages.nix +++ b/home-manager/modules/nvf/languages.nix @@ -108,6 +108,8 @@ ocaml.enable = true; haskell.enable = true; haskell.lsp.enable = true; + haskell.treesitter.enable = true; + haskell.dap.enable = false; html.enable = true; bash.enable = true; nix.enable = true; diff --git a/home-manager/modules/nvf/mini.nix b/home-manager/modules/nvf/mini.nix index 2c0568b..c7ff3d7 100644 --- a/home-manager/modules/nvf/mini.nix +++ b/home-manager/modules/nvf/mini.nix @@ -9,5 +9,6 @@ pairs.enable = true; diff.enable = true; git.enable = true; + # snippets.enable = true; }; } diff --git a/home-manager/modules/nvf/utils.nix b/home-manager/modules/nvf/utils.nix index 2d5900a..9d3319c 100644 --- a/home-manager/modules/nvf/utils.nix +++ b/home-manager/modules/nvf/utils.nix @@ -6,12 +6,13 @@ { programs.nvf.settings.vim = { undoFile.enable = true; - theme = lib.mkForce { - enable = true; - name = "catppuccin"; - style = "latte"; - transparent = false; - }; + # theme = lib.mkForce { + # enable = true; + # name = "catppuccin"; + # style = "latte"; + # transparent = false; + # }; + navigation = { harpoon.enable = true; }; @@ -30,10 +31,6 @@ # cmp.enable = true; # }; statusline.lualine.enable = true; - # autocomplete.blink-cmp = { - # enable = true; - # friendly-snippets.enable = true; - # }; autocomplete = { nvim-cmp = { enable = true; @@ -48,6 +45,55 @@ }; }; snippets.luasnip.enable = true; + snippets.luasnip.customSnippets.snipmate = { + all = [ + { + trigger = "if"; + body = "if $1 else $2"; + } + ]; + nix = [ + { + trigger = "mkOption"; + body = '' + mkOption { + type = $1; + default = $2; + description = $3; + example = $4; + } + ''; + } + ]; + haskell = [ + { + trigger = "zzis"; + body = '' + insert :: (Ord a) => a -> [a] -> [a] + insert x [] = [x] + insert x (y:ys) + | x <= y = x : y : ys + | otherwise = y : insert x ys + + insertionSort :: (Ord a) => [a] -> [a] + insertionSort [] = [] + insertionSort (x:xs) = insert x (insertionSort xs) + ''; + } + { + trigger = "zzso"; + body = '' + sortOn :: Ord b => (a -> b) -> [a] -> [a] + sortOn f = foldr insert [] + where + insert x [] = [x] + insert x (y:ys) + | f x <= f y = x : y : ys + | otherwise = y : insert x ys + ''; + } + ]; + }; ui = { noice.enable = true; colorizer.enable = true; diff --git a/home-manager/modules/tmux/tmux.nix b/home-manager/modules/tmux/tmux.nix index 01bd3dd..e20d47e 100644 --- a/home-manager/modules/tmux/tmux.nix +++ b/home-manager/modules/tmux/tmux.nix @@ -20,7 +20,8 @@ extraConfig = '' bind -n M-r source-file ~/.config/tmux/tmux.conf - set -ag terminal-overrides ",xterm-256color:RGB" + set -g default-terminal "screen-256color" + set -sa terminal-overrides ",xterm-256color:RGB" diff --git a/home-manager/modules/zk.nix b/home-manager/modules/zk.nix new file mode 100644 index 0000000..a8ef24e --- /dev/null +++ b/home-manager/modules/zk.nix @@ -0,0 +1,99 @@ +{ config, ... }: +{ + home.sessionVariables = { + ZK_NOTEBOOK_DIR = "/home/gwg313/my-notes"; + }; + programs.zk = { + enable = true; + settings = { + notebook = { + dir = "~/my-notes"; + }; + note = { + language = "en"; + default-title = "Untitled"; + filename = "{{id}}-{{slug title}}"; + extension = "md"; + template = "inbox.md"; + id-charset = "alphanum"; + id-length = 4; + id-case = "lower"; + }; + format.markdown = { + multiword-tags = true; + hashtags = true; + }; + + tool = { + editor = "nvim"; + fzf-preview = "bat -p --color always {-1}"; + }; + + extra = { + author = "gwg313"; + }; + group = { + inbox = { + paths = [ "inbox" ]; + note.template = "inbox.md"; + }; + projects = { + paths = [ "projects" ]; + note.template = "project.md"; + }; + literature = { + paths = [ "literature" ]; + note.template = "literature.md"; + }; + note = { + paths = [ "notes" ]; + note.template = "permanent.md"; + }; + + seed = { + paths = [ "notes" ]; + note.template = "seed.md"; + }; + + daily = { + paths = [ "journal" ]; + note.filename = "{{format-date now}}"; + note.template = "daily.md"; + }; + }; + filter = { + # Notes created in last 2 weeks + recents = "--sort created- --created-after 'last two weeks'"; + + # Only permanent notes + permanent = "--group notes"; + + # Orphans (useful for cleaning up disconnected notes) + orphans = "--orphan"; + seeds = "--tag seed --sort created-"; + }; + alias = { + ls = "zk list --interactive $@"; + edit = "zk edit --interactive $@"; + inbox = ''zk new --no-input "$ZK_NOTEBOOK_DIR/inbox" --group inbox --title "$@"''; + seed = ''zk new --no-input "$ZK_NOTEBOOK_DIR/inbox" --group seed --title "$@"''; + proj = ''zk new --no-input "$ZK_NOTEBOOK_DIR/projects/" --group projects --title "$@"''; + lit = ''zk new --no-input "$ZK_NOTEBOOK_DIR/literature" --group literature --title "$@"''; + note = ''zk new --no-input "$ZK_NOTEBOOK_DIR/notes" --group notes --title "$@"''; + # Edit the last modified note. + edlast = "zk edit --limit 1 --sort modified- $@"; + seeds = "zk list seeds --interactive"; + # Edit the notes selected interactively among the notes created the last two weeks. + recent = "zk edit --sort created- --created-after 'last two weeks' --interactive"; + + # Show a random note. + lucky = "zk list --quiet --format full --sort random --limit 1"; + # Show backlinks to a given note + bl = "zk list --link-to $@"; + + # Orphans + orph = "zk list orphans --interactive"; + }; + }; + }; +} diff --git a/hosts/candlekeep/configuration.nix b/hosts/candlekeep/configuration.nix index 013da22..fda2298 100644 --- a/hosts/candlekeep/configuration.nix +++ b/hosts/candlekeep/configuration.nix @@ -62,7 +62,7 @@ initrd.luks.devices."luks-1dbfdeb6-8537-41b2-abf0-09373af3eeee".device = "/dev/disk/by-uuid/1dbfdeb6-8537-41b2-abf0-09373af3eeee"; }; - + boot.supportedFilesystems = [ "nfs" ]; # sops sops = { defaultSopsFile = ../../secrets/secrets.yaml; diff --git a/hosts/seikan/routes.nix b/hosts/seikan/routes.nix index d272e67..32027a6 100644 --- a/hosts/seikan/routes.nix +++ b/hosts/seikan/routes.nix @@ -92,6 +92,12 @@ url = "https://cache.zerotier.gwg313.xyz"; } ]; + + a3-dev_zt.loadBalancer.servers = [ + { + url = "https://a3-dev.zerotier.gwg313.xyz"; + } + ]; }; routers = { @@ -213,6 +219,22 @@ tls.certResolver = "le"; middlewares = [ "headers" ]; }; + + a3-dev_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`a3-dev.gwg313.xyz`)"; + service = "a3-dev_zt"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + argocd_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`argocd.local.gwg313.xyz`)"; + service = "argocd_zt"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; }; }; }; diff --git a/hosts/waypoint/routes.nix b/hosts/waypoint/routes.nix index 3e50065..56328c0 100644 --- a/hosts/waypoint/routes.nix +++ b/hosts/waypoint/routes.nix @@ -123,6 +123,14 @@ tls.certResolver = "le"; middlewares = [ "headers" ]; }; + + a3-dev = { + entryPoints = [ "websecure" ]; + rule = "Host(`a3-dev.gwg313.xyz`)"; + service = "a3-dev_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; }; }; }; diff --git a/hosts/waypoint/routes_zerotier.nix b/hosts/waypoint/routes_zerotier.nix index f93e83d..f971f02 100644 --- a/hosts/waypoint/routes_zerotier.nix +++ b/hosts/waypoint/routes_zerotier.nix @@ -123,6 +123,22 @@ tls.certResolver = "le"; middlewares = [ "headers" ]; }; + + a3-dev_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`a3-dev.zerotier.gwg313.xyz`)"; + service = "a3-dev_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + argocd_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`argocd.zerotier.gwg313.xyz`)"; + service = "argocd_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; }; }; }; diff --git a/hosts/waypoint/services.nix b/hosts/waypoint/services.nix index 45da58b..c218a20 100644 --- a/hosts/waypoint/services.nix +++ b/hosts/waypoint/services.nix @@ -107,6 +107,12 @@ url = "https://cache.gwg313.xyz"; } ]; + + a3-dev_local.loadBalancer.servers = [ + { + url = "https://a3-dev.gwg313.xyz"; + } + ]; }; }; }; diff --git a/pkgs/default.nix b/pkgs/default.nix index e9bac2d..2bcdf2b 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -6,4 +6,5 @@ # sesh = pkgs.callPackage ./sesh {}; yatto = pkgs.callPackage ./yatto { }; ceserver = pkgs.callPackage ./ceserver { }; + oasis-nvim = pkgs.callPackage ./oasis-nvim { }; } diff --git a/pkgs/oasis-nvim/default.nix b/pkgs/oasis-nvim/default.nix new file mode 100644 index 0000000..56654b8 --- /dev/null +++ b/pkgs/oasis-nvim/default.nix @@ -0,0 +1,23 @@ +{ + lib, + vimUtils, + fetchFromGitHub, +}: +vimUtils.buildVimPlugin { + pname = "oasis.nvim"; + version = "unstable-2025-11-11"; + + src = fetchFromGitHub { + owner = "uhs-robert"; + repo = "oasis.nvim"; + rev = "691703cb10ceb425cf18a95262051b4b1bc1b5c7"; + hash = "sha256-knMmbmxD+78cnuSu4LGiCISr3Gt6ieYY22SaTYKtTec="; + }; + + meta = with lib; { + description = "A collection of 18 desert-inspired Neovim colorschemes."; + homepage = "https://github.com/uhs-robert/oasis.nvim"; + license = licenses.mit; + platforms = platforms.all; + }; +} diff --git a/wallpapers/nixos-wallpaper-catppuccin-frappe.png b/wallpapers/nixos-wallpaper-catppuccin-frappe.png new file mode 100644 index 0000000..d724eae Binary files /dev/null and b/wallpapers/nixos-wallpaper-catppuccin-frappe.png differ diff --git a/wallpapers/nixos-wallpaper-oasis-day.png b/wallpapers/nixos-wallpaper-oasis-day.png new file mode 100644 index 0000000..b39f449 Binary files /dev/null and b/wallpapers/nixos-wallpaper-oasis-day.png differ diff --git a/wallpapers/oasis.png b/wallpapers/oasis.png new file mode 100644 index 0000000..76dc009 Binary files /dev/null and b/wallpapers/oasis.png differ