added 'hoenn' command to manage system

This commit is contained in:
Aly Raffauf 2024-05-02 09:05:00 -04:00
parent 72d2fe2269
commit a3efc7a008
4 changed files with 51 additions and 1 deletions

View file

@ -56,6 +56,9 @@
podman.enable = true; podman.enable = true;
virt-manager.enable = true; virt-manager.enable = true;
}; };
scripts = {
hoenn.enable = true;
};
services = { services = {
syncthing.enable = true; syncthing.enable = true;
tailscale.enable = true; tailscale.enable = true;

View file

@ -3,5 +3,5 @@
pkgs, pkgs,
... ...
}: { }: {
imports = [./apps ./containers ./desktop ./services ./system ./user]; imports = [./apps ./containers ./desktop ./scripts ./services ./system ./user];
} }

View file

@ -0,0 +1,8 @@
{
pkgs,
lib,
config,
...
}: {
imports = [./hoenn];
}

View file

@ -0,0 +1,39 @@
{
pkgs,
lib,
config,
...
}: let
hoenn = pkgs.writeShellScriptBin "hoenn" ''
FLAKE="github:alyraffauf/nixcfg"
HOST=${config.networking.hostName}
FLAKE_SRC="https://github.com/alyraffauf/nixcfg.git"
if [ "$1" = "sync" ]; then
if [ "$2" == "" ] || [ "$2" == "now" ]; then
${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake $FLAKE#$HOST
exit 0;
elif [ "$2" == "boot" ]; then
${pkgs.nixos-rebuild}/bin/nixos-rebuild boot --flake $FLAKE#$HOST
exit 0;
fi
elif [ "$1" == "gc" ]; then
${pkgs.nix}/bin/nix-collect-garbage -d
exit 0;
elif [ "$1" == "clone" ]; then
${pkgs.git}/bin/git clone $FLAKE_SRC
cd nixcfg
exit 0;
fi
'';
in {
options = {
alyraffauf.scripts.hoenn.enable =
lib.mkEnableOption "Enable \hoenn system configuration script";
};
config = lib.mkIf config.alyraffauf.scripts.hoenn.enable {
# Packages that should be installed to the user profile.
environment.systemPackages = with pkgs; [hoenn];
};
}