diff --git a/README.md b/README.md index 59ed515..b728b5e 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ updating passwords: `sops secrets/secrets.yaml` # Tasks: ## Tech Debt -- allowUnfree should be enabled user side not host side (this isnt enabled at all right now for some reason???) +- allowUnfree should be enabled user side not host side (this isn't enabled at all right now for some reason???) - Move configs for pipe mouse, open rgb, and via keyboard to hardware config and install users side from those configs - have nfs binds and exports defined by same code - move services from defiant into own flake @@ -48,7 +48,6 @@ updating passwords: `sops secrets/secrets.yaml` ## New Features - GNOME default monitors per hardware configuration? - stop nas from sleeping -- VS code extensions should be installed declaratively - Flake templates - Docker parity with existing NAS on defiant - NFS on defiant diff --git a/flake.lock b/flake.lock index 1182330..3f277b2 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,40 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -40,6 +74,28 @@ "type": "github" } }, + "nix-vscode-extensions": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1726623336, + "narHash": "sha256-mslZtr0SPdHDLUM5VRV0ipQQ4G0Piv2Kk15490w4JXM=", + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "rev": "b23683fef09032c85bb8b20f8ec72fb2f70075ff", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1725885300, @@ -108,6 +164,7 @@ "inputs": { "disko": "disko", "home-manager": "home-manager", + "nix-vscode-extensions": "nix-vscode-extensions", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "sops-nix": "sops-nix" @@ -131,6 +188,21 @@ "repo": "sops-nix", "type": "github" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index ee87ab5..033e2c2 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,12 @@ # repo of hardware configs for prebuilt systems nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + + # vscode extensions + nix-vscode-extensions = { + url = "github:nix-community/nix-vscode-extensions"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self, nixpkgs, disko, nixos-hardware, ... }@inputs: diff --git a/overlays/vscodium.nix b/overlays/vscodium.nix index c271af3..618af19 100644 --- a/overlays/vscodium.nix +++ b/overlays/vscodium.nix @@ -1,15 +1,15 @@ _: { - nixpkgs.overlays = [ - (self: super: { - # ui is broken on 1.84 - vscodium = super.vscodium.overrideAttrs (oldAttrs: rec { - version = "1.85.2.24019"; - src = super.fetchurl { - sha256 = "sha256-OBGFXOSN+Oq9uj/5O6tF0Kp7rxTY1AzNbhLK8G+EqVk="; - url = "https://github.com/VSCodium/vscodium/releases/download/${version}/VSCodium-linux-x64-${version}.tar.gz"; - }; - }); - }) - ]; + # nixpkgs.overlays = [ + # (self: super: { + # # ui is broken on 1.84 + # vscodium = super.vscodium.overrideAttrs (oldAttrs: rec { + # version = "1.85.2.24019"; + # src = super.fetchurl { + # sha256 = "sha256-OBGFXOSN+Oq9uj/5O6tF0Kp7rxTY1AzNbhLK8G+EqVk="; + # url = "https://github.com/VSCodium/vscodium/releases/download/${version}/VSCodium-linux-x64-${version}.tar.gz"; + # }; + # }); + # }) + # ]; } \ No newline at end of file diff --git a/users/leyla/packages.nix b/users/leyla/packages.nix index ca4ec7d..d962b34 100644 --- a/users/leyla/packages.nix +++ b/users/leyla/packages.nix @@ -1,4 +1,4 @@ -{ lib, config, pkgs, ... }: +{ lib, config, pkgs, inputs, ... }: let cfg = config.users.leyla; in @@ -8,6 +8,12 @@ in ../../overlays/vscodium.nix ]; + nixpkgs = { + overlays = [ + inputs.nix-vscode-extensions.overlays.default + ]; + }; + programs = { bash.shellAliases = lib.mkIf cfg.isFullUser { code = "codium"; @@ -66,7 +72,39 @@ in (lib.mkIf cfg.hasGPU davinci-resolve) # development tools - vscodium + (vscode-with-extensions.override { + vscode = vscodium; + vscodeExtensions = with open-vsx; [ + jeanp413.open-remote-ssh + ] ++ (with vscode-marketplace; [ + # vs code feel extensions + ms-vscode.atom-keybindings + akamud.vscode-theme-onedark + streetsidesoftware.code-spell-checker + streetsidesoftware.code-spell-checker-german + streetsidesoftware.code-spell-checker-italian + + # nix extensions + pinage404.nix-extension-pack + jnoortheen.nix-ide + + # html extensions + formulahendry.auto-rename-tag + ms-vscode.live-server + + # js extensions + dsznajder.es7-react-js-snippets + dbaeumer.vscode-eslint + standard.vscode-standard + firsttris.vscode-jest-runner + stylelint.vscode-stylelint + tauri-apps.tauri-vscode + karyfoundation.nearley + + # misc extensions + bungcip.better-toml + ]); + }) androidStudioPackages.canary jetbrains.idea-community dbeaver-bin