remove howto as it is outdated
This commit is contained in:
parent
5872b9ee8c
commit
dcbde19e81
1 changed files with 0 additions and 158 deletions
158
README.md
158
README.md
|
|
@ -7,161 +7,3 @@ my customized versions of other's dotfiles
|
|||
major credits to [sioodmy](https://github.com/sioodmy/dotfiles) and [luckasRanarison](https://github.com/luckasRanarison/nvimrc).
|
||||
|
||||
could not have done this without their work :)
|
||||
|
||||
## How to Install
|
||||
|
||||
### Prerequisetes
|
||||
|
||||
Grab the latest NixOS ISO from NixOS [nixos.org](https://nixos.org). After that, make a new shell with git available:
|
||||
|
||||
```bash
|
||||
nix shell nixpkgs#git
|
||||
```
|
||||
|
||||
Now, configure your disk as seen [here](https://nixos.wiki/wiki/NixOS_Installation_Guide#Partitioning).
|
||||
|
||||
> [!NOTE]
|
||||
> Just follow the partitioning and mounting steps, the other steps to install will be listed below.
|
||||
|
||||
### 1. Cloning the repository
|
||||
|
||||
With git installed, clone the repository with
|
||||
|
||||
```bash
|
||||
git clone https://github.com/zackartz/nixos-dots.git && cd nixos-dots
|
||||
```
|
||||
|
||||
### 2. Configuring the System
|
||||
|
||||
Generate your `hardware-configuration.nix` file.
|
||||
|
||||
```bash
|
||||
sudo nixos-generate-config --root /mnt
|
||||
```
|
||||
|
||||
You will now have two files in `/mnt/etc/nixos`. We will need `hardware-configuration.nix` and part of `configuration.nix`.
|
||||
|
||||
```bash
|
||||
[nixos@live:~/nixos-dots]$ ls /mnt/etc/nixos/
|
||||
configuration.nix hardware-configuration.nix
|
||||
```
|
||||
|
||||
Go ahead and make a new folder for your pc inside of the `hosts` directory.
|
||||
|
||||
```bash
|
||||
cd hosts && mkdir vm # change "vm" to your preferred hostname -- it MUST match the hostname you plan on using for scripts to work properly.
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> You can use the "m" alias to create directories once you have booted into the installed system!
|
||||
|
||||
Now, copy the files over from `/mnt/etc/nixos/`.
|
||||
|
||||
```bash
|
||||
cd vm && cp /mnt/etc/nixos/* . # remember to change "vm" to your hostname
|
||||
mv configuration.nix config.old.nix # we will be writing our own configuration.nix
|
||||
```
|
||||
|
||||
Now, make a new file: `configuration.nix`.
|
||||
|
||||
```bash
|
||||
touch configuration.nix
|
||||
```
|
||||
|
||||
Open up `configuration.nix` in your favorite editor and paste the following:
|
||||
|
||||
```nix
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../common/default.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
networking.hostName = "vm"; # Define your hostname.
|
||||
|
||||
programs.zsh.enable = true;
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.zack = {
|
||||
isNormalUser = true;
|
||||
description = "zack";
|
||||
extraGroups = ["networkmanager" "wheel"];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
extraSpecialArgs = {inherit inputs;};
|
||||
users = {
|
||||
"zack" = {
|
||||
imports = [../../modules/home-manager/default.nix];
|
||||
_module.args.theme = import ../../core/theme.nix;
|
||||
|
||||
home.username = "zack";
|
||||
home.homeDirectory = "/home/zack";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
Change the instances of `zack` to your desired username, and customize as you see fit!
|
||||
|
||||
We will need to copy some things over from `configuration.nix`, namely boot related options. I am doing this in a VM, so I see these boot related options. Find the `boot.loader` option, and copy it over from your old file into this new one.
|
||||
|
||||
```nix
|
||||
# Use the GRUB 2 boot loader.
|
||||
boot.loader.grub.enable = true;
|
||||
# boot.loader.grub.efiSupport = true;
|
||||
# boot.loader.grub.efiInstallAsRemovable = true;
|
||||
# boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||
# Define on which hard drive you want to install Grub.
|
||||
boot.loader.grub.device = "/dev/vda"; # the device to change
|
||||
```
|
||||
|
||||
> [!WARNING]
|
||||
> DO NOT COPY THIS CODE, THIS IS JUST AN EXAMPLE OF WHAT TO LOOK FOR
|
||||
|
||||
Make sure the device targets the correct drive for your EFI to be installed on.
|
||||
|
||||
Finally, add the following to `flake.nix` (somewhere around line 100).
|
||||
|
||||
```nix
|
||||
nixosConfigurations.vm = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
modules = [
|
||||
./hosts/vm/configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
];
|
||||
};
|
||||
```
|
||||
|
||||
### 3. Installing the system
|
||||
|
||||
Now that you have the config ready to go, run the following command.
|
||||
|
||||
```bash
|
||||
rm -rf .git # remove the github repository
|
||||
sudo nixos-install --flake ~/nixos-dots#vm # again, remember to change vm to be your hostname
|
||||
```
|
||||
|
||||
### 4. Post-Install configuration.
|
||||
|
||||
Set a password for your user:
|
||||
|
||||
```bash
|
||||
sudo passwd zack # replace with your username
|
||||
```
|
||||
|
||||
Copy the flake to your home folder
|
||||
|
||||
```bash
|
||||
cp -r ~/nixos-dots /mnt/home/zack/nixos # replace "zack" with your username
|
||||
```
|
||||
|
||||
Reboot the system and you're done! Enjoy the system!
|
||||
|
||||
> [!TIP]
|
||||
> Check `./modules/shell/zsh/aliases.nix` for useful aliases, like "r" to rebuild your system!
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue