astora: ext4 -> btrfs
This commit is contained in:
parent
c8e645a7f4
commit
5217f6d222
@ -1,8 +1,11 @@
|
|||||||
{ crane-lib, pkgs, ... }:
|
{ crane-lib, pkgs, ... }:
|
||||||
crane-lib.devShell {
|
crane-lib.devShell {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# nil
|
nil
|
||||||
jq
|
jq
|
||||||
cachix
|
cachix
|
||||||
|
nodejs
|
||||||
|
python3
|
||||||
|
marksman
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
72
nixosConfigurations/astora/README.md
Normal file
72
nixosConfigurations/astora/README.md
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# astora
|
||||||
|
|
||||||
|
## Specs
|
||||||
|
|
||||||
|
| Type | Description |
|
||||||
|
|---|---|
|
||||||
|
| Case | MSI MPG Sekira 100R |
|
||||||
|
| Motherboard | MSI MEG X570 Unify |
|
||||||
|
| CPU | AMD Ryzen 9 3900X, 12-core, 24-thread |
|
||||||
|
| Cooler | MSI MAG Coreliquid 240R V2 |
|
||||||
|
| RAM | Kingston Fury Renegade, 2x16GB |
|
||||||
|
| Power supply | DeepCool PQ1000M, 1000W |
|
||||||
|
| GPU | MSI GeForce RTX 3060 Ventus 2X, 12GB |
|
||||||
|
| NVMe M.2 | Samsung 980, 250GB |
|
||||||
|
| SSD | Samsung 860 EVO, 500GB |
|
||||||
|
| HDD | Seagate SkyHawk, 8TB |
|
||||||
|
|
||||||
|
## Disk management
|
||||||
|
|
||||||
|
* Samsung 980
|
||||||
|
|
||||||
|
```bash
|
||||||
|
parted /dev/nvme0n1 -- mktable gpt
|
||||||
|
parted /dev/nvme0n1 -- mkpart primary fat32 0% 4GB
|
||||||
|
parted /dev/nvme0n1 -- set 1 boot on
|
||||||
|
parted /dev/nvme0n1 -- set 1 no_automount on
|
||||||
|
parted /dev/nvme0n1 -- mkpart primary btrfs 4GB 100%
|
||||||
|
|
||||||
|
mkfs.fat -F 32 /dev/nvme0n1p1
|
||||||
|
fatlabel /dev/nvme0n1p1 boot
|
||||||
|
mkfs.btrfs /dev/nvme0n1p2
|
||||||
|
btrfs filesystem label /dev/nvme0n1p2 nixos
|
||||||
|
|
||||||
|
mkdir -p /mnt
|
||||||
|
mount /dev/nvme0n1p2 /mnt
|
||||||
|
btrfs subvolume create /mnt/root
|
||||||
|
btrfs subvolume create /mnt/nix
|
||||||
|
btrfs subvolume create /mnt/home
|
||||||
|
btrfs subvolume create /mnt/swap
|
||||||
|
umount /mnt
|
||||||
|
|
||||||
|
mount -o compress=zstd,subvol=root /dev/nvme0n1p2 /mnt
|
||||||
|
mkdir /mnt/{boot,nix,home,swap}
|
||||||
|
mount /dev/nvme0n1p1 /mnt/boot
|
||||||
|
mount -o compress=zstd,noatime,subvol=nix /dev/nvme0n1p2 /mnt/nix
|
||||||
|
mount -o compress=zstd,subvol=home /dev/nvme0n1p2 /mnt/home
|
||||||
|
mount -o noatime,subvol=swap /dev/nvme0n1p2 /mnt/swap
|
||||||
|
btrfs filesystem mkswapfile --size 16g --uuid clear /mnt/swap/swapfile
|
||||||
|
# umount /mnt
|
||||||
|
```
|
||||||
|
|
||||||
|
* Samsung 860
|
||||||
|
|
||||||
|
```bash
|
||||||
|
parted /dev/sda -- mktable gpt
|
||||||
|
parted /dev/sda -- mkpart primary btrfs 0% 100%
|
||||||
|
|
||||||
|
mkfs.btrfs /dev/sda1
|
||||||
|
btrfs filesystem label /dev/sda1 nixos
|
||||||
|
|
||||||
|
mkdir -p /mnt
|
||||||
|
mount /dev/sda1 /mnt
|
||||||
|
btrfs subvolume create /mnt/steam-library
|
||||||
|
btrfs subvolume create /mnt/lutris
|
||||||
|
umount /mnt
|
||||||
|
|
||||||
|
mount -o compress=zstd,subvol=root /dev/sda1 /media
|
||||||
|
mkdir /media/{steam-library,lutris}
|
||||||
|
mount -o compress=zstd,subvol=steam-library /dev/sda1 /media/steam-library
|
||||||
|
mount -o compress=zstd,subvol=lutris /dev/sda1 /media/lutris
|
||||||
|
# umount /media
|
||||||
|
```
|
@ -8,8 +8,8 @@
|
|||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
|
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
|
||||||
trusted-users = [ "nafaryus" ];
|
trusted-users = [ "l-nafaryus" ];
|
||||||
allowed-users = [ "nafaryus" ];
|
allowed-users = [ "l-nafaryus" ];
|
||||||
substituters = [ "https://nix-community.cachix.org" ];
|
substituters = [ "https://nix-community.cachix.org" ];
|
||||||
trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ];
|
trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ];
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
@ -83,10 +83,17 @@
|
|||||||
|
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
|
services.btrfs.autoScrub = {
|
||||||
|
enable = true;
|
||||||
|
interval = "monthly";
|
||||||
|
fileSystems = [ "/" ];
|
||||||
|
};
|
||||||
|
|
||||||
# Packages
|
# Packages
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
wget
|
wget
|
||||||
|
|
||||||
|
parted
|
||||||
ntfs3g
|
ntfs3g
|
||||||
sshfs
|
sshfs
|
||||||
exfat
|
exfat
|
||||||
@ -129,7 +136,7 @@
|
|||||||
Host astora
|
Host astora
|
||||||
HostName 192.168.156.101
|
HostName 192.168.156.101
|
||||||
Port 22
|
Port 22
|
||||||
User nafaryus
|
User l-nafaryus
|
||||||
|
|
||||||
Host catarina
|
Host catarina
|
||||||
HostName 192.168.156.102
|
HostName 192.168.156.102
|
||||||
|
@ -82,27 +82,50 @@
|
|||||||
# Filesystem
|
# Filesystem
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/" = {
|
"/" = {
|
||||||
device = "/dev/disk/by-uuid/77e1fc4b-31af-46e8-8b9c-907e4113b31b";
|
device = "/dev/disk/by-label/nixos";
|
||||||
fsType = "ext4";
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=root" "compress=zstd" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"/boot" = {
|
"/boot" = {
|
||||||
device = "/dev/disk/by-uuid/92C6-2268";
|
device = "/dev/disk/by-label/boot";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
"/mnt/ext" = {
|
"/nix" = {
|
||||||
device = "/dev/disk/by-uuid/4b47d83c-42da-4e78-b279-7726dfbdfde7";
|
device = "/dev/disk/by-label/nixos";
|
||||||
fsType = "ext4";
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"/mnt/ext2" = {
|
"/home" = {
|
||||||
device = "/dev/disk/by-uuid/8f8f6576-5608-4474-acb5-409c59dff696";
|
device = "/dev/disk/by-label/nixos";
|
||||||
fsType = "ext4";
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=home" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/swap" = {
|
||||||
|
device = "/dev/disk/by-label/nixos";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=swap" "noatime" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/media/steam-library" = {
|
||||||
|
device = "/dev/disk/by-label/siegward";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=steam-library" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/media/lutris" = {
|
||||||
|
device = "/dev/disk/by-label/siegward";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=lutris" "compress=zstd" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [
|
||||||
|
{ device = "/swap/swapfile"; }
|
||||||
|
];
|
||||||
|
|
||||||
services.fstrim.enable = true;
|
services.fstrim.enable = true;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ config, pkgs, lib, inputs, self, ... }:
|
{ config, pkgs, lib, inputs, self, ... }:
|
||||||
{
|
{
|
||||||
# Users
|
# Users
|
||||||
users.users.nafaryus = {
|
users.users.l-nafaryus = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "L-Nafaryus";
|
description = "L-Nafaryus";
|
||||||
extraGroups = [ "networkmanager" "wheel" "audio" ];
|
extraGroups = [ "networkmanager" "wheel" "audio" ];
|
||||||
@ -16,10 +16,10 @@
|
|||||||
|
|
||||||
bonfire.enable = true;
|
bonfire.enable = true;
|
||||||
|
|
||||||
home-manager.users.nafaryus = { pkgs, ... }: {
|
home-manager.users.l-nafaryus = { pkgs, ... }: {
|
||||||
home.stateVersion = "23.11";
|
home.stateVersion = "23.11";
|
||||||
home.username = "nafaryus";
|
home.username = "l-nafaryus";
|
||||||
home.homeDirectory = "/home/nafaryus";
|
home.homeDirectory = "/home/l-nafaryus";
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
gnupg
|
gnupg
|
||||||
git
|
git
|
||||||
@ -62,7 +62,7 @@
|
|||||||
olive-editor
|
olive-editor
|
||||||
openshot-qt
|
openshot-qt
|
||||||
musescore
|
musescore
|
||||||
# soundux # unmaintained
|
# soundux # unmaintained
|
||||||
losslesscut-bin
|
losslesscut-bin
|
||||||
yt-dlp
|
yt-dlp
|
||||||
ffmpeg
|
ffmpeg
|
||||||
@ -86,8 +86,6 @@
|
|||||||
|
|
||||||
onlyoffice-bin
|
onlyoffice-bin
|
||||||
|
|
||||||
anydesk
|
|
||||||
|
|
||||||
jdk
|
jdk
|
||||||
self.packages.${pkgs.system}.ultimmc
|
self.packages.${pkgs.system}.ultimmc
|
||||||
|
|
||||||
@ -96,15 +94,24 @@
|
|||||||
steamtinkerlaunch
|
steamtinkerlaunch
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.enable = true;
|
xdg = {
|
||||||
xdg.mime.enable = true;
|
enable = true;
|
||||||
|
mime.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
home.file.".config/gnupg/gpg-agent.conf".text = ''
|
home.file = {
|
||||||
default-cache-ttl 3600
|
".config/gnupg/gpg-agent.conf".text = ''
|
||||||
pinentry-program ${pkgs.pinentry.gtk2}/bin/pinentry
|
default-cache-ttl 3600
|
||||||
'';
|
pinentry-program ${pkgs.pinentry.gtk2}/bin/pinentry
|
||||||
home.file.".config/git/config".source = "${config.bonfire.configDir}/git/config";
|
'';
|
||||||
home.file.".config/nvim" = { source = "${config.bonfire.configDir}/nvim"; recursive = true; };
|
|
||||||
|
".config/git/config".source = "${config.bonfire.configDir}/git/config";
|
||||||
|
|
||||||
|
".config/nvim" = {
|
||||||
|
source = "${config.bonfire.configDir}/nvim";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# catarina
|
# catarina
|
||||||
|
|
||||||
## Partitions
|
## Disk management
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mkfs.fat -F 32 /dev/sda1
|
mkfs.fat -F 32 /dev/sda1
|
||||||
fatlabel /dev/sda1 boot
|
fatlabel /dev/sda1 boot
|
||||||
@ -25,7 +26,7 @@ mount -o compress=zstd,subvol=home /dev/sda2 /mnt/home
|
|||||||
mount -o compress=zstd,subvol=persist /dev/sda2 /mnt/persist
|
mount -o compress=zstd,subvol=persist /dev/sda2 /mnt/persist
|
||||||
mount -o noatime,subvol=swap /dev/sda2 /mnt/swap
|
mount -o noatime,subvol=swap /dev/sda2 /mnt/swap
|
||||||
|
|
||||||
btrfs filesystem mkswapfile --size 16g --uuid clear /swap/swapfile
|
btrfs filesystem mkswapfile --size 16g --uuid clear /mnt/swap/swapfile
|
||||||
|
|
||||||
mkdir -p /media/{storage,btrbk-backups,btrbk-snapshots}
|
mkdir -p /media/{storage,btrbk-backups,btrbk-snapshots}
|
||||||
```
|
```
|
||||||
|
@ -4,9 +4,19 @@ let cfg = config.bonfire;
|
|||||||
in {
|
in {
|
||||||
options= {
|
options= {
|
||||||
bonfire = {
|
bonfire = {
|
||||||
enable = mkOption { type = types.bool; default = false; };
|
enable = mkEnableOption "Enables the Bonfire module";
|
||||||
home = mkOption { type = types.path; default = ../.; };
|
|
||||||
configDir = mkOption { type = types.path; default = "${config.bonfire.home}/config"; };
|
home = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
default = ../.;
|
||||||
|
description = "Bonfire root flake directory";
|
||||||
|
};
|
||||||
|
|
||||||
|
configDir = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
default = "${config.bonfire.home}/config";
|
||||||
|
description = "Path to directory with static configuration files";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ in {
|
|||||||
options.services.papermc = {
|
options.services.papermc = {
|
||||||
enable = mkEnableOption "Enables the PaperMC service.";
|
enable = mkEnableOption "Enables the PaperMC service.";
|
||||||
|
|
||||||
openFirewall = mkOption rec {
|
openFirewall = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
|
Loading…
Reference in New Issue
Block a user