diff --git a/environments/wsl/default.nix b/environments/wsl/default.nix index 509ddad..32dedf7 100644 --- a/environments/wsl/default.nix +++ b/environments/wsl/default.nix @@ -1,29 +1,7 @@ { - pkgs, - inputs, - ... -}: { - imports = [ - inputs.nixos-wsl.nixosModules.wsl - ]; - - wsl.enable = true; - wsl.defaultUser = "zoriya"; - environment.systemPackages = with pkgs; [ - wslu - wsl-open - ]; - - services.flatpak.enable = true; - xdg.portal = { - enable = true; - wlr.enable = true; - config.common.default = "*"; - }; - services.openssh = { enable = true; - ports = [ 1022 ]; + ports = [1022]; settings = { PasswordAuthentication = false; PermitRootLogin = "no"; diff --git a/flake.nix b/flake.nix index 0bb658a..4979244 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,4 @@ { - description = "A very basic flake"; - inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; home-manager = { diff --git a/lib/mksystem.nix b/lib/mksystem.nix index 343d922..caa6c6c 100644 --- a/lib/mksystem.nix +++ b/lib/mksystem.nix @@ -9,6 +9,7 @@ wsl ? false, darwin ? false, custom ? [], + customHome ? [], }: let systemFunc = if darwin @@ -24,14 +25,13 @@ then ../modules/cli/darwin.nix else ../modules/cli; - specialArgs = inputs // {inherit system;}; + specialArgs = inputs // {inherit system user;}; in systemFunc { inherit system specialArgs; modules = [ overlays - inputs.impermanence.nixosModules.impermanence cli (../environments + "/${env}") @@ -66,14 +66,34 @@ in useUserPackages = true; extraSpecialArgs = specialArgs; users.${user} = { - imports = [ - ../modules/cli/home.nix - (../environments + "/${env}/home.nix") - inputs.nix-index-database.hmModules.nix-index - ]; + imports = + [ + ../modules/cli/home.nix + (../environments + "/${env}/home.nix") + inputs.nix-index-database.hmModules.nix-index + ] + ++ customHome; }; }; } ] + ++ nixpkgs.lib.optionals wsl [ + inputs.nixos-wsl.nixosModules.wsl + ({pkgs, ...}: { + wsl.enable = true; + wsl.defaultUser = user; + environment.systemPackages = with pkgs; [ + wslu + wsl-open + ]; + + services.flatpak.enable = true; + xdg.portal = { + enable = true; + wlr.enable = true; + config.common.default = "*"; + }; + }) + ] ++ custom; } diff --git a/modules/cli/impermanence.nix b/modules/cli/impermanence.nix index 87fd347..700e6f9 100644 --- a/modules/cli/impermanence.nix +++ b/modules/cli/impermanence.nix @@ -1,4 +1,12 @@ { + impermanence, + user, + ... +}: { + imports = [ + impermanence.nixosModules.impermanence + ]; + environment.persistence."/nix/persist" = { hideMounts = true; directories = [ @@ -30,7 +38,7 @@ "/var/snapraid.content" "/var/cache/locatedb" ]; - users.zoriya = { + users.${user} = { directories = [ "downloads" "stuff"