Files
panoptes-nix/home.nix
2024-12-09 19:55:06 -06:00

47 lines
1.2 KiB
Nix

{
pkgs,
systemSettings,
userSettings,
...
}:
let
repoURL = "https://gitea.john-stream.com/john/panoptes-nix";
repoBranch = "main";
homePath = "/home/${userSettings.username}";
repoPath = "${homePath}/${systemSettings.hostName}";
in
{
nixpkgs.config.allowUnfree = true;
programs.home-manager.enable = true;
programs.git = {
enable = true;
extraConfig.credential.helper = "store --file ~/.git-credentials";
userName = "${userSettings.gitUserName}";
userEmail = "${userSettings.gitUserEmail}";
extraConfig.safe.directory = "${repoPath}";
};
programs.bash.enable = true;
programs.ssh.enable = true;
home = {
stateVersion = "${systemSettings.stateVersion}";
username = "${userSettings.username}";
homeDirectory = "${homePath}";
packages = with pkgs; [
(writeShellScriptBin "nfs" ''
sudo nixos-rebuild switch --flake ${repoPath}#${systemSettings.hostName} --impure
'')
(writeShellScriptBin "nhs" ''
home-manager switch --flake ${repoPath}#${userSettings.username}
'')
(writeShellScriptBin "init-panoptes" ''
sudo -u ${userSettings.username} git clone -b ${repoBranch} ${repoURL} ${repoPath}
'')
];
};
systemd.user.startServices = "sd-switch";
}