Compare commits

..

3 Commits

Author SHA1 Message Date
John Lancaster fa787740e9 nixify 2026-03-27 19:16:07 -05:00
John Lancaster 8298443438 prune 2026-03-27 19:06:43 -05:00
John Lancaster 5eb26af6e5 comments 2026-03-27 19:06:37 -05:00
2 changed files with 34 additions and 22 deletions
+2 -2
View File
@@ -105,12 +105,12 @@
desktop desktop
mysops mysops
rebuild rebuild
({config, ... }: { {
my-vscode.enable = true; my-vscode.enable = true;
mysops.hostSecretFile = "${flakeDir}/modules/hosts/john-p14s/secrets.yaml"; mysops.hostSecretFile = "${flakeDir}/modules/hosts/john-p14s/secrets.yaml";
homeManagerFlakeDir = "${flakeDir}"; homeManagerFlakeDir = "${flakeDir}";
programs.bash.enable = lib.mkForce true; programs.bash.enable = lib.mkForce true;
}) }
]; ];
sops.defaultSopsFile = ./secrets.yaml; sops.defaultSopsFile = ./secrets.yaml;
sops.age.sshKeyPaths = [ sops.age.sshKeyPaths = [
+31 -19
View File
@@ -3,7 +3,19 @@
flake.modules.homeManager.rebuild = flake.modules.homeManager.rebuild =
{ pkgs, lib, config, ... }: { pkgs, lib, config, ... }:
let let
flakeDir = config.homeManagerFlakeDir;
echoCmd = lib.getExe' pkgs.coreutils "echo";
hostnameCmd = "$(${lib.getExe pkgs.hostname} -s)"; hostnameCmd = "$(${lib.getExe pkgs.hostname} -s)";
nhms = (pkgs.writeShellScriptBin "nhms" ''
HOSTNAME=${hostnameCmd}
${echoCmd} "Switching to the $HOSTNAME home-manager profile"
${lib.getExe pkgs.home-manager} switch --impure --flake ${flakeDir}#$HOSTNAME
'');
nfs = (pkgs.writeShellScriptBin "nfs" ''
HOSTNAME=${hostnameCmd}
${echoCmd} "Switching to the $HOSTNAME nixos profile"
sudo ${lib.getExe pkgs.nixos-rebuild} switch --impure --flake ${flakeDir}#$HOSTNAME
'');
in in
{ {
options = { options = {
@@ -21,41 +33,41 @@
config = let config = let
nixBin = lib.getExe pkgs.nix; nixBin = lib.getExe pkgs.nix;
flakeDir = config.homeManagerFlakeDir;
in in
{ {
home.activation.printFlakeDir = lib.hm.dag.entryAfter ["writeBoundary"] '' home.activation.printFlakeDir = lib.hm.dag.entryAfter ["writeBoundary"] ''
run echo "Home Manager flake directory: ${flakeDir}" run ${echoCmd} "Home Manager flake directory: ${flakeDir}"
''; '';
home.packages = with pkgs; [ home.packages = with pkgs; [
home-manager home-manager
(writeShellScriptBin "flake-parts-test" ''
echo "Test ${flakeDir}" #
'') # Flake-Parts checks
#
(writeShellScriptBin "flake-parts-check" '' (writeShellScriptBin "flake-parts-check" ''
cd ${flakeDir} cd ${flakeDir}
${nixBin} run "${flakeDir}#write-flake" ${nixBin} run "${flakeDir}#write-flake"
${nixBin} flake check ${nixBin} flake check
'') '')
(writeShellScriptBin "nhms" ''
HOSTNAME=${hostnameCmd} #
echo "Switching to the $HOSTNAME home-manager profile" # Home-Manager rebuilds
${lib.getExe home-manager} switch --impure --flake ${flakeDir}#$HOSTNAME #
'') nhms
(writeShellScriptBin "nhmu" '' (writeShellScriptBin "nhmu" ''
${nixBin} flake update --flake ${flakeDir} ${nixBin} flake update --flake ${flakeDir}
nhms ${lib.getExe nhms}
'') '')
(writeShellScriptBin "nfs" ''
HOSTNAME=${hostnameCmd} #
echo "Switching to the $HOSTNAME nixos profile" # NixOS rebuilds
sudo ${lib.getExe pkgs.nixos-rebuild} switch --impure --flake ${flakeDir}#$HOSTNAME #
'') nfs
(pkgs.writeShellScriptBin "nfsu" '' (writeShellScriptBin "nfsu" ''
${nixBin} flake update --impure --flake ${flakeDir} ${nixBin} flake update --impure --flake ${flakeDir}
${lib.getExe pkgs.git} -C ${flakeDir} add ${flakeDir}/flake.lock > /dev/null 2>&1 ${lib.getExe git} -C ${flakeDir} add ${flakeDir}/flake.lock > /dev/null 2>&1
sudo ${lib.getExe pkgs.nixos-rebuild} switch --impure --flake ${flakeDir}#$HOSTNAME ${lib.getExe nfs}
'') '')
]; ];
}; };