diff --git a/.profile b/.profile new file mode 100644 index 0000000..017c331 --- /dev/null +++ b/.profile @@ -0,0 +1 @@ +export XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share diff --git a/common/gui/pipewire.nix b/common/gui/pipewire.nix index fadb99b..ea26dd9 100644 --- a/common/gui/pipewire.nix +++ b/common/gui/pipewire.nix @@ -20,10 +20,21 @@ # use the example session manager (no others are packaged yet so this is enabled by default, # no need to redefine it in your config for now) #media-session.enable = true; + extraConfig.pipewire.adjust-sample-rate = { + "context.properties" = { + "default.clock.rate" = 192000; + #"defautlt.allowed-rates" = [ 192000 48000 44100 ]; + "defautlt.allowed-rates" = [ 192000 ]; + #"default.clock.quantum" = 32; + #"default.clock.min-quantum" = 32; + #"default.clock.max-quantum" = 32; + }; + }; }; environment.systemPackages = with pkgs; [ pipewire wireplumber + easyeffects ]; } diff --git a/common/gui/retroarch.nix b/common/gui/retroarch.nix new file mode 100644 index 0000000..9f7f4d1 --- /dev/null +++ b/common/gui/retroarch.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: +let + retroarchWithCores = ( + pkgs.retroarch.withCores ( + cores: with cores; [ + bsnes + mgba + quicknes + genesis-plus-gx + ] + ) + ); +in +{ + environment.systemPackages = [ + retroarchWithCores + ]; +} diff --git a/common/gui/steam.nix b/common/gui/steam.nix index 2cb7b47..b4dd8f6 100644 --- a/common/gui/steam.nix +++ b/common/gui/steam.nix @@ -3,7 +3,8 @@ lib, pkgs, ... -}: { +}: +{ options = { steam.enable = lib.mkEnableOption "Enables steam"; }; @@ -13,8 +14,8 @@ nixpkgs.config.packageOverrides = pkgs: { steam = pkgs.steam.override { - extraPkgs = pkgs: - with pkgs; [ + extraPkgs = + pkgs: with pkgs; [ xorg.libXcursor xorg.libXi xorg.libXinerama @@ -46,6 +47,9 @@ WINE_FULLSCREEN_FSR = "1"; }; - environment.systemPackages = with pkgs; [protonup]; + environment.systemPackages = with pkgs; [ + protonup + scanmem + ]; }; } diff --git a/common/networking/hosts.nix b/common/networking/hosts.nix new file mode 100644 index 0000000..9f60001 --- /dev/null +++ b/common/networking/hosts.nix @@ -0,0 +1,26 @@ +_: { + networking.extraHosts = '' + 10.147.17.246 audiobooks.zerotier.gwg313.xyz + 10.147.17.246 music.zerotier.gwg313.xyz + 10.147.17.246 recipes.zerotier.gwg313.xyz + 10.147.17.246 scholarsome.zerotier.gwg313.xyz + 10.147.17.246 bookmarks.zerotier.gwg313.xyz + 10.147.17.246 pastebin.zerotier.gwg313.xyz + 10.147.17.246 snippets.zerotier.gwg313.xyz + 10.147.17.246 git.zerotier.gwg313.xyz + 10.147.17.246 s3.zerotier.gwg313.xyz + 10.147.17.246 s3-console.zerotier.gwg313.xyz + 10.147.17.246 registry.zerotier.gwg313.xyz + 10.147.17.246 ci.zerotier.gwg313.xyz + + + + 10.1.10.50 music.gwg313.xyz + 10.1.10.50 git.gwg313.xyz + 10.1.10.50 ci.gwg313.xyz + 10.1.10.50 registry.gwg313.xyz + 10.1.10.50 s3.gwg313.xyz + 10.1.10.50 s3-console.gwg313.xyz + 10.1.10.50 pastebin.gwg313.xyz + ''; +} diff --git a/common/nixos/default.nix b/common/nixos/default.nix index 245a447..8210252 100644 --- a/common/nixos/default.nix +++ b/common/nixos/default.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ lib, pkgs, ... }: { imports = [ ./common.nix @@ -12,4 +12,13 @@ laptop.enable = lib.mkDefault false; nfs.enable = lib.mkDefault false; restic.enable = lib.mkDefault true; + services.flatpak.enable = true; + systemd.services.flatpak-repo = { + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.flatpak ]; + script = '' + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + ''; + }; + # flatpak override --user --socket=wayland md.obsidian.Obsidian (Must run this for obsidian to launch) } diff --git a/common/nixos/packages.nix b/common/nixos/packages.nix index 626311c..b2c84fd 100644 --- a/common/nixos/packages.nix +++ b/common/nixos/packages.nix @@ -35,6 +35,6 @@ # inputs.superfile.packages.${system}.default ]; environment.sessionVariables = { - FLAKE = "/home/${user}/repos/nixos-config"; + NH_FLAKE = "/home/${user}/repos/nixos-config"; }; } diff --git a/common/nixos/restic.nix b/common/nixos/restic.nix index 11bc684..995ac2d 100644 --- a/common/nixos/restic.nix +++ b/common/nixos/restic.nix @@ -25,6 +25,7 @@ "/home/${user}/Documents" "/home/${user}/.local/share/password-store" ]; + # extraBackupArgs = [ "--exclude-file=/home/gwg313/Documents/Celsus" ]; timerConfig = { OnCalendar = "23:00"; }; diff --git a/common/style/stylix.nix b/common/style/stylix.nix index e42c04a..1334e62 100644 --- a/common/style/stylix.nix +++ b/common/style/stylix.nix @@ -1,7 +1,8 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ stylix = { - # base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml"; base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml"; + # base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool-light.yaml"; # image = ./wallpaper.jpg; image = ../../wallpapers/nixos-wallpaper-catppuccin-latte.png; #polarity = "dark"; @@ -9,22 +10,22 @@ enable = true; opacity.terminal = 1.0; - fonts.sizes.terminal = 15; + fonts.sizes.terminal = 18; fonts = { serif = { - package = pkgs.meslo-lgs-nf; - name = "MesloLGS NF"; + package = pkgs.lmodern; + name = "Latin Modern Roman"; }; sansSerif = { - package = pkgs.meslo-lgs-nf; - name = "MesloLGS NF"; + package = pkgs.inter; + name = "Inter"; }; monospace = { - package = pkgs.ibm-plex; - name = "IBM Plex Mono"; + package = pkgs.fira-code; + name = "Fire Code"; }; emoji = { diff --git a/common/style/vars/candlekeep.nix b/common/style/vars/candlekeep.nix index 50244a1..792a435 100644 --- a/common/style/vars/candlekeep.nix +++ b/common/style/vars/candlekeep.nix @@ -1,10 +1,10 @@ { - rounding = 15; - gaps-in = 10; - gaps-out = 10 * 2; + rounding = 0; + gaps-in = 5; + gaps-out = 10; active-opacity = 1; - inactive-opacity = 0.89; - blur = true; + inactive-opacity = 1; + blur = false; border-size = 3; animation-speed = "medium"; # "fast" | "medium" | "slow" fetch = "fastfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none" diff --git a/common/style/vars/grymforge.nix b/common/style/vars/grymforge.nix index 77f5d79..e8f7191 100644 --- a/common/style/vars/grymforge.nix +++ b/common/style/vars/grymforge.nix @@ -1,11 +1,11 @@ { - rounding = 25; - gaps-in = 12; - gaps-out = 12 * 2; + rounding = 0; + gaps-in = 5; + gaps-out = 10; active-opacity = 1; - inactive-opacity = 0.87; - blur = true; - border-size = 3; + inactive-opacity = 1; + blur = false; + border-size = 4; animation-speed = "slow"; # "fast" | "medium" | "slow" fetch = "fastfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none" diff --git a/flake.lock b/flake.lock index 15e0036..433b34a 100644 --- a/flake.lock +++ b/flake.lock @@ -6,11 +6,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1738087375, - "narHash": "sha256-GLyNtU9A2VN22jNRHZ2OXuFfTJLh8uEVVt+ftsKUX0c=", + "lastModified": 1744557573, + "narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=", "owner": "Aylur", "repo": "ags", - "rev": "a6a7a0adb17740f4c34a59902701870d46fbb6a4", + "rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1736090999, - "narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=", + "lastModified": 1744557573, + "narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=", "owner": "aylur", "repo": "ags", - "rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c", + "rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6", "type": "github" }, "original": { @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1743265529, - "narHash": "sha256-QbjP15/2N+VJl0b5jxrrTc+VOt39aU4XrDvtP0Lz5ik=", + "lastModified": 1749155310, + "narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "1d2dbd72c2bbaceab031c592d4810f744741d203", + "rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3", "type": "github" }, "original": { @@ -98,11 +98,11 @@ ] }, "locked": { - "lastModified": 1739103745, - "narHash": "sha256-c53dcRaw0F4Os9WD05HwIRs9kTDZw4Mxe1XK4edEALo=", + "lastModified": 1745357003, + "narHash": "sha256-jYwzQkv1r7HN/4qrAuKp+NR4YYNp2xDrOX5O9YVqkWo=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "a3dda0d10ce9aa1d1dfb7a6c139ea8c2872c74bd", + "rev": "a19cf76ee1a15c1c12083fa372747ce46387289f", "type": "github" }, "original": { @@ -119,11 +119,11 @@ ] }, "locked": { - "lastModified": 1737670815, - "narHash": "sha256-ZCxxshGN7XooabArcoGkYSNx5yVunqjKJi2aTv6cznI=", + "lastModified": 1742571008, + "narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=", "owner": "aylur", "repo": "astal", - "rev": "127e9cdcbf173846a3c40ddc0abfbb038df48042", + "rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e", "type": "github" }, "original": { @@ -141,11 +141,32 @@ ] }, "locked": { - "lastModified": 1735172721, - "narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=", + "lastModified": 1742571008, + "narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=", "owner": "aylur", "repo": "astal", - "rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2", + "rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e", + "type": "github" + }, + "original": { + "owner": "aylur", + "repo": "astal", + "type": "github" + } + }, + "astal_3": { + "inputs": { + "nixpkgs": [ + "hyprpanel", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748416910, + "narHash": "sha256-FEQcs58HL8Fe4i7XlqVEUwthjxwvRvgX15gTTfW17sU=", + "owner": "aylur", + "repo": "astal", + "rev": "c1bd89a47c81c66ab5fc6872db5a916c0433fb89", "type": "github" }, "original": { @@ -159,11 +180,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1732200724, - "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", + "lastModified": 1746562888, + "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "153d52373b0fb2d343592871009a286ec8837aec", + "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", "type": "github" }, "original": { @@ -191,11 +212,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1736852337, - "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", + "lastModified": 1748408240, + "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", + "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", "type": "github" }, "original": { @@ -230,16 +251,20 @@ "devenv" ], "git-hooks": [ - "devenv" + "devenv", + "git-hooks" ], - "nixpkgs": "nixpkgs_3" + "nixpkgs": [ + "devenv", + "nixpkgs" + ] }, "locked": { - "lastModified": 1742042642, - "narHash": "sha256-D0gP8srrX0qj+wNYNPdtVJsQuFzIng3q43thnHXQ/es=", + "lastModified": 1748883665, + "narHash": "sha256-R0W7uAg+BLoHjMRMQ8+oiSbTq8nkGz5RDpQ+ZfxxP3A=", "owner": "cachix", "repo": "cachix", - "rev": "a624d3eaf4b1d225f918de8543ed739f2f574203", + "rev": "f707778d902af4d62d8dd92c269f8e70de09acbe", "type": "github" }, "original": { @@ -258,11 +283,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1739900653, - "narHash": "sha256-hPSLvw6AZQYrZyGI6Uq4XgST7benF/0zcCpugn/P0yM=", + "lastModified": 1749739748, + "narHash": "sha256-csQQPoCA5iv+Nd9yCOCQNKflP7qUKEe7D27wsz+LPKM=", "owner": "zhaofengli", "repo": "colmena", - "rev": "2370d4336eda2a9ef29fce10fa7076ae011983ab", + "rev": "c61641b156dfa3e82fc0671e77fccf7d7ccfaa3b", "type": "github" }, "original": { @@ -282,11 +307,11 @@ ] }, "locked": { - "lastModified": 1743783972, - "narHash": "sha256-5wPsNCnWmeLpLxavsftA9L7tnYgtlexV7FwLegxtpy4=", + "lastModified": 1750263994, + "narHash": "sha256-cGnhg5DbmrstF3z8q9VqGB8pj7gry/MullkNQOZEMlA=", "owner": "cachix", "repo": "devenv", - "rev": "2f53e2f867e0c2ba18b880e66169366e5f8ca554", + "rev": "a304dfdb953b83e1d9657313653f8bb64230e01d", "type": "github" }, "original": { @@ -299,11 +324,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1743774811, - "narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=", + "lastModified": 1748383148, + "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e", + "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", "type": "github" }, "original": { @@ -331,11 +356,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -383,7 +408,7 @@ "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "revCount": 69, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz?rev=ff81ac966bb2cae68946d5ed5fc4994f96d0ffec&revCount=69" }, "original": { "type": "tarball", @@ -408,11 +433,11 @@ }, "flake-compat_7": { "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -424,11 +449,11 @@ "flake-compat_8": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -446,11 +471,11 @@ ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -461,17 +486,14 @@ }, "flake-parts_2": { "inputs": { - "nixpkgs-lib": [ - "nixvim", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -483,17 +505,55 @@ "flake-parts_3": { "inputs": { "nixpkgs-lib": [ - "stylix", - "nur", + "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -519,7 +579,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_5" + "systems": "systems_4" }, "locked": { "lastModified": 1731533236, @@ -537,10 +597,7 @@ }, "flake-utils_3": { "inputs": { - "systems": [ - "stylix", - "systems" - ] + "systems": "systems_6" }, "locked": { "lastModified": 1731533236, @@ -558,14 +615,14 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_7" + "systems": "systems_9" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -593,7 +650,8 @@ "git-hooks": { "inputs": { "flake-compat": [ - "devenv" + "devenv", + "flake-compat" ], "gitignore": "gitignore", "nixpkgs": [ @@ -602,11 +660,10 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1749636823, "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", "type": "github" }, "original": { @@ -628,11 +685,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -651,7 +708,6 @@ }, "locked": { "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", @@ -754,16 +810,16 @@ "gnome-shell": { "flake": false, "locked": { - "lastModified": 1732369855, - "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", + "lastModified": 1744584021, + "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "dadd58f630eeea41d645ee225a63f719390829dc", + "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae", "type": "github" }, "original": { "owner": "GNOME", - "ref": "47.2", + "ref": "48.1", "repo": "gnome-shell", "type": "github" } @@ -780,11 +836,11 @@ ] }, "locked": { - "lastModified": 1710154385, - "narHash": "sha256-4c3zQ2YY4BZOufaBJB4v9VBBeN2dH7iVdoJw8SDNCfI=", + "lastModified": 1745875161, + "narHash": "sha256-0YkWCS13jpoo3+sX/3kcgdxBNt1VZTmvF+FhZb4rFKI=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "872b63ddd28f318489c929d25f1f0a3c6039c971", + "rev": "2cbd7fdd6eeab65c494cc426e18f4e4d2a5e35c0", "type": "github" }, "original": { @@ -797,15 +853,14 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "treefmt-nix": "treefmt-nix" + ] }, "locked": { - "lastModified": 1744127405, - "narHash": "sha256-Cqkmsb3CDcUREjszRe2/qkvztFzEujkaaqV5/nqfdlk=", + "lastModified": 1750275572, + "narHash": "sha256-upC/GIlsIgtdtWRGd1obzdXWYQptNkfzZeyAFWgsgf0=", "owner": "nix-community", "repo": "home-manager", - "rev": "fefb6ae1b301b620a81645789e19945092b079da", + "rev": "0f355844e54e4c70906b1ef5cc35a0047d666c04", "type": "github" }, "original": { @@ -823,11 +878,11 @@ ] }, "locked": { - "lastModified": 1743869639, - "narHash": "sha256-Xhe3whfRW/Ay05z9m1EZ1/AkbV1yo0tm1CbgjtCi4rQ=", + "lastModified": 1748737919, + "narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "d094c6763c6ddb860580e7d3b4201f8f496a6836", + "rev": "5675a9686851d9626560052a032c4e14e533c1fa", "type": "github" }, "original": { @@ -852,11 +907,11 @@ ] }, "locked": { - "lastModified": 1742215578, - "narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", + "lastModified": 1749155331, + "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", + "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", "type": "github" }, "original": { @@ -884,11 +939,11 @@ ] }, "locked": { - "lastModified": 1738664950, - "narHash": "sha256-xIeGNM+iivwVHkv9tHwOqoUP5dDrtees34bbFKKMZYs=", + "lastModified": 1745948457, + "narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "7c6d165e1eb9045a996551eb9f121b6d1b30adc3", + "rev": "ac903e80b33ba6a88df83d02232483d99f327573", "type": "github" }, "original": { @@ -913,11 +968,11 @@ ] }, "locked": { - "lastModified": 1739049071, - "narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=", + "lastModified": 1749238452, + "narHash": "sha256-8qiKEWcxUrjpUpK+WyFNg/72C8rp70LUuyTD23T+SdQ=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73", + "rev": "c7225d73755a6c4c7c72f4d4f3925ea426e325a8", "type": "github" }, "original": { @@ -945,11 +1000,11 @@ ] }, "locked": { - "lastModified": 1739049071, - "narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=", + "lastModified": 1745015490, + "narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73", + "rev": "60754910946b4e2dc1377b967b7156cb989c5873", "type": "github" }, "original": { @@ -968,17 +1023,17 @@ "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "pre-commit-hooks": "pre-commit-hooks", "systems": "systems", "xdph": "xdph" }, "locked": { - "lastModified": 1744134195, - "narHash": "sha256-Y98IIVaoOuZy1T/+2l7ljp9vhNOkR99PZotVKu4QxA8=", + "lastModified": 1750279731, + "narHash": "sha256-ZGksLthUM6T9wDxzvzMjmcPgEGamYd0X1liL1TYDzNs=", "ref": "refs/heads/main", - "rev": "ea852965ffd4bf2bd2a74c0e821ba6190021eb31", - "revCount": 5980, + "rev": "9fb6b5d96bfd242990b1bf08bd42d24bed8fb4bc", + "revCount": 6202, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -1001,11 +1056,11 @@ ] }, "locked": { - "lastModified": 1743714874, - "narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=", + "lastModified": 1749046714, + "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2", + "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", "type": "github" }, "original": { @@ -1028,11 +1083,11 @@ ] }, "locked": { - "lastModified": 1738422629, - "narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=", + "lastModified": 1743714874, + "narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed", + "rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2", "type": "github" }, "original": { @@ -1060,11 +1115,11 @@ ] }, "locked": { - "lastModified": 1737634706, - "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "lastModified": 1749154592, + "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", "owner": "hyprwm", "repo": "hyprland-qt-support", - "rev": "8810df502cdee755993cb803eba7b23f189db795", + "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", "type": "github" }, "original": { @@ -1086,11 +1141,11 @@ ] }, "locked": { - "lastModified": 1737634706, - "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "lastModified": 1749154592, + "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", "owner": "hyprwm", "repo": "hyprland-qt-support", - "rev": "8810df502cdee755993cb803eba7b23f189db795", + "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", "type": "github" }, "original": { @@ -1157,11 +1212,11 @@ ] }, "locked": { - "lastModified": 1739048983, - "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", + "lastModified": 1749155776, + "narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", + "rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522", "type": "github" }, "original": { @@ -1197,11 +1252,11 @@ ] }, "locked": { - "lastModified": 1739048983, - "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", + "lastModified": 1745951494, + "narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", + "rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e", "type": "github" }, "original": { @@ -1220,7 +1275,7 @@ "hyprlang": "hyprlang_3", "hyprutils": "hyprutils_4", "hyprwayland-scanner": "hyprwayland-scanner_2", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_7", "pre-commit-hooks": "pre-commit-hooks_2", "systems": [ "hyprspace", @@ -1229,11 +1284,11 @@ "xdph": "xdph_2" }, "locked": { - "lastModified": 1739815352, - "narHash": "sha256-JqMiCMkkOOq5380y7S/xgBG9yd2C7/KjDbXqu4vLe2A=", + "lastModified": 1747431568, + "narHash": "sha256-pYwBbtvjHgJzvrHkZHsaqgMcCpOmQ4/9kymUgAnAjgk=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "d01f9943e1d401b09fc53be3c161279ab4f2c5ba", + "rev": "2946009006bd8a988ff8a51b83528f6e1d8f0e98", "type": "github" }, "original": { @@ -1258,11 +1313,11 @@ ] }, "locked": { - "lastModified": 1741191527, - "narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=", + "lastModified": 1749145882, + "narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "72df3861f1197e41b078faa3e38eedd60e00018d", + "rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", "type": "github" }, "original": { @@ -1286,11 +1341,11 @@ ] }, "locked": { - "lastModified": 1737634606, - "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", + "lastModified": 1749145882, + "narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "f41271d35cc0f370d300413d756c2677f386af9d", + "rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", "type": "github" }, "original": { @@ -1318,11 +1373,11 @@ ] }, "locked": { - "lastModified": 1739048914, - "narHash": "sha256-vd5rJBTmp2w7SDgfv23Zcd84ktI5eDA7e5UBzx+pKrU=", + "lastModified": 1746655412, + "narHash": "sha256-kVQ0bHVtX6baYxRWWIh4u3LNJZb9Zcm2xBeDPOGz5BY=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "a7334904d591f38757c46fbe2ab68651877d9099", + "rev": "557241780c179cf7ef224df392f8e67dab6cef83", "type": "github" }, "original": { @@ -1334,14 +1389,15 @@ "hyprpanel": { "inputs": { "ags": "ags_2", - "nixpkgs": "nixpkgs_6" + "astal": "astal_3", + "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1744085671, - "narHash": "sha256-u2y/IRs0zfIsiCyKsdpDjQMtmMEgjxSJ00MeHtgqsrY=", + "lastModified": 1750028451, + "narHash": "sha256-IQjlQcuoY89E1A1VkZo0lkpNy2ysXS9hXvtEGfhUoqQ=", "owner": "Jas-SinghFSU", "repo": "HyprPanel", - "rev": "a48b072b53a9ed2490867e366ea31c019a117fd1", + "rev": "e03666ab5d239e99b65a0df9cf33c6f47e145e4e", "type": "github" }, "original": { @@ -1354,15 +1410,15 @@ "inputs": { "hyprland-qt-support": "hyprland-qt-support_2", "hyprutils": "hyprutils_3", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "systems": "systems_2" }, "locked": { - "lastModified": 1743791843, - "narHash": "sha256-51ws0OsHlYUvn9sXOegd6JcPg3nnJRvpz8vaqg4kYo0=", + "lastModified": 1749162410, + "narHash": "sha256-Z9jdUoneixZZYg2/lGyfogfX6YkDbUtYp/FGbBTFHFI=", "owner": "hyprwm", "repo": "hyprpolkitagent", - "rev": "352638edcd400253dff375c36075ec9548ae1d32", + "rev": "20d5601485d538a816b794508d2511b3574b9985", "type": "github" }, "original": { @@ -1377,11 +1433,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1742767019, - "narHash": "sha256-FdyHDbf31jl5rIU7IQtBVTbZ1ojGrrp5aFaRrE2819s=", + "lastModified": 1747531250, + "narHash": "sha256-uDhXNURTJgQSpiaCgzqAizbblpcEWEB1WGWEqtCnLLM=", "owner": "KZDKM", "repo": "Hyprspace", - "rev": "5b62529c2011ede6069445de9b5b3f8a1f10ecfe", + "rev": "511d399120bdcafb43e57ca5ff35167c2bba6db8", "type": "github" }, "original": { @@ -1402,11 +1458,11 @@ ] }, "locked": { - "lastModified": 1743950287, - "narHash": "sha256-/6IAEWyb8gC/NKZElxiHChkouiUOrVYNq9YqG0Pzm4Y=", + "lastModified": 1749819919, + "narHash": "sha256-7F/KG8dwSH9JXdlpOVrEEArS+PJSn0iEnx5eVCk89/I=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "f2dc70e448b994cef627a157ee340135bd68fbc6", + "rev": "57ab2a867d8b554ad89f29060c15efd11631db91", "type": "github" }, "original": { @@ -1431,11 +1487,11 @@ ] }, "locked": { - "lastModified": 1737632363, - "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", + "lastModified": 1749135356, + "narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "006620eb29d54ea9086538891404c78563d1bae1", + "rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb", "type": "github" }, "original": { @@ -1456,11 +1512,11 @@ ] }, "locked": { - "lastModified": 1737632363, - "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", + "lastModified": 1749135356, + "narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "006620eb29d54ea9086538891404c78563d1bae1", + "rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb", "type": "github" }, "original": { @@ -1483,11 +1539,11 @@ ] }, "locked": { - "lastModified": 1739048933, - "narHash": "sha256-ck6MaoYvISBQKqZR+HcxXnx0wOhyCauxfVMaV5zhJxQ=", + "lastModified": 1746635225, + "narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "e4e018a2ca6f5a9c33511973454199e1c7c85499", + "rev": "674ea57373f08b7609ce93baff131117a0dfe70d", "type": "github" }, "original": { @@ -1508,11 +1564,11 @@ ] }, "locked": { - "lastModified": 1739870480, - "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", + "lastModified": 1749145760, + "narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", + "rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", "type": "github" }, "original": { @@ -1535,11 +1591,11 @@ ] }, "locked": { - "lastModified": 1739049028, - "narHash": "sha256-RleJp7LYbr6s+M1xgbmhtBs+fYa3ZdIiF7+QalJ4D1g=", + "lastModified": 1739870480, + "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "04146df74a8d5ec0b579657307be01f1e241125f", + "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", "type": "github" }, "original": { @@ -1562,65 +1618,86 @@ ] }, "locked": { - "lastModified": 1729958008, - "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "lastModified": 1748294338, + "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", "owner": "NuschtOS", "repo": "ixx", - "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.6", + "ref": "v0.0.8", "repo": "ixx", "type": "github" } }, - "libgit2": { - "flake": false, + "mnw": { "locked": { - "lastModified": 1697646580, - "narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=", - "owner": "libgit2", - "repo": "libgit2", - "rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5", + "lastModified": 1748710831, + "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=", + "owner": "Gerg-L", + "repo": "mnw", + "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d", "type": "github" }, "original": { - "owner": "libgit2", - "repo": "libgit2", + "owner": "Gerg-L", + "repo": "mnw", + "type": "github" + } + }, + "nil": { + "inputs": { + "nixpkgs": [ + "nvf", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750047244, + "narHash": "sha256-vluLARrk4485npdyHOj8XKr0yk6H22pNf+KVRNL+i/Y=", + "owner": "oxalica", + "repo": "nil", + "rev": "870a4b1b5f12004832206703ac15aa85c42c247b", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "nil", "type": "github" } }, "nix": { "inputs": { "flake-compat": [ - "devenv" + "devenv", + "flake-compat" ], "flake-parts": "flake-parts", - "libgit2": "libgit2", - "nixpkgs": "nixpkgs_4", + "git-hooks-nix": [ + "devenv", + "git-hooks" + ], + "nixpkgs": "nixpkgs_3", "nixpkgs-23-11": [ "devenv" ], "nixpkgs-regression": [ "devenv" - ], - "pre-commit-hooks": [ - "devenv" ] }, "locked": { - "lastModified": 1741798497, - "narHash": "sha256-E3j+3MoY8Y96mG1dUIiLFm2tZmNbRvSiyN7CrSKuAVg=", - "owner": "domenkozar", + "lastModified": 1750117611, + "narHash": "sha256-LTwASICtyN3AjzlF9l2ZNAIVZqclio3yRcwwZy3QSJA=", + "owner": "cachix", "repo": "nix", - "rev": "f3f44b2baaf6c4c6e179de8cbb1cc6db031083cd", + "rev": "9e4fc95c388e2223d47da865503dee20d179776a", "type": "github" }, "original": { - "owner": "domenkozar", - "ref": "devenv-2.24", + "owner": "cachix", + "ref": "devenv-2.30", "repo": "nix", "type": "github" } @@ -1653,11 +1730,11 @@ ] }, "locked": { - "lastModified": 1743911143, - "narHash": "sha256-4j4JPwr0TXHH4ZyorXN5yIcmqIQr0WYacsuPA4ktONo=", + "lastModified": 1749960154, + "narHash": "sha256-EWlr9MZDd+GoGtZB4QsDzaLyaDQPGnRY03MFp6u2wSg=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "a36f6a7148aec2c77d78e4466215cceb2f5f4bfb", + "rev": "424a40050cdc5f494ec45e46462d288f08c64475", "type": "github" }, "original": { @@ -1666,19 +1743,38 @@ "type": "github" } }, + "nix-ld": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750063074, + "narHash": "sha256-7QnOl/O2H/DkKWwm9uqrVrFDsY+t+SMmP4tNshTxtXw=", + "owner": "Mic92", + "repo": "nix-ld", + "rev": "86da381d0fe3abe488e6badd83ccfacf7698989e", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "nix-ld", + "type": "github" + } + }, "nixcord": { "inputs": { "flake-compat": "flake-compat_5", - "nixpkgs": "nixpkgs_9", - "systems": "systems_4", - "treefmt-nix": "treefmt-nix_2" + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1743833482, - "narHash": "sha256-tUV7MhS/JFOEp3JQxiyvo8K3aS5zP5jcF/Buk57yWDo=", + "lastModified": 1750281546, + "narHash": "sha256-o7b5TOCNJTYeOD9dPcX/pKo9eVcqKKqtVvPV03kzYz0=", "owner": "kaylorben", "repo": "nixcord", - "rev": "2903d897d5939324a758bd3f2cee1fbcb118b5d1", + "rev": "b664a1ffa1700bb8ff945778ed4d6d60ca04be2e", "type": "github" }, "original": { @@ -1689,11 +1785,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737469691, - "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", + "lastModified": 1743583204, + "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", + "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", "type": "github" }, "original": { @@ -1719,13 +1815,43 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1743964447, - "narHash": "sha256-nEo1t3Q0F+0jQ36HJfbJtiRU4OI+/0jX/iITURKe3EE=", + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "063dece00c5a77e4a0ea24e5e5a5bd75232806f8", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", "type": "github" }, "original": { @@ -1737,27 +1863,27 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1743964447, - "narHash": "sha256-nEo1t3Q0F+0jQ36HJfbJtiRU4OI+/0jX/iITURKe3EE=", - "owner": "nixos", + "lastModified": 1750183894, + "narHash": "sha256-ZtOgEt70keBVB4YJc+z7m0h7J1BOlv/GjHE1YC6KxeA=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "063dece00c5a77e4a0ea24e5e5a5bd75232806f8", + "rev": "f45e75fc63fc8a7ffc3da382b2f6b681c5b71875", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_11": { "locked": { - "lastModified": 1744032190, - "narHash": "sha256-KSlfrncSkcu1YE+uuJ/PTURsSlThoGkRqiGDVdbiE/k=", + "lastModified": 1744868846, + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b0b4b5f8f621bfe213b8b21694bab52ecfcbf30b", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", "type": "github" }, "original": { @@ -1769,27 +1895,11 @@ }, "nixpkgs_12": { "locked": { - "lastModified": 1743689281, - "narHash": "sha256-y7Hg5lwWhEOgflEHRfzSH96BOt26LaYfrYWzZ+VoVdg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2bfc080955153be0be56724be6fa5477b4eefabb", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_13": { - "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", + "lastModified": 1747744144, + "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", + "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", "type": "github" }, "original": { @@ -1799,13 +1909,13 @@ "type": "github" } }, - "nixpkgs_14": { + "nixpkgs_13": { "locked": { - "lastModified": 1743583204, - "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -1817,11 +1927,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1746461020, + "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae", "type": "github" }, "original": { @@ -1833,11 +1943,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1733212471, - "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "lastModified": 1747179050, + "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e", "type": "github" }, "original": { @@ -1849,31 +1959,31 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1717432640, - "narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "88269ab3044128b7c2f4c7d68448b2fb50456870", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-24.05", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_5": { "locked": { - "lastModified": 1743827369, - "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", - "owner": "NixOS", + "lastModified": 1748370509, + "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "42a1c966be226125b48c384171c44c651c236c22", + "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -1881,15 +1991,15 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1736344531, - "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", - "owner": "nixos", + "lastModified": 1748929857, + "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", + "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -1897,11 +2007,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1737469691, - "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", + "lastModified": 1746461020, + "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", + "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae", "type": "github" }, "original": { @@ -1913,48 +2023,49 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1739020877, - "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", + "lastModified": 1749494155, + "narHash": "sha256-FG4DEYBpROupu758beabUk9lhrblSf5hnv84v1TLqMc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", + "rev": "88331c17ba434359491e8d5889cce872464052c2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_9": { "locked": { - "lastModified": 1742800061, - "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", - "owner": "NixOS", + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixvim": { "inputs": { - "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_11", - "nuschtosSearch": "nuschtosSearch" + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_10", + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_5" }, "locked": { - "lastModified": 1744119992, - "narHash": "sha256-XtwL/QfMjJtqO//mAjEfiC7noaAtH/gtQttcBE8dufs=", + "lastModified": 1750289168, + "narHash": "sha256-MepgWJlHm88sFbu0GLlNqMl8NHlEVDOtrwqHWAZIQVU=", "owner": "nix-community", "repo": "nixvim", - "rev": "7114362f36123a8401f4905c2e833fd9a0c2ddd1", + "rev": "c6051305e5ab01474f4c4cc9f90721e08fd2be83", "type": "github" }, "original": { @@ -1965,19 +2076,22 @@ }, "nur": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": [ + "stylix", + "flake-parts" + ], "nixpkgs": [ "stylix", "nixpkgs" ], - "treefmt-nix": "treefmt-nix_3" + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1743884191, - "narHash": "sha256-foVcginhVvjg8ZnTzY5wwMeZ4wjJ8yX66PW5kgyivPE=", + "lastModified": 1748730660, + "narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=", "owner": "nix-community", "repo": "NUR", - "rev": "fde90f5f52e13eed110a0e53a2818a2b09e4d37c", + "rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb", "type": "github" }, "original": { @@ -1996,11 +2110,11 @@ ] }, "locked": { - "lastModified": 1743683223, - "narHash": "sha256-LdXtHFvhEC3S64dphap1pkkzwjErbW65eH1VRerCUT0=", + "lastModified": 1749730855, + "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", "owner": "NuschtOS", "repo": "search", - "rev": "56a49ffef2908dad1e9a8adef1f18802bc760962", + "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", "type": "github" }, "original": { @@ -2009,6 +2123,31 @@ "type": "github" } }, + "nvf": { + "inputs": { + "flake-parts": "flake-parts_4", + "flake-utils": "flake-utils_3", + "mnw": "mnw", + "nil": "nil", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_7" + }, + "locked": { + "lastModified": 1750279337, + "narHash": "sha256-K8+lSoyfVIwPpKjPvCQsCWL59VI3XSbgbYdPUkTTaA8=", + "owner": "notashelf", + "repo": "nvf", + "rev": "787678dd731e0246d42ca70b758ae0ac35bd48e2", + "type": "github" + }, + "original": { + "owner": "notashelf", + "repo": "nvf", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_3", @@ -2019,11 +2158,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1749636823, + "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", "type": "github" }, "original": { @@ -2043,11 +2182,11 @@ ] }, "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "lastModified": 1746537231, + "narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "rev": "fa466640195d38ec97cf0493d6d6882bc4d14969", "type": "github" }, "original": { @@ -2065,11 +2204,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1749636823, + "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", "type": "github" }, "original": { @@ -2089,11 +2228,13 @@ "hyprpolkitagent": "hyprpolkitagent", "hyprspace": "hyprspace", "nix-index-database": "nix-index-database", + "nix-ld": "nix-ld", "nixcord": "nixcord", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_9", "nixpkgs-24_05": "nixpkgs-24_05", "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim", + "nvf": "nvf", "pre-commit-hooks": "pre-commit-hooks_3", "secrets": "secrets", "sops-nix": "sops-nix", @@ -2119,14 +2260,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1744103455, - "narHash": "sha256-SR6+qjkPjGQG+8eM4dCcVtss8r9bre/LAxFMPJpaZeU=", + "lastModified": 1750119275, + "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", "owner": "Mic92", "repo": "sops-nix", - "rev": "69d5a5a4635c27dae5a742f36108beccc506c1ba", + "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", "type": "github" }, "original": { @@ -2137,16 +2278,16 @@ }, "stable": { "locked": { - "lastModified": 1730883749, - "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", + "lastModified": 1746557022, + "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", + "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } @@ -2159,7 +2300,7 @@ "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", "flake-compat": "flake-compat_7", - "flake-utils": "flake-utils_3", + "flake-parts": "flake-parts_5", "git-hooks": "git-hooks_2", "gnome-shell": "gnome-shell", "home-manager": "home-manager_2", @@ -2167,7 +2308,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_6", + "systems": "systems_8", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -2175,11 +2316,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1744127443, - "narHash": "sha256-8E4hqLYI4zJbEVPQBq5zzJDsiHGOU4+0htGKexwXRPw=", + "lastModified": 1750205637, + "narHash": "sha256-49wV81h1jnHJky1XNHfgwxNA0oCwSTLMz4hhrtWCM8A=", "owner": "danth", "repo": "stylix", - "rev": "a2f8840bed6daade6b980426c9f72dd672e92329", + "rev": "82323751bcd45579c8d3a5dd05531c3c2a78e347", "type": "github" }, "original": { @@ -2193,14 +2334,14 @@ "flake-compat": "flake-compat_8", "flake-utils": "flake-utils_4", "gomod2nix": "gomod2nix", - "nixpkgs": "nixpkgs_13" + "nixpkgs": "nixpkgs_12" }, "locked": { - "lastModified": 1744116296, - "narHash": "sha256-MBUeztCsuziIE0vmVi19Eg1UQ+HHDATb+gK6SoU6v4M=", + "lastModified": 1749911507, + "narHash": "sha256-XYdbA2Xfd2kwEl0lYak/dYSixjUHxgbkvs3SMXNYkPQ=", "owner": "MHNightCat", "repo": "superfile", - "rev": "2854a6bfa77384f2453a6e469d73cf7cba9a89da", + "rev": "5d8a841cf8556406037a651a5aee8a6d2e0b655f", "type": "github" }, "original": { @@ -2264,8 +2405,9 @@ "type": "github" }, "original": { - "id": "systems", - "type": "indirect" + "owner": "nix-systems", + "repo": "default", + "type": "github" } }, "systems_5": { @@ -2313,6 +2455,36 @@ "type": "github" } }, + "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -2333,28 +2505,27 @@ "tinted-kitty": { "flake": false, "locked": { - "lastModified": 1716423189, - "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", "owner": "tinted-theming", "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", "type": "github" }, "original": { "owner": "tinted-theming", "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", "type": "github" } }, "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1742851696, - "narHash": "sha256-sR4K+OVFKeUOvNIqcCr5Br7NLxOBEwoAgsIyjsZmb8s=", + "lastModified": 1748180480, + "narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=", "owner": "tinted-theming", "repo": "schemes", - "rev": "c37771c4ae8ff1667e27ddcf24991ebeb94a4e77", + "rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31", "type": "github" }, "original": { @@ -2366,11 +2537,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1743296873, - "narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=", + "lastModified": 1748740859, + "narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a", + "rev": "57d5f9683ff9a3b590643beeaf0364da819aedda", "type": "github" }, "original": { @@ -2396,48 +2567,6 @@ } }, "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "home-manager", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1743748085, - "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "nixcord", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1742370146, - "narHash": "sha256-XRE8hL4vKIQyVMDXykFh4ceo3KSpuJF3ts8GKwh5bIU=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "adc195eef5da3606891cedf80c0d9ce2d3190808", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_3": { "inputs": { "nixpkgs": [ "stylix", @@ -2487,11 +2616,11 @@ ] }, "locked": { - "lastModified": 1741934139, - "narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=", + "lastModified": 1749490041, + "narHash": "sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "150b0b6f52bb422a1b232a53698606fe0320dde0", + "rev": "3cf35e178bc192ee51e3fddfd69e531e2c106a30", "type": "github" }, "original": { @@ -2534,11 +2663,11 @@ ] }, "locked": { - "lastModified": 1737634991, - "narHash": "sha256-dBAnb7Kbnier30cA7AgxVSxxARmxKZ1vHZT33THSIr8=", + "lastModified": 1745871725, + "narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "e09dfe2726c8008f983e45a0aa1a3b7416aaeb8a", + "rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e", "type": "github" }, "original": { @@ -2549,14 +2678,14 @@ }, "zen-browser": { "inputs": { - "nixpkgs": "nixpkgs_14" + "nixpkgs": "nixpkgs_13" }, "locked": { - "lastModified": 1743854785, - "narHash": "sha256-Dfirlfzi40NZVBZuO3JVBoWrS0mZSWi6r4us2M+2YX8=", + "lastModified": 1750151185, + "narHash": "sha256-FEWPaTam/kE83JI/G6QhdFKqNihYnt6ve1q/hY754R4=", "ref": "refs/heads/main", - "rev": "be66251224e6fc81cb5f2274aecd0bb91ae9aa16", - "revCount": 85, + "rev": "224eb5b606bd0930adf3d30e17f759a52f8dc50e", + "revCount": 106, "type": "git", "url": "https://git.sr.ht/~canasta/zen-browser-flake/" }, diff --git a/flake.nix b/flake.nix index d67b5a4..c767d53 100644 --- a/flake.nix +++ b/flake.nix @@ -9,6 +9,8 @@ # at the same time. Here's an working example: nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; # Also see the 'unstable-packages' overlay at 'overlays/default.nix'. + nix-ld.url = "github:Mic92/nix-ld"; + nix-ld.inputs.nixpkgs.follows = "nixpkgs"; nixpkgs-24_05.url = "github:NixOS/nixpkgs/nixos-24.05"; secrets.url = "git+ssh://git@github.com/gwg313/nixos-secrets.git"; hyprpolkitagent.url = "github:hyprwm/hyprpolkitagent"; @@ -57,6 +59,10 @@ nixvim = { url = "github:nix-community/nixvim"; }; + nvf = { + url = "github:notashelf/nvf"; + inputs.nixpkgs.follows = "nixpkgs"; + }; pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; @@ -69,6 +75,7 @@ nixpkgs, home-manager, colmena, + nix-ld, ... }@inputs: let @@ -85,7 +92,6 @@ # pass to it, with each system as an argument forAllSystems = nixpkgs.lib.genAttrs systems; user = "gwg313"; - in { # Your custom packages @@ -145,6 +151,7 @@ modules = [ # > Our main nixos configuration file < ./hosts/candlekeep/configuration.nix + nix-ld.nixosModules.nix-ld ]; }; }; @@ -172,7 +179,7 @@ modules = [ # > Our main home-manager configuration file < ./home-manager/machines/candlekeep.nix - inputs.nixcord.homeManagerModules.nixcord + inputs.nixcord.homeModules.nixcord inputs.stylix.homeManagerModules.stylix ]; }; @@ -187,7 +194,7 @@ modules = [ # > Our main home-manager configuration file < ./home-manager/machines/grymforge.nix - inputs.nixcord.homeManagerModules.nixcord + inputs.nixcord.homeModules.nixcord inputs.stylix.homeManagerModules.stylix ]; }; @@ -226,6 +233,13 @@ imports = [ ./hosts/waypoint/configuration.nix ]; }; + # kerby = { + # deployment = { + # targetHost = "waypoint"; # <- defined in ~/.ssh/config + # }; + # imports = [./hosts/kerby/configuration.nix]; + # }; + seikan = { deployment = { targetHost = "seikan"; # <- defined in ~/.ssh/config diff --git a/home-manager/machines/candlekeep.nix b/home-manager/machines/candlekeep.nix index b92539b..8bd4b4b 100644 --- a/home-manager/machines/candlekeep.nix +++ b/home-manager/machines/candlekeep.nix @@ -19,6 +19,8 @@ inputs.ags.homeManagerModules.default # You can also split up your configuration and import pieces of it here: + + ../modules/nvf ./candlekeep/variables.nix # ./nvim.nix ../modules/common.nix @@ -30,7 +32,7 @@ ../modules/ssh.nix ../modules/gh-dash.nix ../modules/ags.nix - ../modules/neovim + # ../modules/neovim ../modules/yazi.nix # ../modules/hyprpanel.nix # ../modules/hyprlock.nix @@ -50,7 +52,7 @@ # You can also add overlays exported from other flakes: # neovim-nightly-overlay.overlays.default - (final: prev: { neovim = inputs.neovim-config.packages."x86_64-linux".default; }) + # (final: prev: { neovim = inputs.neovim-config.packages."x86_64-linux".default; }) # Or define it inline, for example: # (final: prev: { @@ -75,28 +77,38 @@ }; stylix = { - base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml"; - image = ../../wallpapers/hollow-knight.jpg; + fonts = { + sizes = { + applications = 13; # UI font (GTK/Qt) + terminal = 14; # Comfortable for reading code/math + desktop = 13; # WM, notifications + popups = 12; # Tooltips, menus + }; + }; + # base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool-light.yaml"; + image = ../../wallpapers/floating_city.jpg; + # polarity = "dark"; autoEnable = true; enable = true; + targets.nixvim.enable = false; opacity.terminal = 1.0; - fonts.sizes.terminal = 15; fonts = { serif = { - package = pkgs.meslo-lgs-nf; - name = "MesloLGS NF"; + package = pkgs.lmodern; + name = "Latin Modern Roman"; }; sansSerif = { - package = pkgs.meslo-lgs-nf; - name = "MesloLGS NF"; + package = pkgs.inter; + name = "Inter"; }; monospace = { - package = pkgs.ibm-plex; - name = "IBM Plex Mono"; + package = pkgs.fira-code; + name = "Fire Code"; }; emoji = { @@ -105,12 +117,30 @@ }; }; cursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Classic"; - size = 20; + package = pkgs.vanilla-dmz; + name = "Vanilla-DMZ"; + size = 24; }; }; + gtk = { + enable = true; + iconTheme = { + name = "WhiteSur-Light"; + package = pkgs.whitesur-icon-theme.override { + boldPanelIcons = true; + alternativeIcons = true; + }; + }; + # font.name = "Inter 13"; + }; + + qt = { + enable = true; + platformTheme.name = "gtk"; + style.name = "adwaita"; + }; + # Add stuff for your user as you see fit: # programs.neovim.enable = true; home.packages = with pkgs; [ diff --git a/home-manager/machines/grymforge.nix b/home-manager/machines/grymforge.nix index 9875b7d..d63537b 100644 --- a/home-manager/machines/grymforge.nix +++ b/home-manager/machines/grymforge.nix @@ -24,6 +24,7 @@ # ../modules/hyprlock.nix # ../modules/hypridle.nix # ./nvim.nix + ../modules/nvf ../modules/common.nix ../modules/hyprland # ../modules/hyprland.nix @@ -32,9 +33,10 @@ ../modules/devenv.nix ../modules/gh-dash.nix ../modules/ssh.nix - ../modules/neovim/default.nix + # ../modules/neovim/default.nix ../modules/yazi.nix ../modules/qutebrowser.nix + ../scripts/default.nix ]; nixpkgs = { @@ -73,31 +75,38 @@ }; stylix = { - # base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml"; + fonts = { + sizes = { + applications = 13; # UI font (GTK/Qt) + terminal = 14; # Comfortable for reading code/math + desktop = 13; # WM, notifications + popups = 12; # Tooltips, menus + }; + }; base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml"; - image = ../../wallpapers/hollow-knight.jpg; + # base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool-light.yaml"; + image = ../../wallpapers/nixos-wallpaper-catppuccin-latte.png; # polarity = "dark"; autoEnable = true; enable = true; targets.nixvim.enable = false; opacity.terminal = 1.0; - fonts.sizes.terminal = 20; fonts = { serif = { - package = pkgs.meslo-lgs-nf; - name = "MesloLGS NF"; + package = pkgs.lmodern; + name = "Latin Modern Roman"; }; sansSerif = { - package = pkgs.meslo-lgs-nf; - name = "MesloLGS NF"; + package = pkgs.inter; + name = "Inter"; }; monospace = { - package = pkgs.ibm-plex; - name = "IBM Plex Mono"; + package = pkgs.fira-code; + name = "Fire Code"; }; emoji = { @@ -106,12 +115,29 @@ }; }; cursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Classic"; - size = 20; + package = pkgs.vanilla-dmz; + name = "Vanilla-DMZ"; + size = 24; }; }; + gtk = { + enable = true; + iconTheme = { + name = "WhiteSur-Light"; + package = pkgs.whitesur-icon-theme.override { + boldPanelIcons = true; + alternativeIcons = true; + }; + }; + # font.name = "Inter 13"; + }; + + qt = { + enable = true; + platformTheme.name = "gtk"; + style.name = "adwaita"; + }; # Add stuff for your user as you see fit: # programs.neovim.enable = true; home.packages = with pkgs; [ openvpn ]; diff --git a/home-manager/modules/ags.nix b/home-manager/modules/ags.nix index c7b4e26..e55803b 100644 --- a/home-manager/modules/ags.nix +++ b/home-manager/modules/ags.nix @@ -1,5 +1,6 @@ # A cat clone with syntax highlighting and Git integration. -{pkgs, ...}: { +{ pkgs, ... }: +{ programs.ags = { enable = true; # null or path, leave as null if you don't want hm to manage the config @@ -8,7 +9,6 @@ # additional packages to add to gjs's runtime extraPackages = with pkgs; [ gtksourceview - webkitgtk accountsservice libdbusmenu-gtk3 ]; diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index a66094b..368d3d9 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -26,6 +26,7 @@ home.packages = with pkgs; [ + ncdu # Editors # neovim # Improved version of vim, often used with overlays. # vim # Highly configurable text editor popular for efficiency and extensibility. @@ -46,7 +47,7 @@ ripgrep # Faster alternative to 'grep,' recursively searching directories for a regex pattern. rm-improved # Enhanced file and directory removal tool with interactive prompts, advanced options, and improved user feedback. tealdeer # Command-line utility providing simplified and community-driven man pages. - thefuck # Handy tool that corrects mistyped console commands. + pay-respects # Handy tool that corrects mistyped console commands. viddy # A modern watch command. Time machine and pager etc. # Multiplexers diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index fce6e22..6f7b7ad 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -10,8 +10,10 @@ enable = true; userName = "gwg313"; userEmail = "gwg313@pm.me"; - extraConfig = { + credential = { + helper = "!pass-git-helper $@"; + }; user = { signingkey = "60FF63B4826B7400"; }; @@ -60,7 +62,6 @@ default = "simple"; autoSetupRemote = "true"; followTags = "true"; - }; pull = { rebase = "true"; @@ -142,5 +143,12 @@ pre-commit graphite-cli tig + pass-git-helper ]; + + xdg.configFile."pass-git-helper/git-pass-mapping.ini".text = '' + [git.gwg313.xyz*] + target=git/https/git.gwg313.xyz + line_username=1 + ''; } diff --git a/home-manager/modules/hyprland/default.nix b/home-manager/modules/hyprland/default.nix index baf4ba5..04f7bd6 100644 --- a/home-manager/modules/hyprland/default.nix +++ b/home-manager/modules/hyprland/default.nix @@ -144,6 +144,7 @@ in disable_autoreload = true; focus_on_activate = true; new_window_takes_over_fullscreen = 2; + middle_click_paste = false; }; windowrulev2 = [ diff --git a/home-manager/modules/lazygit.nix b/home-manager/modules/lazygit.nix index e7845e5..d0683f6 100644 --- a/home-manager/modules/lazygit.nix +++ b/home-manager/modules/lazygit.nix @@ -8,7 +8,13 @@ in enable = true; settings = lib.mkForce { + disableStartupPopups = true; + notARepository = "skip"; + promptToReturnFromSubprocess = false; + update.method = "never"; + git = { + commit.signOff = true; overrideGpg = true; }; gui = { diff --git a/home-manager/modules/linux-gui.nix b/home-manager/modules/linux-gui.nix index f3160ec..d3557dc 100644 --- a/home-manager/modules/linux-gui.nix +++ b/home-manager/modules/linux-gui.nix @@ -22,7 +22,7 @@ inkscape nicotine-plus anki - obsidian + # obsidian chromium vlc zotero diff --git a/home-manager/modules/mime.nix b/home-manager/modules/mime.nix index 5fd1842..6231da4 100644 --- a/home-manager/modules/mime.nix +++ b/home-manager/modules/mime.nix @@ -1,39 +1,96 @@ +{ pkgs, lib, ... }: +with lib; +let + defaultApps = { + browser = [ "zen-beta.desktop" ]; + text = [ "org.gnome.TextEditor.desktop" ]; + image = [ "imv-dir.desktop" ]; + audio = [ "mpv.desktop" ]; + video = [ "mpv.desktop" ]; + directory = [ "thunar.desktop" ]; + office = [ "libreoffice.desktop" ]; + pdf = [ "zathura.desktop" ]; + terminal = [ "kitty.desktop" ]; + discord = [ "discord.desktop" ]; + archive = [ "xarchiver.desktop" ]; + }; + + mimeMap = { + text = [ "text/plain" ]; + image = [ + "image/bmp" + "image/gif" + "image/jpeg" + "image/jpg" + "image/png" + "image/svg+xml" + "image/tiff" + "image/vnd.microsoft.icon" + "image/webp" + ]; + audio = [ + "audio/aac" + "audio/mpeg" + "audio/ogg" + "audio/opus" + "audio/wav" + "audio/webm" + "audio/x-matroska" + ]; + video = [ + "video/mp2t" + "video/mp4" + "video/mpeg" + "video/ogg" + "video/webm" + "video/x-flv" + "video/x-matroska" + "video/x-msvideo" + ]; + directory = [ "inode/directory" ]; + browser = [ + "text/html" + "x-scheme-handler/about" + "x-scheme-handler/http" + "x-scheme-handler/https" + "x-scheme-handler/unknown" + ]; + office = [ + "application/vnd.oasis.opendocument.text" + "application/vnd.oasis.opendocument.spreadsheet" + "application/vnd.oasis.opendocument.presentation" + "application/vnd.openxmlformats-officedocument.wordprocessingml.document" + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" + "application/vnd.openxmlformats-officedocument.presentationml.presentation" + "application/msword" + "application/vnd.ms-excel" + "application/vnd.ms-powerpoint" + "application/rtf" + ]; + pdf = [ "application/pdf" ]; + terminal = [ "terminal" ]; + archive = [ + "application/zip" + "application/rar" + "application/7z" + "application/*tar" + ]; + discord = [ "x-scheme-handler/discord" ]; + }; + + associations = + with lists; + listToAttrs ( + flatten (mapAttrsToList (key: map (type: attrsets.nameValuePair type defaultApps."${key}")) mimeMap) + ); +in { - xdg.mimeApps = { - enable = true; - defaultApplications = { - "text/markdown" = "nvim.desktop"; - "text/plain" = "nvim.desktop"; - "text/x-shellscript" = "nvim.desktop"; - "text/x-python" = "nvim.desktop"; - "text/x-go" = "nvim.desktop"; - "text/css" = "nvim.desktop"; - "text/javascript" = "nvim.desktop"; - "text/x-c" = "nvim.desktop"; - "text/x-c++" = "nvim.desktop"; - "text/x-java" = "nvim.desktop"; - "text/x-rust" = "nvim.desktop"; - "text/x-yaml" = "nvim.desktop"; - "text/x-toml" = "nvim.desktop"; - "text/x-dockerfile" = "nvim.desktop"; - "text/x-xml" = "nvim.desktop"; - "text/x-php" = "nvim.desktop"; - "image/jpeg" = "imv.desktop"; - "image/jpg" = "imv.desktop"; - "image/webp" = "imv.desktop"; - "image/gif" = "zen.desktop"; - "x-scheme-handler/http" = "zen.desktop"; - "x-scheme-handler/https" = "zen.desktop"; - "text/html" = "zen.desktop"; - "application/pdf" = "zathura.desktop"; - "image/png" = "imv-dir.desktop"; - "x-scheme-handler/chrome" = "zen.desktop"; - "application/x-extension-htm" = "zen.desktop"; - "application/x-extension-html" = "zen.desktop"; - "application/x-extension-shtml" = "zen.desktop"; - "application/xhtml+xml" = "zen.desktop"; - "application/x-extension-xhtml" = "zen.desktop"; - "application/x-extension-xht" = "zen.desktop"; + xdg = { + configFile."mimeapps.list".force = true; + mimeApps = { + enable = true; + associations.added = associations; + defaultApplications = associations; }; }; } diff --git a/home-manager/modules/neovim/options.nix b/home-manager/modules/neovim/options.nix index b723ba9..b2ce59c 100644 --- a/home-manager/modules/neovim/options.nix +++ b/home-manager/modules/neovim/options.nix @@ -8,6 +8,8 @@ loaded_python_provider = 0; # Python 2 }; + colorscheme = "base16-atelier-sulphurpool-light"; + clipboard = { # Use system clipboard register = "unnamedplus"; diff --git a/home-manager/modules/neovim/plugins/base16.nix b/home-manager/modules/neovim/plugins/base16.nix new file mode 100644 index 0000000..b672b6b --- /dev/null +++ b/home-manager/modules/neovim/plugins/base16.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + programs.nixvim = { + colorschemes.base16 = { + enable = true; + colorscheme = "atelier-sulphurpool-light"; + autoLoad = true; + }; + }; +} diff --git a/home-manager/modules/neovim/plugins/conform.nix b/home-manager/modules/neovim/plugins/conform.nix index ed28ff2..883fc64 100644 --- a/home-manager/modules/neovim/plugins/conform.nix +++ b/home-manager/modules/neovim/plugins/conform.nix @@ -99,6 +99,7 @@ fsharp = [ "fantomas" ]; go = [ "gofmt" ]; haskell = [ "ormolu" ]; + java = [ "google-java-format" ]; javascript = [ [ "prettierd" diff --git a/home-manager/modules/neovim/plugins/default.nix b/home-manager/modules/neovim/plugins/default.nix index 9886bb7..b620f1d 100644 --- a/home-manager/modules/neovim/plugins/default.nix +++ b/home-manager/modules/neovim/plugins/default.nix @@ -3,7 +3,8 @@ _: { # ./none-ls.nix ./autopairs.nix ./bufferline.nix - ./catppuccin.nix + ./base16.nix + # ./catppuccin.nix ./comment.nix ./conform.nix ./clangd-extensions.nix diff --git a/home-manager/modules/neovim/plugins/lsp.nix b/home-manager/modules/neovim/plugins/lsp.nix index b0b9310..1edf45a 100644 --- a/home-manager/modules/neovim/plugins/lsp.nix +++ b/home-manager/modules/neovim/plugins/lsp.nix @@ -101,6 +101,7 @@ # # initOptions.compilationDatabaseDirectory = "build"; # }; + jdtls.enable = true; clangd = { enable = true; filetypes = [ diff --git a/home-manager/modules/nvf/default.nix b/home-manager/modules/nvf/default.nix new file mode 100644 index 0000000..dec6519 --- /dev/null +++ b/home-manager/modules/nvf/default.nix @@ -0,0 +1,26 @@ +{ + inputs, + pkgs, + ... +}: +{ + imports = [ + inputs.nvf.homeManagerModules.default + ./options.nix + ./languages.nix + ./picker.nix + ./snacks.nix + ./keymaps.nix + ./utils.nix + ./mini.nix + ]; + + programs.nvf = { + enable = true; + settings.vim = { + startPlugins = [ + pkgs.vimPlugins.vim-kitty-navigator + ]; + }; + }; +} diff --git a/home-manager/modules/nvf/keymaps.nix b/home-manager/modules/nvf/keymaps.nix new file mode 100644 index 0000000..1a6a18e --- /dev/null +++ b/home-manager/modules/nvf/keymaps.nix @@ -0,0 +1,275 @@ +{ + programs.nvf.settings.vim = { + globals.mapleader = " "; + binds = { + whichKey = { + enable = true; + # TODO: registers + register = { }; + }; + }; + keymaps = [ + # General Mappings + { + key = "s"; + mode = "n"; + silent = true; + action = "lua require('flash').jump()"; + desc = "Flash"; + } + { + key = "K"; + mode = "n"; + silent = true; + action = "lua vim.lsp.buf.hover()"; + desc = "LSP Hover"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "bnext"; + desc = "Next Buffer"; + } + + # Kitty navigator + { + key = ""; + mode = "n"; + silent = true; + action = "KittyNavigateLeft"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "KittyNavigateDown"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "KittyNavigateUp"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "KittyNavigateRight"; + } + + # Disable Arrow Keys in Normal Mode + # { + # key = ""; + # mode = "n"; + # silent = true; + # action = "k"; + # desc = "Disable Up Arrow"; + # } + # { + # key = ""; + # mode = "n"; + # silent = true; + # action = "j"; + # desc = "Disable Down Arrow"; + # } + # { + # key = ""; + # mode = "n"; + # silent = true; + # action = "h"; + # desc = "Disable Left Arrow"; + # } + # { + # key = ""; + # mode = "n"; + # silent = true; + # action = "l"; + # desc = "Disable Right Arrow"; + # } + + # UI + { + key = "uw"; + mode = "n"; + silent = true; + action = "set wrap!"; + desc = "Toggle word wrapping"; + } + { + key = "ul"; + mode = "n"; + silent = true; + action = "set linebreak!"; + desc = "Toggle linebreak"; + } + { + key = "us"; + mode = "n"; + silent = true; + action = "set spell!"; + desc = "Toggle spellLazyGitcheck"; + } + { + key = "uc"; + mode = "n"; + silent = true; + action = "set cursorline!"; + desc = "Toggle cursorline"; + } + { + key = "un"; + mode = "n"; + silent = true; + action = "set number!"; + desc = "Toggle line numbers"; + } + { + key = "ur"; + mode = "n"; + silent = true; + action = "set relativenumber!"; + desc = "Toggle relative line numbers"; + } + { + key = "ut"; + mode = "n"; + silent = true; + action = "set showtabline=2"; + desc = "Show tabline"; + } + { + key = "uT"; + mode = "n"; + silent = true; + action = "set showtabline=0"; + desc = "Hide tabline"; + } + + # Windows + { + key = "ws"; + mode = "n"; + silent = true; + action = "split"; + desc = "Split"; + } + { + key = "wv"; + mode = "n"; + silent = true; + action = "vsplit"; + desc = "VSplit"; + } + { + key = "wd"; + mode = "n"; + silent = true; + action = "close"; + desc = "Close"; + } + { + key = "ma"; + mode = "n"; + silent = true; + action = "close"; + desc = "Close"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "lua require('smart-splits').move_cursor_left()"; + desc = "Move to left split"; + } + + { + key = ""; + mode = "n"; + silent = true; + action = "lua require('smart-splits').move_cursor_down()"; + desc = "Move to lower split"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "lua require('smart-splits').move_cursor_up()"; + desc = "Move to upper split"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "lua require('smart-splits').move_cursor_right()"; + desc = "Move to right split"; + } + + { + key = ""; + mode = "n"; + silent = true; + action = "lua require('smart-splits').resize_left()"; + desc = "Resize left"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "lua require('smart-splits').resize_down()"; + desc = "Resize down"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "lua require('smart-splits').resize_up()"; + desc = "Resize up"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "lua require('smart-splits').resize_right()"; + desc = "Resize right"; + } + + { + key = "w="; + mode = "n"; + silent = true; + action = "="; + desc = "Equalize Splits"; + } + { + key = "we"; + mode = "n"; + silent = true; + action = "lua require('smart-splits').swap_buf_right()"; + desc = "Swap Buffer Right"; + } + { + key = "wh"; + mode = "n"; + silent = true; + action = "lua require('smart-splits').swap_buf_left()"; + desc = "Swap Buffer Left"; + } + + { + key = ""; + mode = "n"; + silent = true; + action = "zz"; + desc = "Jump back and center"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "zz"; + desc = "Jump forward and center"; + } + ]; + }; +} diff --git a/home-manager/modules/nvf/languages.nix b/home-manager/modules/nvf/languages.nix new file mode 100644 index 0000000..c17999d --- /dev/null +++ b/home-manager/modules/nvf/languages.nix @@ -0,0 +1,49 @@ +{ + programs.nvf.settings.vim = { + diagnostics = { + enable = true; + nvim-lint.enable = true; + config.virtual_text = true; + }; + syntaxHighlighting = true; + treesitter = { + enable = true; + autotagHtml = true; + context.enable = true; + highlight = { + enable = true; + additionalVimRegexHighlighting = true; + }; + }; + lsp = { + enable = true; + trouble.enable = true; + formatOnSave = true; + inlayHints.enable = true; + lightbulb.enable = true; + null-ls.enable = true; + otter-nvim.enable = true; + }; + languages = { + enableDAP = true; + enableExtraDiagnostics = true; + enableFormat = true; + enableTreesitter = true; + + astro.enable = true; + python.enable = true; + java.enable = true; + clang.enable = true; + go.enable = true; + markdown.enable = true; + ts.enable = true; + ts.extensions.ts-error-translator.enable = true; + css.enable = true; + svelte.enable = true; + html.enable = true; + bash.enable = true; + nix.enable = true; + tailwind.enable = true; + }; + }; +} diff --git a/home-manager/modules/nvf/mini.nix b/home-manager/modules/nvf/mini.nix new file mode 100644 index 0000000..2c0568b --- /dev/null +++ b/home-manager/modules/nvf/mini.nix @@ -0,0 +1,13 @@ +{ + programs.nvf.settings.vim.mini = { + starter.enable = true; + comment.enable = true; + # cursorword.enable = true; + icons.enable = true; + indentscope.enable = true; + notify.enable = true; + pairs.enable = true; + diff.enable = true; + git.enable = true; + }; +} diff --git a/home-manager/modules/nvf/options.nix b/home-manager/modules/nvf/options.nix new file mode 100644 index 0000000..8776771 --- /dev/null +++ b/home-manager/modules/nvf/options.nix @@ -0,0 +1,23 @@ +{ + programs.nvf.settings.vim = { + viAlias = false; + vimAlias = true; + withNodeJs = true; + # syntaxHighlighting = true; + options = { + autoindent = true; + shiftwidth = 2; + signcolumn = "yes"; + tabstop = 2; + softtabstop = 2; + wrap = false; + undofile = true; + shada = "!,'100,<50,s10,h"; + }; + clipboard = { + enable = true; + registers = "unnamedplus"; + providers.wl-copy.enable = true; + }; + }; +} diff --git a/home-manager/modules/nvf/picker.nix b/home-manager/modules/nvf/picker.nix new file mode 100644 index 0000000..5b1a629 --- /dev/null +++ b/home-manager/modules/nvf/picker.nix @@ -0,0 +1,256 @@ +{ + programs.nvf.settings.vim = { + utility = { + oil-nvim.enable = true; + snacks-nvim = { + setupOpts = { + picker.enabled = true; + explorer.enabled = true; + }; + }; + }; + keymaps = [ + # Top Pickers & Explorer + { + key = " "; + mode = "n"; + silent = true; + action = "lua Snacks.picker.smart()"; + desc = "Smart Find Files"; + } + { + key = ","; + mode = "n"; + silent = true; + action = "lua Snacks.picker.buffers()"; + desc = "Buffers"; + } + { + key = "/"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.grep()"; + desc = "Grep"; + } + { + key = ":"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.command_history()"; + desc = "Command History"; + } + { + key = "e"; + mode = "n"; + silent = true; + action = "lua Snacks.explorer()"; + desc = "File Explorer"; + } + { + key = "-"; + mode = "n"; + silent = true; + action = "Oil"; + desc = "Oil"; + } + + # Find + { + key = "fb"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.buffers()"; + desc = "Buffers"; + } + { + key = "fc"; + mode = "n"; + silent = true; + action = ''lua Snacks.picker.files({ cwd = vim.fn.stdpath("config") })''; + desc = "Find Config File"; + } + { + key = "ff"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.files()"; + desc = "Find Files"; + } + { + key = "fg"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.git_files()"; + desc = "Find Git Files"; + } + { + key = "fp"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.projects()"; + desc = "Projects"; + } + { + key = "fr"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.recent()"; + desc = "Recent"; + } + { + key = "fn"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.notifications()"; + desc = "Notification History"; + } + { + key = "fe"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.icons()"; + desc = "Emoji"; + } + + # Git + { + key = "gb"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.git_branches()"; + desc = "Git Branches"; + } + { + key = "gL"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.git_log()"; + desc = "Git Log Line"; + } + { + key = "gs"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.git_status()"; + desc = "Git Status"; + } + { + key = "gS"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.git_stash()"; + desc = "Git Stash"; + } + { + key = "gd"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.git_diff()"; + desc = "Git Diff (Hunks)"; + } + { + key = "gf"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.git_log_file()"; + desc = "Git Log File"; + } + + # Grep + { + key = "sb"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.lines()"; + desc = "Buffer Lines"; + } + { + key = "st"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.todo_comments()"; + desc = "Todos"; + } + { + key = "sB"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.grep_buffers()"; + desc = "Grep Open Buffers"; + } + { + key = "sg"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.grep()"; + desc = "Grep"; + } + { + key = "sw"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.grep_word()"; + desc = "Visual selection or word"; + } + { + key = "sr"; + mode = "n"; + silent = true; + action = "nohlsearch"; + desc = "Reset search"; + } + + # LSP + { + key = "gd"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.lsp_definitions()"; + desc = "Goto Definition"; + } + { + key = "gD"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.lsp_declarations()"; + desc = "Goto Declaration"; + } + { + key = "gr"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.lsp_references()"; + desc = "References"; + nowait = true; + } + { + key = "gI"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.lsp_implementations()"; + desc = "Goto Implementation"; + } + { + key = "gy"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.lsp_type_definitions()"; + desc = "Goto Type Definition"; + } + { + key = "ss"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.lsp_symbols()"; + desc = "LSP Symbols"; + } + { + key = "sS"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.lsp_workspace_symbols()"; + desc = "LSP Workspace Symbols"; + } + ]; + }; +} diff --git a/home-manager/modules/nvf/snacks.nix b/home-manager/modules/nvf/snacks.nix new file mode 100644 index 0000000..f0faf03 --- /dev/null +++ b/home-manager/modules/nvf/snacks.nix @@ -0,0 +1,16 @@ +{ + programs.nvf.settings.vim.utility.snacks-nvim = { + enable = true; + setupOpts = { + image = { + enabled = true; + setupOpts.doc.inline = false; + }; + quickfile.enabled = true; + statuscolumn.enabled = true; + zen.enabled = true; + bufdelete.enabled = true; + gitsigns.enabled = true; + }; + }; +} diff --git a/home-manager/modules/nvf/utils.nix b/home-manager/modules/nvf/utils.nix new file mode 100644 index 0000000..1d56d97 --- /dev/null +++ b/home-manager/modules/nvf/utils.nix @@ -0,0 +1,82 @@ +{ lib, ... }: +{ + programs.nvf.settings.vim = { + theme = lib.mkForce { + enable = true; + name = "catppuccin"; + style = "latte"; + transparent = false; + }; + navigation = { + harpoon.enable = true; + }; + utility = { + motion.flash-nvim.enable = true; + outline.aerial-nvim.enable = true; + diffview-nvim.enable = true; + surround.enable = true; + smart-splits.enable = true; + yanky-nvim.enable = true; + }; + tabline.nvimBufferline.enable = true; + notes.todo-comments.enable = true; + assistant.copilot = { + enable = true; + cmp.enable = true; + }; + statusline.lualine.enable = true; + autocomplete.blink-cmp = { + enable = true; + friendly-snippets.enable = true; + }; + snippets.luasnip.enable = true; + ui = { + noice.enable = true; + colorizer.enable = true; + }; + visuals = { + cinnamon-nvim.enable = true; + }; + git = { + enable = true; + gitsigns.enable = true; + }; + terminal.toggleterm = { + enable = true; + lazygit = { + enable = true; + mappings.open = "gl"; + }; + }; + formatter.conform-nvim.enable = true; + binds.hardtime-nvim.enable = true; + utility.motion.precognition.enable = true; + binds.hardtime-nvim.setupOpts = { + max_count = 3; # Optional: limit of consecutive presses + disabled_keys = { + "" = false; + "" = false; + "" = false; + "" = false; + }; + restricted_keys = { + "" = [ + "n" + "x" + ]; + "" = [ + "n" + "x" + ]; + "" = [ + "n" + "x" + ]; + "" = [ + "n" + "x" + ]; + }; + }; + }; +} diff --git a/home-manager/modules/obs.nix b/home-manager/modules/obs.nix index 9af5d0d..ebd4527 100644 --- a/home-manager/modules/obs.nix +++ b/home-manager/modules/obs.nix @@ -5,11 +5,14 @@ enable = true; # additional packages to add to gjs's runtime - # extraPackages = with pkgs; [ - # gtksourceview - # webkitgtk - # accountsservice - # libdbusmenu-gtk3 - # ]; + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + obs-backgroundremoval + obs-pipewire-audio-capture + obs-vaapi # optional AMD hardware acceleration + obs-gstreamer + obs-vkcapture + ]; }; + } diff --git a/home-manager/modules/thunar.nix b/home-manager/modules/thunar.nix index 3a8cfed..3380a03 100644 --- a/home-manager/modules/thunar.nix +++ b/home-manager/modules/thunar.nix @@ -2,22 +2,25 @@ { pkgs, user, ... }: { # ctrl + m to toggle the menubar - home.packages = with pkgs.xfce; [ - thunar - xfconf - tumbler - thunar-archive-plugin - thunar-volman + home.packages = with pkgs; [ + xfce.thunar + xfce.xfconf + xfce.tumbler + xfce.thunar-archive-plugin + xfce.thunar-volman + xfce.thunar-media-tags-plugin + p7zip + xarchiver ]; - gtk = { - iconTheme = { - name = "WhiteSur"; - package = pkgs.whitesur-icon-theme.override { - boldPanelIcons = true; - alternativeIcons = true; - }; - }; - }; + # gtk = { + # iconTheme = { + # name = "WhiteSur"; + # package = pkgs.whitesur-icon-theme.override { + # boldPanelIcons = true; + # alternativeIcons = true; + # }; + # }; + # }; home.sessionVariables = { XDG_ICON_DIR = "${pkgs.whitesur-icon-theme}/share/icons/WhiteSur"; @@ -30,6 +33,38 @@ "file:///home/gwg313/repos Repositories" ]; + home.file.".config/xarchiver/xarchiverrc".text = '' + [xarchiver] + preferred_format=0 + prefer_unzip=true + confirm_deletion=true + sort_filename_content=false + advanced_isearch=true + auto_expand=true + store_output=false + icon_size=2 + show_archive_comment=false + show_sidebar=true + show_location_bar=true + show_toolbar=true + preferred_custom_cmd= + preferred_temp_dir=/tmp + preferred_extract_dir=/home/gwg313/Downloads + allow_sub_dir=0 + ensure_directory=true + overwrite=false + full_path=2 + touch=false + fresh=false + update=false + store_path=false + updadd=true + freshen=false + recurse=true + solid_archive=false + remove_files=false + ''; + home.file.".config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml".text = '' diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix index e7f01f4..4428950 100644 --- a/home-manager/modules/zsh.nix +++ b/home-manager/modules/zsh.nix @@ -61,6 +61,7 @@ c = "clear"; listen = "lsof -P -i -n"; octal = "stat -c '%a %n'"; + f = "$(pay-respects zsh)"; }; history = { @@ -68,67 +69,67 @@ path = "${config.xdg.dataHome}/zsh/history"; }; initExtra = '' - eval $(thefuck --alias) + eval "$(pay-respects zsh --alias)" - # search history based on what's typed in the prompt - autoload -U history-search-end - zle -N history-beginning-search-backward-end history-search-end - zle -N history-beginning-search-forward-end history-search-end - bindkey "^[OA" history-beginning-search-backward-end - bindkey "^[OB" history-beginning-search-forward-end + # search history based on what's typed in the prompt + autoload -U history-search-end + zle -N history-beginning-search-backward-end history-search-end + zle -N history-beginning-search-forward-end history-search-end + bindkey "^[OA" history-beginning-search-backward-end + bindkey "^[OB" history-beginning-search-forward-end - # General completion behavior - zstyle ':completion:*' completer _extensions _complete _approximate - # Use cache - zstyle ':completion:*' use-cache on - zstyle ':completion:*' cache-path "$XDG_CACHE_HOME/zsh/.zcompcache" + # General completion behavior + zstyle ':completion:*' completer _extensions _complete _approximate + # Use cache + zstyle ':completion:*' use-cache on + zstyle ':completion:*' cache-path "$XDG_CACHE_HOME/zsh/.zcompcache" - # Complete the alias - zstyle ':completion:*' complete true - # Autocomplete options - zstyle ':completion:*' complete-options true + # Complete the alias + zstyle ':completion:*' complete true + # Autocomplete options + zstyle ':completion:*' complete-options true - # Completion matching control - zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' - zstyle ':completion:*' keep-prefix true + # Completion matching control + zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' + zstyle ':completion:*' keep-prefix true - # Group matches and describe - zstyle ':completion:*' menu select - zstyle ':completion:*' list-grouped false - zstyle ':completion:*' list-separator ''' - zstyle ':completion:*' group-name ''' - zstyle ':completion:*' verbose yes - zstyle ':completion:*:matches' group 'yes' - zstyle ':completion:*:warnings' format '%F{red}%B-- No match for: %d --%b%f' - zstyle ':completion:*:messages' format '%d' - zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b' - zstyle ':completion:*:descriptions' format '[%d]' + # Group matches and describe + zstyle ':completion:*' menu select + zstyle ':completion:*' list-grouped false + zstyle ':completion:*' list-separator ''' + zstyle ':completion:*' group-name ''' + zstyle ':completion:*' verbose yes + zstyle ':completion:*:matches' group 'yes' + zstyle ':completion:*:warnings' format '%F{red}%B-- No match for: %d --%b%f' + zstyle ':completion:*:messages' format '%d' + zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b' + zstyle ':completion:*:descriptions' format '[%d]' - # Colors - zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS} + # Colors + zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS} - # case insensitive tab completion - zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories - zstyle ':completion:*:*:cd:*:directory-stack' menu yes select - zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand' - zstyle ':completion:*:*:-command-:*:*' group-order aliases builtins functions commands - zstyle ':completion:*' special-dirs true - zstyle ':completion:*' squeeze-slashes true + # case insensitive tab completion + zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories + zstyle ':completion:*:*:cd:*:directory-stack' menu yes select + zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand' + zstyle ':completion:*:*:-command-:*:*' group-order aliases builtins functions commands + zstyle ':completion:*' special-dirs true + zstyle ':completion:*' squeeze-slashes true - # Sort - zstyle ':completion:*' sort false - zstyle ":completion:*:git-checkout:*" sort false - zstyle ':completion:*' file-sort modification - zstyle ':completion:*:eza' sort false - zstyle ':completion:complete:*:options' sort false - zstyle ':completion:files' sort false + # Sort + zstyle ':completion:*' sort false + zstyle ":completion:*:git-checkout:*" sort false + zstyle ':completion:*' file-sort modification + zstyle ':completion:*:eza' sort false + zstyle ':completion:complete:*:options' sort false + zstyle ':completion:files' sort false ''; }; diff --git a/hosts/candlekeep/configuration.nix b/hosts/candlekeep/configuration.nix index cda82f2..425c19e 100644 --- a/hosts/candlekeep/configuration.nix +++ b/hosts/candlekeep/configuration.nix @@ -46,9 +46,12 @@ ]; laptop.enable = true; - nfs.enable = true; + # nfs.enable = true; ssh.enable = true; ssh_guard.enable = true; + steam.enable = true; + + programs.nix-ld.dev.enable = true; # Bootloader. boot = { diff --git a/hosts/grymforge/configuration.nix b/hosts/grymforge/configuration.nix index 14267d9..3e8074d 100644 --- a/hosts/grymforge/configuration.nix +++ b/hosts/grymforge/configuration.nix @@ -19,6 +19,7 @@ ../../common/gui/hyprland.nix ../../common/gui/steam.nix ../../common/gui/thunar.nix + ../../common/gui/retroarch.nix ../../common/style/stylix.nix ../../common/nixos/sysctl @@ -45,6 +46,7 @@ # Import your generated (nixos-generate-config) hardware configuration ./hardware-configuration.nix ]; + programs.obs-studio.enableVirtualCamera = true; ssh.enable = true; ssh_guard.enable = true; diff --git a/hosts/kerby/configuration.nix b/hosts/kerby/configuration.nix new file mode 100644 index 0000000..74c1023 --- /dev/null +++ b/hosts/kerby/configuration.nix @@ -0,0 +1,112 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). +{ + config, + pkgs, + lib, + inputs, + ... +}: +{ + # sops + sops = { + defaultSopsFile = ../../secrets/secrets.yaml; + defaultSopsFormat = "yaml"; + age.keyFile = "/home/gwg313/.config/sops/age/keys.txt"; + }; + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ../../common/nixos/ssh/default.nix + inputs.sops-nix.nixosModules.sops + ]; + + ssh.enable = true; + ssh_guard.enable = true; + ssh_client.enable = false; + services.openssh.authorizedKeysFiles = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINvOfDSjlvegGqfUS18XwXB7SvS2n9/hGYUpKxRb9vgb gwg313@pm.me" + ]; + services.openssh.settings = { + PermitRootLogin = lib.mkForce "yes"; + + AllowUsers = lib.mkForce [ + "gwg313" + "root" + ]; + }; + + users.users.gwg313 = { + isNormalUser = true; + description = "gwg313"; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINvOfDSjlvegGqfUS18XwXB7SvS2n9/hGYUpKxRb9vgb gwg313@pm.me" + ]; + extraGroups = [ + "networkmanager" + "wheel" + ]; + packages = with pkgs; [ ]; + }; + + users.users = { + root = { + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINvOfDSjlvegGqfUS18XwXB7SvS2n9/hGYUpKxRb9vgb gwg313@pm.me" + ]; + }; + }; + + # Bootloader. + boot.loader.grub.enable = true; + boot.loader.grub.device = "/dev/sda"; + boot.loader.grub.useOSProber = true; + networking.hostName = "kerby"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + # Enable networking + networking.networkmanager.enable = true; + # Set your time zone. + time.timeZone = "America/Toronto"; + # Select internationalisation properties. + i18n.defaultLocale = "en_CA.UTF-8"; + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + # Define a user account. Don't forget to set a password with ‘passwd’. + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget + ]; + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + # List services that you want to enable: + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "24.11"; # Did you read the comment? +} diff --git a/hosts/kerby/hardware-configuration.nix b/hosts/kerby/hardware-configuration.nix new file mode 100644 index 0000000..107ed92 --- /dev/null +++ b/hosts/kerby/hardware-configuration.nix @@ -0,0 +1,43 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + pkgs, + modulesPath, + ... +}: +{ + imports = [ + (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ + "ata_piix" + "uhci_hcd" + "virtio_pci" + "virtio_scsi" + "sd_mod" + "sr_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/979e137f-7d21-4dac-b6eb-51c8add1cf48"; + fsType = "ext4"; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.ens18.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/hosts/kerby/kerberos-kdc.nix b/hosts/kerby/kerberos-kdc.nix new file mode 100644 index 0000000..b5d8d1d --- /dev/null +++ b/hosts/kerby/kerberos-kdc.nix @@ -0,0 +1,15 @@ +{ }: +{ + services.kerberoskdc = { + enable = true; + realm = "LOCAL.GWG313.XYZ"; + databaseFile = "/var/lib/krb5kdc/principal"; + adminServer.enable = true; + kadmindPort = 749; + kdcPort = 88; + extraConfig = '' + max_life = 10h + max_renewable_life = 7d + ''; + }; +} diff --git a/hosts/kerby/kerberos.nix b/hosts/kerby/kerberos.nix new file mode 100644 index 0000000..c8e2c43 --- /dev/null +++ b/hosts/kerby/kerberos.nix @@ -0,0 +1,69 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + services.krb5kdc = { + enable = true; + realms = { + "EXAMPLE.LOCAL" = { + aclFile = "/etc/krb5kdc/kadm5.acl"; + dictFile = "/etc/krb5kdc/kadm5.dict"; + databaseName = "/var/lib/krb5kdc/principal"; + adminServer = "kerberos.example.local"; + supportedEnctypes = [ "aes256-cts-hmac-sha1-96" ]; + }; + }; + }; + + services.kadmind.enable = true; + + services.krb5 = { + enable = true; + libdefaults = { + default_realm = "EXAMPLE.LOCAL"; + }; + realms = { + "EXAMPLE.LOCAL" = { + kdc = [ "kerberos.example.local" ]; + admin_server = "kerberos.example.local"; + }; + }; + }; + + environment.etc."krb5kdc/kadm5.acl".text = "*/admin@EXAMPLE.LOCAL *"; + + sops.secrets."kdc/master_password" = { }; + sops.secrets."kdc/admin_password" = { }; + + systemd.services.krb5-bootstrap = { + description = "Bootstrap KDC DB + principals"; + wantedBy = [ "multi-user.target" ]; + before = [ "krb5kdc.service" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + script = '' + set -e + DB="/var/lib/krb5kdc/principal" + if [ ! -f "$DB" ]; then + MASTER_PW=$(<${config.sops.secrets."kdc/master_password".path}) + ADMIN_PW=$(<${config.sops.secrets."kdc/admin_password".path}) + + echo "Creating KDC database..." + echo "$MASTER_PW" | kdb5_util create -s -P "$MASTER_PW" + + echo "$ADMIN_PW + $ADMIN_PW" | kadmin.local -q "addprinc root/admin" + + kadmin.local -q "addprinc -randkey nfs/truenas.example.local" + kadmin.local -q "ktadd -k /etc/krb5kdc/nfs.keytab nfs/truenas.example.local" + fi + ''; + }; + + environment.etc."krb5kdc/nfs.keytab".source = "/etc/krb5kdc/nfs.keytab"; +} diff --git a/hosts/kerby/krb5.nix b/hosts/kerby/krb5.nix new file mode 100644 index 0000000..677b1b5 --- /dev/null +++ b/hosts/kerby/krb5.nix @@ -0,0 +1,11 @@ +{ }: +{ + services.krb5 = { + enable = true; + defaultRealm = "LOCAL.GWG313.XYZ"; + realms."LOCAL.GWG313.XYZ" = { + kdc = [ "kerby.local.gwg313.xyz" ]; + adminServer = "kerby.local.gwg313.xyz"; + }; + }; +} diff --git a/hosts/seikan/routes.nix b/hosts/seikan/routes.nix index 79b8821..47036ba 100644 --- a/hosts/seikan/routes.nix +++ b/hosts/seikan/routes.nix @@ -3,7 +3,6 @@ dynamicConfigOptions = { http = { services = { - music_zt.loadBalancer.servers = [ { url = "https://music.zerotier.gwg313.xyz"; @@ -51,10 +50,33 @@ url = "https://git.zerotier.gwg313.xyz"; } ]; + + registry_zt.loadBalancer.servers = [ + { + url = "https://registry.zerotier.gwg313.xyz"; + } + ]; + + ci_zt.loadBalancer.servers = [ + { + url = "https://ci.zerotier.gwg313.xyz"; + } + ]; + + s3_zt.loadBalancer.servers = [ + { + url = "https://s3.zerotier.gwg313.xyz"; + } + ]; + + s3_console_zt.loadBalancer.servers = [ + { + url = "https://s3-console.zerotier.gwg313.xyz"; + } + ]; }; routers = { - music_zt = { entryPoints = [ "websecure" ]; rule = "Host(`music.gwg313.xyz`)"; @@ -118,9 +140,39 @@ middlewares = [ "headers" ]; }; + ci_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`ci.gwg313.xyz`)"; + service = "ci_zt"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + registry_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`registry.gwg313.xyz`)"; + service = "registry_zt"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + s3_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`s3.gwg313.xyz`)"; + service = "s3_zt"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + s3_console = { + entryPoints = [ "websecure" ]; + rule = "Host(`s3-console.gwg313.xyz`)"; + service = "s3_console_zt"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; }; }; }; }; - } diff --git a/hosts/seikan/traefik.nix b/hosts/seikan/traefik.nix index 594cb9e..fd72837 100644 --- a/hosts/seikan/traefik.nix +++ b/hosts/seikan/traefik.nix @@ -1,11 +1,9 @@ # Traefik -{ - config, - ... -}: +{ config, ... }: { imports = [ ./routes.nix + ../../common/networking/hosts.nix ]; sops.secrets.cf-api-token = { mode = "0440"; diff --git a/hosts/seikan/zerotier.nix b/hosts/seikan/zerotier.nix index ec7ba92..061d05d 100644 --- a/hosts/seikan/zerotier.nix +++ b/hosts/seikan/zerotier.nix @@ -1,7 +1,4 @@ -{ - inputs, - ... -}: +{ inputs, ... }: { services.zerotierone = { joinNetworks = [ @@ -9,15 +6,4 @@ ]; enable = true; }; - - networking.extraHosts = '' - 10.147.17.246 audiobooks.zerotier.gwg313.xyz - 10.147.17.246 music.zerotier.gwg313.xyz - 10.147.17.246 recipes.zerotier.gwg313.xyz - 10.147.17.246 scholarsome.zerotier.gwg313.xyz - 10.147.17.246 bookmarks.zerotier.gwg313.xyz - 10.147.17.246 pastebin.zerotier.gwg313.xyz - 10.147.17.246 snippets.zerotier.gwg313.xyz - 10.147.17.246 git.zerotier.gwg313.xyz - ''; } diff --git a/hosts/waypoint/routes.nix b/hosts/waypoint/routes.nix index 373b84f..a544f83 100644 --- a/hosts/waypoint/routes.nix +++ b/hosts/waypoint/routes.nix @@ -6,7 +6,6 @@ dynamicConfigOptions = { http = { routers = { - music = { entryPoints = [ "websecure" ]; rule = "Host(`music.gwg313.xyz`)"; @@ -70,9 +69,39 @@ middlewares = [ "headers" ]; }; + registry = { + entryPoints = [ "websecure" ]; + rule = "Host(`registry.gwg313.xyz`)"; + service = "registry_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + ci = { + entryPoints = [ "websecure" ]; + rule = "Host(`ci.gwg313.xyz`)"; + service = "ci_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + s3 = { + entryPoints = [ "websecure" ]; + rule = "Host(`s3.gwg313.xyz`)"; + service = "s3_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + s3_console = { + entryPoints = [ "websecure" ]; + rule = "Host(`s3-console.gwg313.xyz`)"; + service = "s3_console_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; }; }; }; }; - } diff --git a/hosts/waypoint/routes_zerotier.nix b/hosts/waypoint/routes_zerotier.nix index ee5d991..ea0ba17 100644 --- a/hosts/waypoint/routes_zerotier.nix +++ b/hosts/waypoint/routes_zerotier.nix @@ -6,7 +6,6 @@ dynamicConfigOptions = { http = { routers = { - music_zerotier = { entryPoints = [ "websecure" ]; rule = "Host(`music.zerotier.gwg313.xyz`)"; @@ -69,9 +68,47 @@ middlewares = [ "headers" ]; }; + git_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`git.zerotier.gwg313.xyz`)"; + service = "git_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + ci_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`ci.zerotier.gwg313.xyz`)"; + service = "ci_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + registry_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`registry.zerotier.gwg313.xyz`)"; + service = "registry_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + s3_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`s3.zerotier.gwg313.xyz`)"; + service = "s3_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + s3_console_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`s3-console.zerotier.gwg313.xyz`)"; + service = "s3_console_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; }; }; }; }; - } diff --git a/hosts/waypoint/services.nix b/hosts/waypoint/services.nix index 0753e76..46ca61f 100644 --- a/hosts/waypoint/services.nix +++ b/hosts/waypoint/services.nix @@ -3,7 +3,6 @@ dynamicConfigOptions = { http = { services = { - argocd_local.loadBalancer.servers = [ { url = "https://10.1.10.3:30007"; @@ -11,7 +10,7 @@ ]; music_local.loadBalancer.servers = [ { - url = "http://10.1.10.3:30033"; + url = "https://music.gwg313.xyz"; } ]; @@ -63,11 +62,34 @@ ]; git_local.loadBalancer.servers = [ { - url = "http://10.1.10.3:32221"; + url = "https://git.gwg313.xyz"; + } + ]; + + registry_local.loadBalancer.servers = [ + { + url = "https://registry.gwg313.xyz"; + } + ]; + + ci_local.loadBalancer.servers = [ + { + url = "https://ci.gwg313.xyz"; + } + ]; + + s3_local.loadBalancer.servers = [ + { + url = "https://s3.gwg313.xyz"; + } + ]; + + s3_console_local.loadBalancer.servers = [ + { + url = "https://s3-console.gwg313.xyz"; } ]; }; - }; }; }; diff --git a/hosts/waypoint/traefik.nix b/hosts/waypoint/traefik.nix index ff57c67..292f087 100644 --- a/hosts/waypoint/traefik.nix +++ b/hosts/waypoint/traefik.nix @@ -1,13 +1,11 @@ # Traefik -{ - config, - ... -}: +{ config, ... }: { imports = [ ./routes_local.nix ./routes_zerotier.nix ./routes.nix + ../../common/networking/hosts.nix ]; sops.secrets.cf-api-token = { mode = "0440"; diff --git a/pkgs/ceserver/default.nix b/pkgs/ceserver/default.nix new file mode 100644 index 0000000..014fd6f --- /dev/null +++ b/pkgs/ceserver/default.nix @@ -0,0 +1,54 @@ +{ + stdenv, + glibc, + zlib, + fetchFromGitHub, + lib, + gnumake, + # Int conversion error in gcc 14 + gcc13, +}: +stdenv.mkDerivation rec { + pname = "ceserver"; + name = pname; + src = fetchFromGitHub { + owner = "cheat-engine"; + repo = "cheat-engine"; + rev = "e137317cbe9692c4dc61e6d2e89bf543b4d7301f"; + hash = "sha256-kEpt4cspC5BR+03022cPnOpNLxAUbUpdEM+K9wcv1Mo="; + }; + buildInputs = [ + glibc + zlib + stdenv + ]; + nativeBuildInputs = [ + gnumake + gcc13 + ]; + buildPhase = '' + runHook preBuild + + pushd Cheat\ Engine/ceserver/gcc + + make + + popd + + runHook postBuild + ''; + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + ls + cp Cheat\ Engine/ceserver/gcc/ceserver $out/bin/ceserver + + runHook postInstall + ''; + meta = { + license = lib.licenses.unfree; + description = "Cheat engine server"; + mainProgram = "ceserver"; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 98c5e48..daea785 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,6 +1,8 @@ # Custom packages, that can be defined similarly to ones from nixpkgs # You can build them using 'nix build .#example' -{pkgs, ...}: { +{ pkgs, ... }: +{ # example = pkgs.callPackage ./example { }; # sesh = pkgs.callPackage ./sesh {}; + ceserver = pkgs.callPackage ./ceserver { }; } diff --git a/wallpapers/floating_city.jpg b/wallpapers/floating_city.jpg new file mode 100644 index 0000000..668690c Binary files /dev/null and b/wallpapers/floating_city.jpg differ