diff --git a/flake.lock b/flake.lock index 8c5d48e..8bf1076 100644 --- a/flake.lock +++ b/flake.lock @@ -169,6 +169,22 @@ } }, "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "locked": { "lastModified": 1688025799, "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", @@ -284,6 +300,24 @@ "inputs": { "systems": "systems" }, + "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" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_2" + }, "locked": { "lastModified": 1705309234, "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", @@ -298,7 +332,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_4": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -346,7 +380,7 @@ }, "lib-aggregate": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { @@ -396,7 +430,7 @@ "inputs": { "flake-parts": "flake-parts_3", "nix-github-actions": "nix-github-actions", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "treefmt-nix": "treefmt-nix_2" }, "locked": { @@ -435,6 +469,26 @@ "type": "github" } }, + "nix-vscode-extensions": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1711934525, + "narHash": "sha256-nMRgXVApeacHoO+R6ap5Y1Did+qng0z/eBG8L7jFgJY=", + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "rev": "b2ca2718d4953bc2b41592d2a6b76e3d28236e69", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "type": "github" + } + }, "nixos-anywhere": { "inputs": { "disko": "disko", @@ -504,16 +558,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1703134684, - "narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=", + "lastModified": 1684570954, + "narHash": "sha256-FX5y4Sm87RWwfu9PI71XFvuRpZLowh00FQpIJ1WfXqE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d6863cbcbbb80e71cecfc03356db1cda38919523", + "rev": "3005f20ce0aaa58169cdee57c8aa12e5f1b6e1b3", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -615,44 +669,44 @@ "type": "github" } }, - "nixpkgs-unstable-small": { + "nixpkgs-unstable": { "locked": { - "lastModified": 1707217908, - "narHash": "sha256-5Dauh04xrEZqlokpYWftfVmDrljORnA48tGrRp+TURM=", + "lastModified": 1711703276, + "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3b0709da3eeed918323399c68b1fe4309b2ac483", + "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-vscodium": { "locked": { - "lastModified": 1709558755, - "narHash": "sha256-hx4FIbk4X4ve1oiHLOj+VE6dzO4CtXBR5RSU6kaq34M=", + "lastModified": 1711703276, + "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "207107bbc7d6d19a8b2c36a088d3756d03490243", + "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-wayland": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "lib-aggregate": "lib-aggregate", "nix-eval-jobs": "nix-eval-jobs", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1707290091, @@ -669,6 +723,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1703134684, + "narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d6863cbcbbb80e71cecfc03356db1cda38919523", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1707092692, "narHash": "sha256-ZbHsm+mGk/izkWtT4xwwqz38fdlwu7nUUKXTOmm4SyE=", @@ -752,6 +822,7 @@ "jay": "jay", "linux_x13s": "linux_x13s", "logseq_0_10_5_aarch64_appimage": "logseq_0_10_5_aarch64_appimage", + "nix-vscode-extensions": "nix-vscode-extensions", "nixos-anywhere": "nixos-anywhere", "nixpkgs": [ "nixpkgs-2311" @@ -759,10 +830,7 @@ "nixpkgs-2211": "nixpkgs-2211", "nixpkgs-2305": "nixpkgs-2305", "nixpkgs-2311": "nixpkgs-2311", - "nixpkgs-unstable": [ - "nixpkgs-unstable-small" - ], - "nixpkgs-unstable-small": "nixpkgs-unstable-small", + "nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-vscodium": "nixpkgs-vscodium", "nixpkgs-wayland": "nixpkgs-wayland", "ofi-pass": "ofi-pass", @@ -883,6 +951,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -928,7 +1011,7 @@ }, "yofi": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_4", "nixpkgs": [ "nixpkgs" ] diff --git a/flake.nix b/flake.nix index 1bdf23c..ce8879a 100644 --- a/flake.nix +++ b/flake.nix @@ -11,8 +11,7 @@ radicalePkgs.follows = "nixpkgs-2211"; nixpkgs-2305.url = "github:nixos/nixpkgs/nixos-23.05"; nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; - nixpkgs-unstable-small.url = "github:nixos/nixpkgs/nixos-unstable-small"; - nixpkgs-unstable.follows = "nixpkgs-unstable-small"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.follows = "nixpkgs-2311"; flake-parts.url = "github:hercules-ci/flake-parts"; get-flake.url = "github:ursi/get-flake"; @@ -25,7 +24,8 @@ nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland"; - nixpkgs-vscodium.url = "github:nixos/nixpkgs/nixos-unstable-small"; + nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; + nixpkgs-vscodium.url = "github:nixos/nixpkgs/nixos-unstable"; openvscode-server.url = "github:gitpod-io/openvscode-server/openvscode-server-v1.86.2"; openvscode-server.flake = false; diff --git a/nix/home-manager/programs/obs-studio.nix b/nix/home-manager/programs/obs-studio.nix new file mode 100644 index 0000000..ff88d1a --- /dev/null +++ b/nix/home-manager/programs/obs-studio.nix @@ -0,0 +1,10 @@ +{pkgs, ...}: { + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + obs-backgroundremoval + obs-pipewire-audio-capture + ]; + }; +} diff --git a/nix/home-manager/programs/vscode/default.nix b/nix/home-manager/programs/vscode/default.nix index dfc421f..2541bab 100644 --- a/nix/home-manager/programs/vscode/default.nix +++ b/nix/home-manager/programs/vscode/default.nix @@ -18,7 +18,7 @@ in { # sha256 = "1qc1qsahfx1nvznq4adplx63w5d94xhafngv76vnqjjbzhv991v2"; # }) ] - ++ (with pkgs.vscode-extensions; [ + ++ (with pkgsVscodium.vscode-extensions; [ bbenoist.nix eamodio.gitlens mkhl.direnv @@ -29,7 +29,9 @@ in { ms-vscode.theme-tomorrowkit nonylene.dark-molokai-theme + # TODO: these are not in nixpkgs + # fredwangwang.vscode-hcl-format # hashicorp.hcl # mindaro-dev.file-downloader @@ -37,7 +39,15 @@ in { # TODO: not compatible with vscodium # ms-vscode-remote.remote-ssh - ]); + ] ++ (let + extensions = repoFlake.inputs.nix-vscode-extensions.extensions.${pkgs.system}; + in (with extensions.vscode-marketplace; [ + tamasfe.even-better-toml + + serayuzgur.crates + rust-lang.rust-analyzer + swellaby.vscode-rust-test-adapter + ]))); mutableExtensionsDir = true; }; diff --git a/nix/os/lib/default.nix b/nix/os/lib/default.nix index a4dbcff..ab904ae 100644 --- a/nix/os/lib/default.nix +++ b/nix/os/lib/default.nix @@ -10,6 +10,7 @@ in { isNormalUser = true; extraGroups = [ "docker" + "podman" "wheel" "libvirtd" "networkmanager"