diff --git a/flake.nix b/flake.nix index 09a18d1..78be7a0 100755 --- a/flake.nix +++ b/flake.nix @@ -36,9 +36,6 @@ pkgs = import nixpkgs { inherit system; }; username = "pagedmov"; in { - nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - - # Home Manager configurations for each user/machine homeConfigurations = { oganessonHome = home-manager.lib.homeManagerConfiguration { inherit pkgs; @@ -47,7 +44,6 @@ inherit self username inputs; }; - # Specific Home Manager config for oganesson modules = [ ./hosts/desktop/home.nix ./modules/home @@ -58,21 +54,33 @@ }; mercuryHome = home-manager.lib.homeManagerConfiguration { - inherit system; - pkgs = pkgs; - extraSpecialArgs = { inherit self inputs username; }; + inherit pkgs; + extraSpecialArgs = { + host = "oganesson"; + inherit self username inputs; + }; - # Specific Home Manager config for mercury - configuration = import ./hosts/laptop/home.nix; + modules = [ + ./hosts/laptop/home.nix + ./modules/home + stylix.homeManagerModules.stylix + nixvim.homeManagerModules.nixvim + nur.nixosModules.nur + ]; }; xenonHome = home-manager.lib.homeManagerConfiguration { - inherit system; - pkgs = pkgs; - extraSpecialArgs = { inherit self inputs username; }; + inherit pkgs; + extraSpecialArgs = { + host = "oganesson"; + inherit self username inputs; + }; - # Specific Home Manager config for xenon - configuration = import ./hosts/server/home.nix; + modules = [ + ./hosts/server/home.nix + ./modules/home/servermodule.nix + nixvim.homeManagerModules.nixvim + ]; }; }; @@ -86,7 +94,6 @@ modules = [ ./hosts/desktop/config.nix ./modules/sys - home-manager.nixosModules.home-manager stylix.nixosModules.stylix nur.nixosModules.nur ]; @@ -101,9 +108,7 @@ modules = [ ./hosts/laptop/config.nix ./modules/sys - home-manager.nixosModules.home-manager stylix.nixosModules.stylix - nixvim.nixosModules.nixvim nur.nixosModules.nur ]; }; @@ -118,9 +123,7 @@ ./hosts/server/config.nix ./modules/sys ./modules/server - home-manager.nixosModules.home-manager stylix.nixosModules.stylix - nixvim.nixosModules.nixvim nur.nixosModules.nur ]; }; diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix index a6e125f..d238922 100755 --- a/hosts/desktop/home.nix +++ b/hosts/desktop/home.nix @@ -1,13 +1,9 @@ -{ - username, - lib, - config, - ... -}: -{ +{ username, lib, config, ... }: { home.username = "${username}"; # Replace with your actual username - home.homeDirectory = "/home/${username}"; # Replace with your actual home directory - home.stateVersion = "24.05"; # Adjust this based on your system's NixOS version + home.homeDirectory = + "/home/${username}"; # Replace with your actual home directory + home.stateVersion = + "24.05"; # Adjust this based on your system's NixOS version programs.home-manager.enable = true; @@ -16,29 +12,29 @@ homeFiles.enable = true; # modules/home/environment - hyprlandConfig.enable = true; - autojumpConfig.enable = true; + hyprlandConfig.enable = true; + autojumpConfig.enable = true; stylixHomeConfig.enable = true; - waybarConfig.enable = true; - gtkConfig.enable = true; - spicetifyConfig.enable = true; - starshipConfig.enable = true; + waybarConfig.enable = true; + gtkConfig.enable = true; + spicetifyConfig.enable = true; + starshipConfig.enable = true; # modules/home/programs - btopConfig.enable = true; - swayncConfig.enable = true; - userPkgs.enable = true; - cavaConfig.enable = true; - ezaConfig.enable = true; - firefoxConfig.enable = true; - fuzzelConfig.enable = true; - fzfConfig.enable = true; - gitConfig.enable = true; - kittyConfig.enable = true; - yaziConfig.enable = true; - zshConfig.enable = true; - passConfig.enable = true; - batConfig.enable = true; + btopConfig.enable = true; + swayncConfig.enable = true; + userPkgs.enable = true; + cavaConfig.enable = true; + ezaConfig.enable = true; + firefoxConfig.enable = true; + fuzzelConfig.enable = true; + fzfConfig.enable = true; + gitConfig.enable = true; + kittyConfig.enable = true; + yaziConfig.enable = true; + zshConfig.enable = true; + passConfig.enable = true; + batConfig.enable = true; # modules/home/scripts movScripts.enable = true; @@ -49,8 +45,8 @@ dconf.settings = { "org/virt-manager/virt-manager/connections" = { - autoconnect = ["qemu:///system"]; - uris = ["qemu:///system"]; + autoconnect = [ "qemu:///system" ]; + uris = [ "qemu:///system" ]; }; }; } diff --git a/hosts/laptop/home.nix b/hosts/laptop/home.nix index f8592bc..d75fb9e 100755 --- a/hosts/laptop/home.nix +++ b/hosts/laptop/home.nix @@ -1,93 +1,47 @@ -{ - host, - pkgs, - self, - inputs, - username, - lib, - config, - ... -}: let - nur = config.nur; -in { - imports = [inputs.home-manager.nixosModules.home-manager]; - home-manager = { - useUserPackages = true; - useGlobalPkgs = true; - backupFileExtension = "backup"; - extraSpecialArgs = {inherit self inputs host username nur;}; - users = { - ${username} = { - programs.home-manager.enable = true; - imports = [ - inputs.self.outputs.homeManagerModules.default - ]; +{ host, pkgs, self, inputs, username, lib, config, ... }: { + home.username = "${username}"; # Replace with your actual username + home.homeDirectory = + "/home/${username}"; # Replace with your actual home directory + home.stateVersion = + "24.05"; # Adjust this based on your system's NixOS version - # My custom home-manager modules + programs.home-manager.enable = true; - # modules/home/files - homeFiles.enable = true; + movOpts = { + # modules/home/files + homeFiles.enable = true; - # modules/home/environment - hyprlandConfig.enable = true; - autojumpConfig.enable = true; - stylixHomeConfig.enable = true; - waybarConfig.enable = true; - gtkConfig.enable = true; - spicetifyConfig.enable = true; - starshipConfig.enable = true; + # modules/home/environment + hyprlandConfig.enable = true; + autojumpConfig.enable = true; + stylixHomeConfig.enable = true; + waybarConfig.enable = true; + gtkConfig.enable = true; + spicetifyConfig.enable = true; + starshipConfig.enable = true; - # modules/home/programs - btopConfig.enable = true; - swayncConfig.enable = true; - userPkgs.enable = true; - cavaConfig.enable = true; - ezaConfig.enable = true; - firefoxConfig.enable = true; - fuzzelConfig.enable = true; - fzfConfig.enable = true; - gitConfig.enable = true; - kittyConfig.enable = true; - yaziConfig.enable = true; - zshConfig.enable = true; - passConfig.enable = true; - batConfig.enable = true; + # modules/home/programs + btopConfig.enable = true; + swayncConfig.enable = true; + userPkgs.enable = true; + cavaConfig.enable = true; + ezaConfig.enable = true; + firefoxConfig.enable = true; + fuzzelConfig.enable = true; + fzfConfig.enable = true; + gitConfig.enable = true; + kittyConfig.enable = true; + yaziConfig.enable = true; + zshConfig.enable = true; + passConfig.enable = true; + batConfig.enable = true; - # modules/home/scripts - movScripts.enable = true; - movScripts.commandScripts.enable = true; - movScripts.hyprlandControls.enable = true; - movScripts.nixShortcuts.enable = true; - - dconf.settings = lib.mkIf config.movOpts.virtConfig.enable { - "org/virt-manager/virt-manager/connections" = { - autoconnect = ["qemu:///system"]; - uris = ["qemu:///system"]; - }; - }; - home = { - username = "${username}"; - homeDirectory = "/home/${username}"; - stateVersion = "24.05"; - }; - }; + # modules/home/scripts + movScripts = { + enable = true; + commandScripts.enable = true; + hyprlandControls.enable = true; + nixShortcuts.enable = true; }; }; - - users = { - groups.persist = {}; - users = { - root.initialPassword = "1234"; - ${username} = { - isNormalUser = true; - initialPassword = "1234"; - shell = pkgs.zsh; - extraGroups = ["wheel" "persist" "libvirtd"]; - }; - }; - }; - security.sudo.extraConfig = '' - ${username} ALL=(ALL) NOPASSWD: /etc/profiles/per-user/${username}/bin/rebuild - ''; - nix.settings.allowed-users = ["${username}"]; } diff --git a/hosts/server/home.nix b/hosts/server/home.nix index 9b11b9d..5fb14b7 100755 --- a/hosts/server/home.nix +++ b/hosts/server/home.nix @@ -1,75 +1,34 @@ -{ - host, - pkgs, - self, - inputs, - lib, - username, - config, - ... -}: let - nur = config.nur; - movModules = inputs.self.outputs.homeManagerModules.default; -in { - imports = [inputs.home-manager.nixosModules.home-manager]; - home-manager = { - useUserPackages = true; - useGlobalPkgs = true; - backupFileExtension = "backup"; - extraSpecialArgs = { inherit self inputs host username nur; }; - users = { - ${username} = { - programs.home-manager.enable = true; - imports = [ movModules ]; - autojumpConfig.enable = true; - btopConfig.enable = true; - starshipConfig.enable = true; - ezaConfig.enable = true; - fzfConfig.enable = true; - gitConfig.enable = true; - yaziConfig.enable = true; - zshConfig.enable = true; - batConfig.enable = true; - userPkgs.enable = true; +{ host, pkgs, self, inputs, lib, username, config, ... }: { - movScripts = { - enable = true; - nixShortcuts.enable = true; - commandScripts = { - enable = true; - toolbelt.enable = false; - }; - hyprlandControls = { - scheck.enable = true; - }; - }; + home.username = "${username}"; # Replace with your actual username + home.homeDirectory = + "/home/${username}"; # Replace with your actual home directory + home.stateVersion = + "24.05"; # Adjust this based on your system's NixOS version - home = { - username = "${username}"; - homeDirectory = "/home/${username}"; - stateVersion = "24.05"; - }; - }; + programs.home-manager.enable = true; + + movOpts = { + # modules/home/environment + autojumpConfig.enable = true; + starshipConfig.enable = true; + zshConfig.enable = true; + + # modules/home/programs + btopConfig.enable = true; + userPkgs.enable = true; + ezaConfig.enable = true; + fzfConfig.enable = true; + gitConfig.enable = true; + yaziConfig.enable = true; + batConfig.enable = true; + + # modules/home/scripts + movScripts = { + enable = true; + commandScripts.enable = true; + hyprlandControls.enable = true; + nixShortcuts.enable = true; }; }; - - users = { - users = { - root.initialPassword = "1234"; - ${username} = { - isNormalUser = true; - createHome = true; - home = "/home/pagedmov"; - homeMode = "755"; - initialPassword = "1234"; - shell = pkgs.zsh; - extraGroups = [ "wheel" ]; - }; - jellyfin.extraGroups = [ "users" ]; - }; - }; - security.sudo.extraConfig = '' - ${username} ALL=(ALL) NOPASSWD: /etc/profiles/per-user/${username}/bin/rebuild - ''; - nix.settings.allowed-users = ["${username}"]; } diff --git a/modules/home/servermodule.nix b/modules/home/servermodule.nix new file mode 100644 index 0000000..1f1273d --- /dev/null +++ b/modules/home/servermodule.nix @@ -0,0 +1,47 @@ +{ + inputs, + nixpkgs, + config, + self, + username, + host, + lib, + ... +}: { + imports = [ + ./environment/starship.nix + ./environment/userpkgs.nix + ./environment/zshell.nix + ./programs/nixvim + ./programs/autojump.nix + ./programs/bat.nix + ./programs/btop.nix + ./programs/eza.nix + ./programs/fzf.nix + ./programs/git.nix + ./programs/yazi.nix + ./scripts + ]; + + movOpts = { + # ./environment + zshConfig.enable = lib.mkDefault false; + starshipConfig.enable = lib.mkDefault false; + userPkgs.enable = lib.mkDefault false; + + # ./programs + autojumpConfig.enable = lib.mkDefault false; + btopConfig.enable = lib.mkDefault false; + ezaConfig.enable = lib.mkDefault false; + fzfConfig.enable = lib.mkDefault false; + gitConfig.enable = lib.mkDefault false; + yaziConfig.enable = lib.mkDefault false; + batConfig.enable = lib.mkDefault false; + + # ./scripts + movScripts.enable = lib.mkDefault false; + movScripts.commandScripts.enable = lib.mkDefault false; + movScripts.hyprlandControls.enable = lib.mkDefault false; + movScripts.nixShortcuts.enable = lib.mkDefault false; + }; +}