diff --git a/flake.nix b/flake.nix index 4dc83e5..d8d361a 100644 --- a/flake.nix +++ b/flake.nix @@ -99,37 +99,37 @@ ]; }; systemPackages = with pkgs; [ - #bat - #highlight - #btop - #eza - #fzf - #git - #gnumake - #neofetch - #neovim - #ripgrep - #tldr - #unzip - #openssl - #wget - #zip - #zoxide - #jq - #lazygit - #lazysql - #less - #mlocate - #tree - #tmux - #tmuxinator - #wget - #zenity - #gum - #yazi - #rsync - #p7zip - #impala + bat + #highlight + btop + eza + fzf + git + #gnumake + #neofetch + neovim + ripgrep + tldr + unzip + openssl + wget + zip + zoxide + jq + lazygit + #sqlit + less + mlocate + tree + tmux + tmuxinator + wget + zenity + gum + yazi + rsync + p7zip + impala ]; }; networking = { @@ -152,39 +152,6 @@ }; system.stateVersion = "25.11"; - environment.systemPackages = with pkgs; [ - bat - #highlight - btop - eza - fzf - git - #gnumake - #neofetch - neovim - ripgrep - tldr - unzip - openssl - wget - zip - zoxide - jq - lazygit - #sqlit - less - mlocate - tree - tmux - tmuxinator - wget - zenity - gum - yazi - rsync - p7zip - impala - ]; home-manager = { users.chris = { pkgs, lib, ... }: { home = { @@ -203,45 +170,41 @@ activation.setupDotfiles = lib.hm.dag.entryAfter ["writeBoundary"] '' if [[ -v DRY_RUN ]]; then echo "Dry run: Would bootstrap dotfiles from labs.scarif.space" + exit fi DOTFILES_DIR="$HOME/.config/dotfiles" if [ -d "$DOTFILES_DIR/.git" ]; then - # Restore tracked files from the local metadata - ${pkgs.git}/bin/git --git-dir="$DOTFILES_DIR/.git" --work-tree="$HOME" checkout -f - ${pkgs.git}/bin/git submodule update --init --recursive + SOURCE="$DOTFILES_DIR/.git" else - echo "Dotfiles not found. Running bootstrap script..." - - # Setup a temporary workspace - TEMP_DIR=$(mktemp -d) - - # Clone the repo (using the public URL for the initial pull) - ${pkgs.git}/bin/git clone -b main https://labs.scarif.space/chris/dotfiles.git "$TEMP_DIR" - - # Copy files to HOME - ${pkgs.coreutils}/bin/cp -rfT "$TEMP_DIR" "$HOME" + SOURCE="https://labs.scarif.space/chris/dotfiles.git" # Initialize the separate git directory - ${pkgs.coreutils}/bin/mkdir -p "$DOTFILES_DIR" - cd "$HOME" - ${pkgs.git}/bin/git init --separate-git-dir "$DOTFILES_DIR/.git" "$HOME" + if [ ! -d "$DOTFILES_DIR" ]; then + ${pkgs.coreutils}/bin/mkdir -p "$DOTFILES_DIR" + fi + fi - # Update submodules - ${pkgs.git}/bin/git submodule set-url ".config/nvim" https://labs.scarif.space/chris/nvim.git - ${pkgs.git}/bin/git submodule update --init + TEMP_DIR=$(mktemp -d) - # Set URLs back to SSH - ${pkgs.git}/bin/git submodule set-url ".config/nvim" git@labs.scarif.space:chris/nvim.git - ${pkgs.git}/bin/git remote set-url origin git@labs.scarif.space:chris/dotfiles.git + ${pkgs.git}/bin/git clone -b main "$SOURCE" "$TEMP_DIR" - # Clean up - ${pkgs.coreutils}/bin/rm -rf "$TEMP_DIR" - ${pkgs.coreutils}/bin/rm -f "$HOME/.git" + ${pkgs.coreutils}/bin/cp -rfT "$TEMP_DIR" "$HOME" + cd "$HOME" + ${pkgs.git}/bin/git init --separate-git-dir "$DOTFILES_DIR/.git" "$HOME" - echo "Dotfiles bootstrapped successfully." - fi + ${pkgs.git}/bin/git submodule set-url ".config/nvim" https://labs.scarif.space/chris/nvim.git + ${pkgs.git}/bin/git submodule update --init + + ${pkgs.git}/bin/git submodule set-url ".config/nvim" git@labs.scarif.space:chris/nvim.git + ${pkgs.git}/bin/git remote set-url origin git@labs.scarif.space:chris/dotfiles.git + + # Clean up + ${pkgs.coreutils}/bin/rm -rf "$TEMP_DIR" + ${pkgs.coreutils}/bin/rm -f "$HOME/.git" + + echo "Dotfiles bootstrapped successfully." ''; packages = with pkgs; [ # jetbrains.rider diff --git a/hardware-configuration.nix b/hardware-configuration.nix index 0f3fa41..a2b99a2 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -19,7 +19,7 @@ boot.initrd.postDeviceCommands = lib.mkAfter '' mkdir /btrfs_tmp - mount /dev/disk/by-label/disk-stationette-root /btrfs_tmp + mount /dev/disk/by-partlabel/disk-stationette-root /btrfs_tmp if [[ -e /btrfs_tmp/root ]]; then mkdir -p /btrfs_tmp/old_roots timestamp=$(dat +%Y-%m-%d_%H-%M-%S)