diff --git a/flake.lock b/flake.lock index 736992c..352f683 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "filter": { "locked": { - "lastModified": 1731533336, - "narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=", + "lastModified": 1757882181, + "narHash": "sha256-+cCxYIh2UNalTz364p+QYmWHs0P+6wDhiWR4jDIKQIU=", "owner": "numtide", "repo": "nix-filter", - "rev": "f7653272fd234696ae94229839a99b73c9ab7de0", + "rev": "59c44d1909c72441144b93cf0f054be7fe764de5", "type": "github" }, "original": { @@ -87,6 +87,24 @@ "inputs": { "systems": "systems_3" }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, "locked": { "lastModified": 1694529238, "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", @@ -101,6 +119,24 @@ "type": "github" } }, + "flake-utils_5": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -108,11 +144,11 @@ ] }, "locked": { - "lastModified": 1751468302, - "narHash": "sha256-tWosziZTT039x6PgEZUhzGlV8oLvdDmIgKTE8ESMaEA=", + "lastModified": 1758463745, + "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", "owner": "nix-community", "repo": "home-manager", - "rev": "501cfec8277f931a9c9af9f23d3105c537faeafe", + "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", "type": "github" }, "original": { @@ -181,13 +217,32 @@ "type": "github" } }, + "nix-vscode-extensions": { + "inputs": { + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1760234152, + "narHash": "sha256-Z8AXNGOME4FgNL54qqta7SU5O21oS7UjtcFaPyCHbHY=", + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "rev": "328cedcf3eae1e3eae4f16a61196894c95783c38", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "type": "github" + } + }, "nixos-hardware": { "locked": { - "lastModified": 1751432711, - "narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=", + "lastModified": 1760106635, + "narHash": "sha256-2GoxVaKWTHBxRoeUYSjv0AfSOx4qw5CWSFz2b+VolKU=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f", + "rev": "9ed85f8afebf2b7478f25db0a98d0e782c0ed903", "type": "github" }, "original": { @@ -204,11 +259,11 @@ ] }, "locked": { - "lastModified": 1749574455, - "narHash": "sha256-fm2/8KPOYvvIAnNVtjDlTt/My00lIbZQ+LMrfQIWVzs=", + "lastModified": 1759833546, + "narHash": "sha256-rOfkgIiiZNPUbf61OqEym60wXEODeDG8XH+gV/SUoUc=", "owner": "nix-community", "repo": "nixos-wsl", - "rev": "917af390377c573932d84b5e31dd9f2c1b5c0f09", + "rev": "7c0c0f4c3a51761434f18209fa9499b8579ff730", "type": "github" }, "original": { @@ -219,27 +274,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1751464076, - "narHash": "sha256-zPbr0yYo4BDfkJSy86fUx6TFLEAErZlmsVcTynKkFmk=", + "lastModified": 1759770925, + "narHash": "sha256-CZwkCtzTNclqlhuwDsVtGoRumTpqCUK0xSnFIMgd8ls=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fe1a3fe5e4a84304f4d5564ac0bf32fc2780303c", + "rev": "674c2b09c59a220204350ced584cadaacee30038", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-25.05", "repo": "nixpkgs", + "rev": "674c2b09c59a220204350ced584cadaacee30038", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "lastModified": 1760038930, + "narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3", "type": "github" }, "original": { @@ -251,11 +306,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", + "lastModified": 1760272528, + "narHash": "sha256-LF3HEQYgr7AFUcFUvnzYIaQM2ZkHhT2ISLSV/zMe6d0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "579d5c76c1821021b07768c06c5798bd83d74a9d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "release-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1760164275, + "narHash": "sha256-gKl2Gtro/LNf8P+4L3S2RsZ0G390ccd5MyXYrTdMCFE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", + "rev": "362791944032cb532aabbeed7887a441496d5e6e", "type": "github" }, "original": { @@ -265,6 +336,20 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1682134069, + "narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fd901ef4bf93499374c5af385b2943f5801c0833", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, "root": { "inputs": { "filter": "filter", @@ -273,24 +358,26 @@ "ignore": "ignore", "library": "library", "nix-ld-rs": "nix-ld-rs", + "nix-vscode-extensions": "nix-vscode-extensions", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "sops-nix": "sops-nix", - "utils": "utils" + "utils": "utils", + "vscode-server": "vscode-server" } }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1750119275, - "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", + "lastModified": 1760240450, + "narHash": "sha256-sa9bS9jSyc4vH0jSWrUsPGdqtMvDwmkLg971ntWOo2U=", "owner": "Mic92", "repo": "sops-nix", - "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", + "rev": "41fd1f7570c89f645ee0ada0be4e2d3c4b169549", "type": "github" }, "original": { @@ -344,9 +431,39 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "utils": { "inputs": { - "flake-utils": "flake-utils_3" + "flake-utils": "flake-utils_4" }, "locked": { "lastModified": 1738591040, @@ -361,6 +478,25 @@ "repo": "flake-utils-plus", "type": "github" } + }, + "vscode-server": { + "inputs": { + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1753541826, + "narHash": "sha256-foGgZu8+bCNIGeuDqQ84jNbmKZpd+JvnrL2WlyU4tuU=", + "owner": "nix-community", + "repo": "nixos-vscode-server", + "rev": "6d5f074e4811d143d44169ba4af09b20ddb6937d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-vscode-server", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 3012d69..519eab9 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,12 @@ # TODO: Add any other flake you might need # hardware.url = "github:nixos/nixos-hardware"; + #VSCode fix + vscode-server.url = "github:nix-community/nixos-vscode-server"; + + # Add nix-vscode-extensions for VS Code extensions + nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; + # Shameless plug: looking for a way to nixify your themes and make # everything match nicely? Try nix-colors! # nix-colors.url = "github:misterio77/nix-colors"; diff --git a/hosts/common.nix b/hosts/common.nix index 1c18ef2..cfd6d62 100644 --- a/hosts/common.nix +++ b/hosts/common.nix @@ -11,6 +11,7 @@ [ inputs.home-manager.nixosModules.home-manager inputs.sops-nix.nixosModules.sops + inputs.vscode-server.nixosModules.default ] ++ (builtins.attrValues outputs.nixosModules); @@ -95,8 +96,17 @@ aubio pydub ])) +# (pkgs.vscode-with-extensions.override { +# vscodeExtensions = with pkgs.nix-vscode-extensions.vscode-marketplace; [ +# # Add Kilo Code extension +# kilocode.kilo-code +# ]; +# }) ]; + services.vscode-server.enable = true; + + nix.gc = { automatic = true; # Enable the automatic garbage collector dates = "03:15"; # When to run the garbage collector diff --git a/modules/nixos/vpn/default.nix b/modules/nixos/vpn/default.nix index 9ef2140..28fe0ad 100644 --- a/modules/nixos/vpn/default.nix +++ b/modules/nixos/vpn/default.nix @@ -23,6 +23,7 @@ in { config = mkIf cfg.enable { networking.wireguard.enable = true; services.mullvad-vpn.enable = true; + services.mullvad-vpn.package = pkgs.unstable.mullvad-vpn; # set some options after every daemon start # to avoid accidentally leaving unsafe settings @@ -31,7 +32,7 @@ in { while ! ${pkgs.mullvad}/bin/mullvad status >/dev/null; do sleep 1; done ${pkgs.mullvad}/bin/mullvad lan set allow #enable local lan access ${pkgs.mullvad}/bin/mullvad relay set tunnel-protocol wireguard - ${pkgs.mullvad}/bin/mullvad relay set location ca mtr + #${pkgs.mullvad}/bin/mullvad relay set location ca mtr ''; }; }; diff --git a/overlays/default.nix b/overlays/default.nix index 4412354..1fc65da 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -21,6 +21,10 @@ keybase = final.unstable.keybase; }; + # Add VS Code extensions overlay + # This makes nix-vscode-extensions available as pkgs.nix-vscode-extensions + vscode-extensions = inputs.nix-vscode-extensions.overlays.default; + #When applied, the unstable nixpkgs set (declared in the flake inputs) will #be accessible through 'pkgs.unstable' unstable-packages = final: _prev: {