diff --git a/flake.nix b/flake.nix index cb0efbe..a8ba1c7 100755 --- a/flake.nix +++ b/flake.nix @@ -66,5 +66,7 @@ lenovo-impure = self.nixosConfigurations.lenovo.extendModules { modules = [ { impurity.enable = true; } ]; }; }; + + devShells = import ./modules/devenv/flakepart.nix inputs; }; } diff --git a/modules/devenv/default.nix b/modules/devenv/default.nix index f2668d4..bafebe3 100644 --- a/modules/devenv/default.nix +++ b/modules/devenv/default.nix @@ -1,9 +1,5 @@ -outerInputs @ { inputs, system, pkgs, ... }: { - nix.registry.devenv.flake.outPath = pkgs.runCommand "devenvs" {} '' - mkdir $out - cp -r ${./.}/* $out - cp ${inputs.self}/flake.lock $out/flake.lock - ''; +outerInputs @ { self, inputs, system, pkgs, ... }: { + nix.registry.system.flake = self; system.extraDependencies = [ (import ./rust.nix outerInputs) diff --git a/modules/devenv/flake.nix b/modules/devenv/flake.nix deleted file mode 100644 index ca7a166..0000000 --- a/modules/devenv/flake.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ - # locked by the copied lockfile. inputs must match the main flake - inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; - stable.url = "nixpkgs/nixos-23.05"; - flake-utils.url = "github:numtide/flake-utils"; - - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - impurity.url = "github:outfoxxed/impurity.nix"; - - emacs-overlay = { - url = "github:nix-community/emacs-overlay?rev=b7a065e692e944e6b68d4285013ca426a8de6663"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "flake-utils"; - }; - - hyprland = { - url = "github:hyprwm/Hyprland"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - hyprland-hy3 = { - url = "github:outfoxxed/hy3"; - inputs.hyprland.follows = "hyprland"; - }; - - hyprpaper = { - url = "github:hyprwm/Hyprpaper"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - ironbar = { - url = "github:JakeStanger/ironbar"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.rust-overlay.follows = "rust-overlay"; - }; - - nur.url = "github:nix-community/NUR"; - - # devenv - rust-overlay = { - url = "github:oxalica/rust-overlay"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "flake-utils"; - }; - }; - - outputs = finputs @ { nixpkgs, ... }: let - systems = [ "x86_64-linux" ]; - in builtins.foldl' (a: b: a // b) {} (builtins.map (system: let - pkgs = import nixpkgs { inherit system; }; - inputs = finputs // { inherit system pkgs inputs; }; - in { - devShells.${system} = { - rust = import ./rust.nix inputs; - }; - }) systems); -} diff --git a/modules/devenv/flakepart.nix b/modules/devenv/flakepart.nix new file mode 100644 index 0000000..0f20035 --- /dev/null +++ b/modules/devenv/flakepart.nix @@ -0,0 +1,10 @@ +finputs @ { nixpkgs, ... }: let + systems = [ "x86_64-linux" ]; +in builtins.foldl' (a: b: a // b) {} (builtins.map (system: let + pkgs = import nixpkgs { inherit system; }; + inputs = finputs // { inherit system pkgs inputs; }; + in { + ${system} = { + rust-env = import ./rust.nix inputs; + }; + }) systems) diff --git a/systems/lenovo/default.nix b/systems/lenovo/default.nix index 7942851..53ddce0 100755 --- a/systems/lenovo/default.nix +++ b/systems/lenovo/default.nix @@ -2,6 +2,7 @@ imports = [ ./hardware.nix ./mullvad.nix + ./hyprland ]; system.stateVersion = "23.11"; networking.hostName = "lenovo";