Successfully separated home-manager configs from system configs

This commit is contained in:
pagedmov
2024-11-06 22:28:16 -05:00
parent 1a2402dee7
commit fc99570fdc
9 changed files with 209 additions and 175 deletions

View File

@@ -1,7 +1,6 @@
{pkgs, ...}: {
{pkgs, username, ...}: {
imports = [
./hardware.nix
./home.nix
];
# My module options
@@ -43,6 +42,23 @@
];
};
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}"];
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
}

View File

@@ -1,94 +1,56 @@
{
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
];
}:
{
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
movOpts = {
# modules/home/files
homeFiles.enable = true;
programs.home-manager.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;
movOpts = {
# modules/home/files
homeFiles.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/environment
hyprlandConfig.enable = true;
autojumpConfig.enable = true;
stylixHomeConfig.enable = true;
waybarConfig.enable = true;
gtkConfig.enable = true;
spicetifyConfig.enable = true;
starshipConfig.enable = true;
# modules/home/scripts
movScripts.enable = true;
movScripts.commandScripts.enable = true;
movScripts.hyprlandControls.enable = true;
movScripts.nixShortcuts.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;
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;
movScripts.commandScripts.enable = true;
movScripts.hyprlandControls.enable = true;
movScripts.nixShortcuts.enable = true;
};
users = {
groups.persist = {};
users = {
root.initialPassword = "1234";
${username} = {
isNormalUser = true;
initialPassword = "1234";
shell = pkgs.zsh;
extraGroups = ["wheel" "persist" "libvirtd"];
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
security.sudo.extraConfig = ''
${username} ALL=(ALL) NOPASSWD: /etc/profiles/per-user/${username}/bin/rebuild
'';
nix.settings.allowed-users = ["${username}"];
}

View File

@@ -7,16 +7,17 @@
./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;
jellyfinConfig.enable = true;
caddyConfig.enable = true;
movOpts = {
nixSettings.enable = true;
networkModule.enable = true;
bootLoader.enable = true;
issue.enable = true;
sysPkgs.enable = true;
sysProgs.enable = true;
sysServices.enable = true;
jellyfinConfig.enable = true;
caddyConfig.enable = true;
};
networking.firewall = {
allowedTCPPorts = [ 443 8920 ];
};