mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 00:53:55 -05:00
added 'hoenn' command to manage system
This commit is contained in:
parent
72d2fe2269
commit
a3efc7a008
|
@ -56,6 +56,9 @@
|
|||
podman.enable = true;
|
||||
virt-manager.enable = true;
|
||||
};
|
||||
scripts = {
|
||||
hoenn.enable = true;
|
||||
};
|
||||
services = {
|
||||
syncthing.enable = true;
|
||||
tailscale.enable = true;
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./apps ./containers ./desktop ./services ./system ./user];
|
||||
imports = [./apps ./containers ./desktop ./scripts ./services ./system ./user];
|
||||
}
|
||||
|
|
8
nixosModules/scripts/default.nix
Normal file
8
nixosModules/scripts/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./hoenn];
|
||||
}
|
39
nixosModules/scripts/hoenn/default.nix
Normal file
39
nixosModules/scripts/hoenn/default.nix
Normal 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];
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue