From d89763c0aef691419867291b01317364126fb6e3 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sun, 29 Sep 2024 21:10:53 -0700 Subject: [PATCH] refactor modules in default --- provision/hosts/default/default.nix | 20 ++++++++++---- provision/hosts/default/home-default.nix | 20 -------------- provision/hosts/default/physical/backup.nix | 22 ---------------- .../hosts/default/physical/configuration.nix | 12 +++++---- .../default/physical/home-configuration.nix | 9 ------- provision/hosts/kestrel/configuration.nix | 1 + provision/hosts/torus/configuration.nix | 1 + provision/modules/programs/default.nix | 2 +- .../default => modules/programs}/git.nix | 0 provision/modules/system/backup.nix | 26 +++++++++++++++++++ provision/modules/system/default.nix | 2 +- 11 files changed, 52 insertions(+), 63 deletions(-) delete mode 100644 provision/hosts/default/home-default.nix delete mode 100644 provision/hosts/default/physical/backup.nix delete mode 100644 provision/hosts/default/physical/home-configuration.nix rename provision/{hosts/default => modules/programs}/git.nix (100%) create mode 100644 provision/modules/system/backup.nix diff --git a/provision/hosts/default/default.nix b/provision/hosts/default/default.nix index ab39d6aa..8f870a13 100644 --- a/provision/hosts/default/default.nix +++ b/provision/hosts/default/default.nix @@ -1,10 +1,5 @@ { config, pkgs, user, lib, inputs, ... }: { - imports = [ - ./git.nix - ./home-default.nix - ]; - nix = { package = pkgs.nixFlakes; extraOptions = "experimental-features = nix-command flakes"; @@ -30,4 +25,19 @@ # Did you read the comment? system.stateVersion = "23.11"; + + home-manager.users.${user} = { + home.username = "${user}"; + home.homeDirectory = "/home/${user}"; + programs.home-manager.enable = true; + + programs.direnv = { + enable = true; + enableBashIntegration = true; + nix-direnv.enable = true; + }; + + # Did you read the comment? + home.stateVersion = "23.11"; + }; } diff --git a/provision/hosts/default/home-default.nix b/provision/hosts/default/home-default.nix deleted file mode 100644 index 2d605666..00000000 --- a/provision/hosts/default/home-default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ config, pkgs, user, ... }: -{ - home-manager.users.${user} = { - home.username = "${user}"; - home.homeDirectory = "/home/${user}"; - programs.home-manager.enable = true; - - programs.direnv = { - enable = true; - enableBashIntegration = true; - nix-direnv.enable = true; - }; - - home.packages = with pkgs; [ - ]; - - # Did you read the comment? - home.stateVersion = "23.11"; - }; -} diff --git a/provision/hosts/default/physical/backup.nix b/provision/hosts/default/physical/backup.nix deleted file mode 100644 index 48a71c1c..00000000 --- a/provision/hosts/default/physical/backup.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ config, pkgs, user, lib, ... }: -{ - services.borgmatic.enable = true; - environment.systemPackages = with pkgs; [ - borgbackup # Deduplicating backup program - tree - (pkgs.writeScriptBin "stop-docker-containers" '' - #!/bin/sh - [ -e /tmp/docker_images ] && rm /tmp/docker_images - images=$(docker ps -a -q) - echo "$images" > /tmp/docker_images - docker stop $images - '') - (pkgs.writeScriptBin "restore-docker-containers" '' - #!/bin/sh - [ ! -e /tmp/docker_images ] && exit 0 - docker start $(cat /tmp/docker_images) - rm /tmp/docker_images - '') - ]; -} - diff --git a/provision/hosts/default/physical/configuration.nix b/provision/hosts/default/physical/configuration.nix index c5a4344b..7bfeae00 100644 --- a/provision/hosts/default/physical/configuration.nix +++ b/provision/hosts/default/physical/configuration.nix @@ -1,10 +1,5 @@ { config, pkgs, user, lib, inputs, ... }: { - imports = [ - ./home-configuration.nix - ./backup.nix - ]; - nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" "openssl-1.1.1w" ]; # Use the systemd-boot EFI boot loader. @@ -17,4 +12,11 @@ extraGroups = [ "dialout" "wheel" "docker" "libvirtd" ]; shell = pkgs.bash; }; + + home-manager.users.${user} = { + programs.vscode = { + enable = true; + package = pkgs.vscode.fhs; + }; + }; } diff --git a/provision/hosts/default/physical/home-configuration.nix b/provision/hosts/default/physical/home-configuration.nix deleted file mode 100644 index 881431d1..00000000 --- a/provision/hosts/default/physical/home-configuration.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ config, pkgs, user, ... }: -{ - home-manager.users.${user} = { - programs.vscode = { - enable = true; - package = pkgs.vscode.fhs; - }; - }; -} diff --git a/provision/hosts/kestrel/configuration.nix b/provision/hosts/kestrel/configuration.nix index d63edb62..65cd0f22 100644 --- a/provision/hosts/kestrel/configuration.nix +++ b/provision/hosts/kestrel/configuration.nix @@ -65,6 +65,7 @@ virt-manager.enable = true; }; system = { + backup.enable = true; nipr.enable = true; ssh.enable = true; terminal.enable = true; diff --git a/provision/hosts/torus/configuration.nix b/provision/hosts/torus/configuration.nix index 08596ddf..f6b3906a 100644 --- a/provision/hosts/torus/configuration.nix +++ b/provision/hosts/torus/configuration.nix @@ -106,6 +106,7 @@ jellyfin.enable = true; }; system = { + backup.enable = true; terminal.enable = true; ssh.enable = true; }; diff --git a/provision/modules/programs/default.nix b/provision/modules/programs/default.nix index 3c846f41..f3a7c463 100644 --- a/provision/modules/programs/default.nix +++ b/provision/modules/programs/default.nix @@ -1,4 +1,4 @@ { ... }: { - imports = [ ./chezmoi.nix ./kitty.nix ]; + imports = [ ./git.nix ./chezmoi.nix ./kitty.nix ]; } diff --git a/provision/hosts/default/git.nix b/provision/modules/programs/git.nix similarity index 100% rename from provision/hosts/default/git.nix rename to provision/modules/programs/git.nix diff --git a/provision/modules/system/backup.nix b/provision/modules/system/backup.nix new file mode 100644 index 00000000..0a813ca6 --- /dev/null +++ b/provision/modules/system/backup.nix @@ -0,0 +1,26 @@ +{ config, pkgs, user, lib, ... }: + +let cfg = config.modules.system.backup; +in { + options.modules.system.backup.enable = lib.mkEnableOption "backup"; + config = lib.mkIf cfg.enable { + services.borgmatic.enable = true; + environment.systemPackages = with pkgs; [ + borgbackup # Deduplicating backup program + tree + (pkgs.writeScriptBin "stop-docker-containers" '' + #!/bin/sh + [ -e /tmp/docker_images ] && rm /tmp/docker_images + images=$(docker ps -a -q) + echo "$images" > /tmp/docker_images + docker stop $images + '') + (pkgs.writeScriptBin "restore-docker-containers" '' + #!/bin/sh + [ ! -e /tmp/docker_images ] && exit 0 + docker start $(cat /tmp/docker_images) + rm /tmp/docker_images + '') + ]; + }; +} diff --git a/provision/modules/system/default.nix b/provision/modules/system/default.nix index 4172fc51..8f6e9248 100644 --- a/provision/modules/system/default.nix +++ b/provision/modules/system/default.nix @@ -1,4 +1,4 @@ { ... }: { - imports = [ ./nipr.nix ./ssh.nix ./terminal.nix ./wireguard-client.nix ]; + imports = [ ./backup.nix ./nipr.nix ./ssh.nix ./terminal.nix ./wireguard-client.nix ]; }