Code Monkey home page Code Monkey logo

my-nix_archieve's Introduction

My NixOS

个人的 NixOS配置, 日常生活中在用, 更新频率较高

安装

sudo -i
# 我个人有两个硬盘, 一个硬盘上安装了 Windows, 我选择共用 Windows的 EFI分区, 另一个盘就分一个区给 LVM, swap和persit文件交给 lvm btrfs
parted /dev/nvme0n1 mklabel gpt
parted /dev/nvme0n1 mkpart Nix 0% 100%
parted /dev/nvme0n1 print

# 加密
cryptsetup --verify-passphrase -v luksFormat /dev/nvme0n1p1
cryptsetup open /dev/nvme0n1p1 crypt

# lvm
pvcreate /dev/mapper/crypt
vgcreate lvm /dev/mapper/crypt

lvcreate -L 24G -n swap lvm
lvcreate -l 100%FREE -n root lvm

# 交换
mkswap -L Swap /dev/lvm/swap
swapon /dev/lvm/swap

##############################################################
# 有Persist
# 子卷
mkfs.btrfs -L NixOS /dev/lvm/root
mount -t btrfs /dev/lvm/root /mnt

btrfs subvolume create /mnt/nix
btrfs subvolume create /mnt/persist
btrfs subvolume list -p /mnt
umount /mnt

# 挂载
mount -t tmpfs -o defaults,mode=755,size=6G none /mnt

mkdir -p /mnt/{home/hobr,nix,persist,boot,mnt/windows,mnt/data}

mount -t tmpfs -o defaults,mode=777,size=6G none /mnt/home/hobr
mount -o compress=zstd,ssd,subvol=nix /dev/lvm/root /mnt/nix
mount -o compress=zstd,ssd,subvol=persist /dev/lvm/root /mnt/persist

mount /dev/nvme1n1p1 /mnt/boot
mount /dev/nvme1n1p3 /mnt/mnt/windows
mount /dev/nvme1n1p4 /mnt/mnt/data

##############################################################

# 无Persist
# 子卷
mkfs.btrfs -L NixOS /dev/lvm/root
mount -t btrfs /dev/lvm/root /mnt

btrfs subvolume create /mnt/root
btrfs subvolume create /mnt/home
btrfs subvolume create /mnt/nix
btrfs subvolume list -p /mnt
umount /mnt

# 挂载
mount -o compress=zstd,ssd,subvol=root /dev/lvm/root /mnt

mkdir /mnt/{home,nix,boot,mnt/windows,mnt/data}

mount -o compress=zstd,ssd,subvol=home /dev/lvm/root /mnt/home
mount -o compress=zstd,ssd,subvol=nix /dev/lvm/root /mnt/nix

mount /dev/nvme1n1p1 /mnt/boot
mount /dev/nvme1n1p3 /mnt/mnt/windows
mount /dev/nvme1n1p4 /mnt/mnt/data

##############################################################

# 部署
nixos-generate-config --root /mnt
git clone https://github.com/Hobr/my-nix.git
cd my-nix
## 修改成你的uuid
lsblk -f
nano /mnt/etc/nixos/hardware-configuration.nix
nano system/boot/filesystem.nix
nano system/boot/secure.nix
rm /mnt/etc/nixos/hardware-configuration.nix /mnt/etc/nixos/configuration.nix
## 代理
export all_proxy=http://192.168.1.102:10809
nixos-install --option substituters "https://mirrors.sjtug.sjtu.edu.cn/nix-channels/store" --show-trace --flake .#hobr-nixos
reboot

nix-shell
make switch

参考资料

my-nix_archieve's People

Contributors

hobr avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.