mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 23:23:55 -05:00
40 lines
1 KiB
Nix
40 lines
1 KiB
Nix
{
|
|
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
|
|
sudo ${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake $FLAKE#$HOST
|
|
exit 0;
|
|
elif [ "$2" == "boot" ]; then
|
|
bin/sudo ${pkgs.nixos-rebuild}/bin/nixos-rebuild boot --flake $FLAKE#$HOST
|
|
exit 0;
|
|
fi
|
|
elif [ "$1" == "gc" ]; then
|
|
sudo ${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];
|
|
};
|
|
}
|