From 2bb66a88bb37f48c41f0573117cc49693070115f Mon Sep 17 00:00:00 2001 From: pagedMov Date: Sat, 2 Nov 2024 11:42:31 -0400 Subject: [PATCH] started work on integrating new module patterns into server config --- flake.nix | 6 ++-- hosts/server/config.nix | 28 +++++++++++++++++ hosts/server/default.nix | 15 --------- hosts/server/home.nix | 66 +++++++++++++++++++++++++++++++++++++++ hosts/server/settings.nix | 37 ---------------------- 5 files changed, 97 insertions(+), 55 deletions(-) create mode 100644 hosts/server/config.nix delete mode 100644 hosts/server/default.nix create mode 100644 hosts/server/home.nix delete mode 100644 hosts/server/settings.nix diff --git a/flake.nix b/flake.nix index 3bf797d..f6a8609 100644 --- a/flake.nix +++ b/flake.nix @@ -102,11 +102,11 @@ xenon = nixpkgs.lib.nixosSystem { specialArgs = { host = "xenon"; - inherit self inputs scheme wallpaper username; + inherit self inputs username; }; modules = [ - ./hosts/server - ./modules + ./hosts/server/config.nix + ./modules/sys stylix.nixosModules.stylix nixvim.nixosModules.nixvim nur.nixosModules.nur diff --git a/hosts/server/config.nix b/hosts/server/config.nix new file mode 100644 index 0000000..179e7b6 --- /dev/null +++ b/hosts/server/config.nix @@ -0,0 +1,28 @@ +{ + pkgs, + username, + ... +}: { + imports = [ + ./hardware.nix + ./home.nix + ]; + nixSettings.enable = true; + networkModule.enable = true; + bootLoader.enable = true; + issue.enable = true; + sysPkgs.enable = true; + sysProgs.enable = true; + sysServices.enable = true; + + environment = { + variables = { + PATH = "${pkgs.clang-tools}/bin:$PATH"; + TERM = "kitty"; + }; + shells = with pkgs; [ + zsh + bash + ]; + }; +} diff --git a/hosts/server/default.nix b/hosts/server/default.nix deleted file mode 100644 index 0158bd6..0000000 --- a/hosts/server/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - host, - inputs, - username, - nur, - pkgs, - self, - ... -}: { - imports = [ - ./../../modules/server - ./settings.nix - ./hardware.nix - ]; -} diff --git a/hosts/server/home.nix b/hosts/server/home.nix new file mode 100644 index 0000000..cefe30c --- /dev/null +++ b/hosts/server/home.nix @@ -0,0 +1,66 @@ +{ + 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; + ezaConfig.enable = true; + fzfConfig.enable = true; + gitConfig.enable = true; + yaziConfig.enable = true; + zshConfig.enable = true; + batConfig.enable = true; + + movScripts = { + enable = true; + nixShortcuts.enable = true; + commandScripts = { + enable = true; + toolbelt.enable = false; + }; + }; + + home = { + username = "${username}"; + homeDirectory = "/home/${username}"; + stateVersion = "24.05"; + }; + }; + }; + }; + + users = { + users = { + root.initialPassword = "1234"; + ${username} = { + isNormalUser = true; + initialPassword = "1234"; + shell = pkgs.zsh; + extraGroups = [ "wheel" ]; + }; + }; + }; + security.sudo.extraConfig = '' + ${username} ALL=(ALL) NOPASSWD: /etc/profiles/per-user/${username}/bin/rebuild + ''; + nix.settings.allowed-users = ["${username}"]; +} diff --git a/hosts/server/settings.nix b/hosts/server/settings.nix deleted file mode 100644 index 5f69a01..0000000 --- a/hosts/server/settings.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - pkgs, - username, - ... -}: { - system.stateVersion = "24.05"; - nixpkgs.config.allowUnfree = true; - nix = { - settings = { - auto-optimise-store = true; - experimental-features = ["nix-command" "flakes"]; - substituters = ["https://nix-gaming.cachix.org"]; - }; - }; - - networking = { - networkmanager.enable = true; - hostName = "xenon"; - firewall = { - enable = true; - }; - }; - - environment = { - variables = { - PATH = "${pkgs.clang-tools}/bin:$PATH"; - }; - shells = with pkgs; [ - zsh - bash - ]; - }; - - - time.timeZone = "America/New_York"; - i18n.defaultLocale = "en_US.UTF-8"; -}