Configuration files for NixOS + Home Manager.
Find a file
2024-07-09 09:49:10 +08:00
assets add scrot 2024-01-18 22:58:01 +08:00
home-manager/sajenim Change SSH port to default as we no longer expose the service 2024-07-09 09:49:10 +08:00
modules remove unused modules 2024-02-13 22:53:32 +08:00
nixos Change SSH port to default as we no longer expose the service 2024-07-09 09:49:10 +08:00
overlays nix flake template 2023-04-03 22:41:22 +08:00
pkgs add multimedia keybinds 2024-04-01 11:01:48 +08:00
.gitignore remove bitwarden container 2023-06-09 23:16:42 +08:00
flake.lock Bump inputs 2024-07-08 11:33:00 +08:00
flake.nix Add crowdsec to flake inputs 2024-06-17 18:43:14 +08:00
LICENSE Create LICENSE 2023-07-07 23:52:30 +00:00
nixpkgs.nix nix flake template 2023-04-03 22:41:22 +08:00
README.md update readme 2024-06-01 20:22:05 +08:00
shell.nix nix flake template 2023-04-03 22:41:22 +08:00

NixOS & Home-Manager Configuration

nixos-logo

My NixOS and Home-Manager config files. Based upon Misterio77's starter configs.

This repo is often neglected and doesn't necesarrily follow best practices.
I recommend only using this repo for inspiration and instead use this boilerplate

screenshot

Installation

# Prepare disks, create an EFI System partition and Linux Filesystem partition
fdisk /dev/nvme0n1

# Create our filesystems
mkfs.fat -F32 -n ESP /dev/nvme0n1p1
mkfs.btrfs -L ${hostname} /dev/nvme0n1p2
    
# Create our subvolumes
mount /dev/nvme0n1p2 /mnt/btrfs
btrfs subvolume create /mnt/btrfs/{root,nix,persist,swap}
umount /mnt/btrfs

# Prepare for installation
mount -o compress=zstd,subvol={root,nix,persist,swap} /dev/nvme0n1p2 /mnt/{nix,persist,swap}
mount /dev/nvme0n1p1 /mnt/boot

# Clone the configuration files and enter repo
git clone https://github.com/sajenim/dotfiles.nix.git && cd dotfiles.nix

# Install our system configuration
nixos-install --flake .#hostname

FAQ

  • What is nix?
    Nix is a tool that takes a unique approach to package management and system configuration.
  • Nix benefits
    Nix is reproducible, declarative and reliable.
  • Why flakes?
    Flakes allow you to specify your code's dependencies (e.g. remote Git repositories) in a declarative way, simply by listing them inside a flake.nix file.

Credit

Boilerplate

Other Configs