Install VSCode from unstable for extension compatibility

This commit is contained in:
SebastianStork 2025-02-01 22:13:35 +01:00
parent bb0e5ea9de
commit 58886e54b5
6 changed files with 48 additions and 17 deletions

17
flake.lock generated
View file

@ -261,6 +261,22 @@
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
} }
}, },
"nixpkgs-unstable": {
"locked": {
"lastModified": 1738021509,
"narHash": "sha256-JNUiceGsr7cVBUQxLBF1ILCe99E0qLxsVuet6GsZUuw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9db269672dbdbb519e0bd3ea24f01506c135e46f",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"betterfox": "betterfox", "betterfox": "betterfox",
@ -273,6 +289,7 @@
"nextcloud-twofactor-totp": "nextcloud-twofactor-totp", "nextcloud-twofactor-totp": "nextcloud-twofactor-totp",
"nix-vscode-extensions": "nix-vscode-extensions", "nix-vscode-extensions": "nix-vscode-extensions",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"treefmt-nix": "treefmt-nix", "treefmt-nix": "treefmt-nix",
"wrapper-manager": "wrapper-manager" "wrapper-manager": "wrapper-manager"

View file

@ -2,6 +2,8 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
deploy-rs = { deploy-rs = {

View file

@ -5,14 +5,9 @@
... ...
}: }:
let let
stable = inputs.nixpkgs; mkHost = hostname: {
# unstable = inputs.nixpkgs-unstable; ${hostname} = inputs.nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs self; };
mkHost = hostname: nixpkgs: {
${hostname} = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs self;
};
modules = modules =
[ [
{ networking.hostName = hostname; } { networking.hostName = hostname; }
@ -29,10 +24,10 @@ in
{ {
flake = { flake = {
nixosConfigurations = lib.mkMerge [ nixosConfigurations = lib.mkMerge [
(mkHost "north" stable) (mkHost "north")
(mkHost "inspiron" stable) (mkHost "inspiron")
(mkHost "stratus" stable) (mkHost "stratus")
(mkHost "installer" stable) (mkHost "installer")
]; ];
deploy.nodes.stratus = { deploy.nodes.stratus = {

View file

@ -1,4 +1,10 @@
{ self, pkgs, ... }: {
config,
inputs,
self,
pkgs,
...
}:
{ {
imports = [ imports = [
self.nixosModules.default self.nixosModules.default
@ -68,4 +74,9 @@
]; ];
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
_module.args.pkgs-unstable = import inputs.nixpkgs-unstable {
inherit (pkgs.stdenv.hostPlatform) system;
inherit (config.nixpkgs) config;
};
} }

View file

@ -2,6 +2,7 @@
config, config,
inputs, inputs,
pkgs, pkgs,
pkgs-unstable,
lib, lib,
... ...
}: }:
@ -11,8 +12,8 @@
config = lib.mkIf config.myConfig.vscode.enable { config = lib.mkIf config.myConfig.vscode.enable {
programs.vscode = { programs.vscode = {
enable = true; enable = true;
package = pkgs.vscode-with-extensions.override { package = pkgs-unstable.vscode-with-extensions.override {
vscode = pkgs.vscodium; vscode = pkgs-unstable.vscodium;
vscodeExtensions = vscodeExtensions =
let let
inherit (inputs.nix-vscode-extensions.extensions.${pkgs.system}) open-vsx; inherit (inputs.nix-vscode-extensions.extensions.${pkgs.system}) open-vsx;

View file

@ -1,4 +1,9 @@
{ inputs, self, ... }: {
inputs,
self,
pkgs-unstable,
...
}:
{ {
imports = [ inputs.home-manager.nixosModules.home-manager ]; imports = [ inputs.home-manager.nixosModules.home-manager ];
@ -6,7 +11,7 @@
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs self; inherit inputs self pkgs-unstable;
}; };
}; };
} }