diff --git a/flake.nix b/flake.nix index 91318ad..8b378de 100644 --- a/flake.nix +++ b/flake.nix @@ -33,7 +33,7 @@ let system = "x86_64-linux"; host = "vm"; - profile = "vm"; + profile = "desktop"; username = "josh"; in { @@ -43,7 +43,6 @@ specialArgs = { inherit inputs; inherit host; - inherit profile; inherit username; }; modules = [ @@ -56,7 +55,6 @@ specialArgs = { inherit inputs; inherit host; - inherit profile; inherit username; }; modules = [ @@ -65,19 +63,6 @@ ./hosts/${host} ]; }; - - nixosvm = nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = { - inherit inputs; - inherit host; - inherit profile; - inherit username; - }; - modules = [ - ./hosts/${host} - ]; - }; }; homeConfigurations.${username} = home-manager.lib.homeManagerConfiguration { @@ -87,7 +72,8 @@ }; pkgs = nixpkgs.legacyPackages.${system}; modules = [ - ./modules/home + ./profiles/${profile} + ./homes/${username} stylix.homeModules.stylix ]; }; diff --git a/homes/josh/home.nix b/homes/josh/home.nix new file mode 100644 index 0000000..5c2d509 --- /dev/null +++ b/homes/josh/home.nix @@ -0,0 +1,23 @@ +{ + ... +}: +{ + imports = [ + ../../modules/homes + ../../modules/options + ]; + + modules.zsh.enable = true; + modules.shell.defaultShell = "zsh"; + + home = { + username = "josh"; + homeDirectory = "/home/josh"; + stateVersion = "25.11"; + }; + + # Let Home Manager install and manage itself + programs.home-manager.enable = true; + + nix.settings.allowed-users = [ "josh" ]; +} \ No newline at end of file diff --git a/hosts/vm/default.nix b/hosts/vm/default.nix index 4c1d5fe..796289f 100644 --- a/hosts/vm/default.nix +++ b/hosts/vm/default.nix @@ -1,10 +1,10 @@ { - profile, ... }: { imports = [ - ../../profiles/${profile} + ../../profiles/desktop + ../../profiles/vm ../../modules/core ../../modules/options diff --git a/modules/core/stylix.nix b/modules/core/stylix.nix index ad48dde..9ec018f 100644 --- a/modules/core/stylix.nix +++ b/modules/core/stylix.nix @@ -1,10 +1,8 @@ { inputs, - lib, pkgs, ... }: -with lib; { imports = [ inputs.stylix.nixosModules.stylix ]; diff --git a/modules/core/user.nix b/modules/core/user.nix index 00098b5..ebd2438 100644 --- a/modules/core/user.nix +++ b/modules/core/user.nix @@ -26,12 +26,7 @@ in ; }; users.${username} = { - imports = [ ./../home ]; - home = { - username = "${username}"; - homeDirectory = "/home/${username}"; - stateVersion = "25.05"; - }; + imports = [ ../../homes/${username}/home.nix ]; }; }; @@ -57,6 +52,4 @@ in environment.pathsToLink = [ ] ++ (if zshCfg.enable then [ "/share/zsh" ] else [ ]); - - nix.settings.allowed-users = [ "${username}" ]; } diff --git a/modules/homes/default.nix b/modules/homes/default.nix index d627c89..7e847a2 100644 --- a/modules/homes/default.nix +++ b/modules/homes/default.nix @@ -5,7 +5,6 @@ imports = [ ./direnv.nix ./fzf.nix - ./home.nix ./hyprland ./kitty.nix ./overlays.nix diff --git a/modules/homes/home.nix b/modules/homes/home.nix deleted file mode 100644 index a934d8e..0000000 --- a/modules/homes/home.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - username, - ... -}: -{ - home = { - username = "${username}"; - homeDirectory = "/home/${username}"; - stateVersion = "25.11"; - }; -} \ No newline at end of file diff --git a/modules/homes/hyprland/binds.nix b/modules/homes/hyprland/binds.nix index 5627f43..a33b6fd 100644 --- a/modules/homes/hyprland/binds.nix +++ b/modules/homes/hyprland/binds.nix @@ -1,9 +1,9 @@ { - osConfig, + config, ... }: let - cfg = osConfig.modules.hyprland; + cfg = config.modules.hyprland; in { wayland.windowManager.hyprland.settings = { diff --git a/modules/homes/hyprland/hyprland.nix b/modules/homes/hyprland/hyprland.nix index e4b3f5a..6ffbed0 100644 --- a/modules/homes/hyprland/hyprland.nix +++ b/modules/homes/hyprland/hyprland.nix @@ -1,12 +1,12 @@ { + config, lib, - osConfig, pkgs, ... }: with lib; let - cfg = osConfig.modules.hyprland; + cfg = config.modules.hyprland; in { wayland.windowManager.hyprland = { diff --git a/modules/homes/kitty.nix b/modules/homes/kitty.nix index 6b26923..1bb5ad4 100644 --- a/modules/homes/kitty.nix +++ b/modules/homes/kitty.nix @@ -1,13 +1,13 @@ { + config, lib, - osConfig, pkgs, ... }: with lib; let - hyprlandCfg = osConfig.modules.hyprland; - zshCfg = osConfig.modules.zsh; + hyprlandCfg = config.modules.hyprland; + zshCfg = config.modules.zsh; in { config = mkIf (hyprlandCfg.terminal == "kitty") { diff --git a/modules/homes/xdg.nix b/modules/homes/xdg.nix index d2dbdc1..5b0812f 100644 --- a/modules/homes/xdg.nix +++ b/modules/homes/xdg.nix @@ -1,19 +1,21 @@ { - osConfig, + config, + lib, pkgs, ... }: +with lib; let - hyprlandCfg = osConfig.modules.hyprland; - pipewireCfg = osConfig.modules.pipewire; - plasmaCfg = osConfig.modules.plasma; + hyprlandCfg = config.modules.hyprland; + pipewireCfg = config.modules.pipewire; + plasmaCfg = config.modules.plasma; in { xdg = { enable = true; mime.enable = true; mimeApps.enable = true; - portal = { + portal = mkIf (hyprlandCfg.enable or plasmaCfg.enable) { enable = true; extraPortals = [ ] diff --git a/modules/homes/zsh/completion.nix b/modules/homes/zsh/completion.nix index f4fbb02..c1864a0 100644 --- a/modules/homes/zsh/completion.nix +++ b/modules/homes/zsh/completion.nix @@ -1,12 +1,11 @@ { config, lib, - osConfig, ... }: with lib; let - cfg = osConfig.modules.zsh; + cfg = config.modules.zsh; xdgCfg = config.xdg; in { diff --git a/modules/homes/zsh/default.nix b/modules/homes/zsh/default.nix index 86943e8..8e21986 100644 --- a/modules/homes/zsh/default.nix +++ b/modules/homes/zsh/default.nix @@ -1,13 +1,12 @@ { config, lib, - osConfig, pkgs, ... }: with lib; let - cfg = osConfig.modules.zsh; + cfg = config.modules.zsh; xdgCfg = config.xdg; in { diff --git a/modules/homes/zsh/p10k.nix b/modules/homes/zsh/p10k.nix index e06c453..86a7458 100644 --- a/modules/homes/zsh/p10k.nix +++ b/modules/homes/zsh/p10k.nix @@ -1,12 +1,11 @@ { config, lib, - osConfig, ... }: with lib; let - cfg = osConfig.modules.zsh; + cfg = config.modules.zsh; xdgCfg = config.xdg; in { diff --git a/profiles/desktop/default.nix b/profiles/desktop/default.nix new file mode 100644 index 0000000..816ea91 --- /dev/null +++ b/profiles/desktop/default.nix @@ -0,0 +1,10 @@ +{ + ... +}: +{ + imports = [ ../../modules/options ]; + + modules.hyprland = { + enable = true; + }; +} \ No newline at end of file diff --git a/profiles/vm/default.nix b/profiles/vm/default.nix index cb7583f..ed322f7 100644 --- a/profiles/vm/default.nix +++ b/profiles/vm/default.nix @@ -1,5 +1,4 @@ { - vm, ... }: { diff --git a/rebuild.sh b/rebuild.sh index eafe880..6d0997a 100755 --- a/rebuild.sh +++ b/rebuild.sh @@ -4,7 +4,7 @@ echo "Removing old qcow2 disk ..." rm -f ./vm.qcow2 echo "Building new VM ..." -nix build .#nixosConfigurations.nixosvm.config.system.build.vm +nix build .#nixosConfigurations.nixos.config.system.build.vm if [ $? -ne 0 ]; then echo "Failed to build VM"