Files
ad-nix/configuration.nix
2024-09-16 02:28:50 +00:00

78 lines
2.0 KiB
Nix

{ pkgs, lib, modulesPath, ... }:
let
stateVersion = "24.05";
unstable = import <nixos-unstable> {};
adHome = "/srv/appdaemon";
adNixPath = "${adHome}/ad-nix";
adPath = "/usr/src/app";
adBranch = "hass";
in
{
imports = [
(modulesPath + "/virtualisation/proxmox-lxc.nix")
(import "${builtins.fetchTarball https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz}/nixos")
(fetchTarball "https://github.com/nix-community/nixos-vscode-server/tarball/master")
];
environment.systemPackages = with pkgs; [
(pkgs.writeShellScriptBin "nrbs" ''
sudo nixos-rebuild switch
'')
(pkgs.writeShellScriptBin "nrbsu" ''
sudo nix-channel --update && sudo nixos-rebuild switch
'')
(pkgs.writeShellScriptBin "ad-clone" ''
if [ ! -d ${adNixPath} ]; then
sudo git clone https://gitea.john-stream.com/john/ad-nix ${adNixPath}
sudo chown -R appdaemon:users ${adNixPath}
else
echo "${adNixPath} already exists"
fi
if [ ! -d ${adPath} ]; then
sudo git clone -b ${adBranch} https://github.com/jsl12/appdaemon ${adPath}
sudo chown -R appdaemon:users ${adPath}
else
echo "${adPath} already exists"
fi
'')
bash
git
eza
# appdaemon
];
virtualisation.docker.enable = true;
services.vscode-server.enable = true;
services.openssh.enable = true;
security.sudo-rs = {
enable = true;
execWheelOnly = false;
wheelNeedsPassword = false;
};
users.users.appdaemon = {
isNormalUser = true;
home = "${adHome}";
extraGroups = [ "wheel" "docker"];
openssh.authorizedKeys.keyFiles = [ "/root/.ssh/authorized_keys" ];
};
home-manager = {
useGlobalPkgs = true;
users.appdaemon = { pkgs, ... }: {
home.stateVersion = stateVersion;
imports = [ ./git.nix ];
programs = {
ssh.enable = true;
bash = {
enable = true;
profileExtra = "cd ${adPath}";
};
};
};
};
system.stateVersion = stateVersion;
}