mirror of
https://github.com/blahai/nyx.git
synced 2025-01-18 19:10:21 +00:00
All this just to get nyx to even build
This commit is contained in:
parent
ed1aafe645
commit
fdfd4e0434
24 changed files with 2272 additions and 0 deletions
1675
flake.lock
Normal file
1675
flake.lock
Normal file
File diff suppressed because it is too large
Load diff
67
flake.nix
Normal file
67
flake.nix
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
{
|
||||||
|
description = "Elissa's funny little flake";
|
||||||
|
|
||||||
|
outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} {imports = [./modules/flake];};
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||||
|
nixpkgs-smol.url = "github:nixos/nixpkgs?ref=nixos-unstable-small";
|
||||||
|
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
|
nur.url = "github:nix-community/NUR";
|
||||||
|
wezterm.url = "github:wez/wezterm?dir=nix";
|
||||||
|
catppuccin.url = "github:catppuccin/nix";
|
||||||
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
|
|
||||||
|
haivim = {
|
||||||
|
url = "github:blahai/haivim";
|
||||||
|
inputs = {nixpkgs.follows = "nixpkgs";};
|
||||||
|
};
|
||||||
|
|
||||||
|
ags = {
|
||||||
|
url = "github:Aylur/ags/v1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
spicetify-nix = {
|
||||||
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
disko = {
|
||||||
|
url = "github:nix-community/disko/master";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
agenix = {
|
||||||
|
url = "github:ryantm/agenix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
sops-nix = {
|
||||||
|
url = "github:Mic92/sops-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
systems = {
|
||||||
|
url = "github:nix-systems/default";
|
||||||
|
};
|
||||||
|
|
||||||
|
flake-parts = {
|
||||||
|
url = "github:hercules-ci/flake-parts";
|
||||||
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
flake-utils = {
|
||||||
|
url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
easy-hosts = {
|
||||||
|
url = "github:isabelroses/easy-hosts";
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
1
home/default.nix
Normal file
1
home/default.nix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{}
|
5
modules/base/default.nix
Normal file
5
modules/base/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./nix
|
||||||
|
];
|
||||||
|
}
|
5
modules/base/nix/default.nix
Normal file
5
modules/base/nix/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./system.nix
|
||||||
|
];
|
||||||
|
}
|
11
modules/base/nix/system.nix
Normal file
11
modules/base/nix/system.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkDefault;
|
||||||
|
in {
|
||||||
|
system = {
|
||||||
|
stateVersion = mkDefault "25.05";
|
||||||
|
};
|
||||||
|
}
|
17
modules/flake/args.nix
Normal file
17
modules/flake/args.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{inputs, ...}: {
|
||||||
|
systems = import inputs.systems;
|
||||||
|
|
||||||
|
perSystem = {system, ...}: {
|
||||||
|
# this is what controls how packages in the flake are built, but this is not passed to the
|
||||||
|
# builders in lib which is important to note, since we have to do something different for
|
||||||
|
# the builders to work correctly
|
||||||
|
_module.args.pkgs = import inputs.nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
allowUnsupportedSystem = true;
|
||||||
|
};
|
||||||
|
# overlays = [ inputs.nix-topology.overlays.default ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
7
modules/flake/default.nix
Normal file
7
modules/flake/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../../systems
|
||||||
|
|
||||||
|
./args.nix
|
||||||
|
];
|
||||||
|
}
|
7
modules/nixos/boot/default.nix
Normal file
7
modules/nixos/boot/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./loader
|
||||||
|
./generic.nix
|
||||||
|
./plymouth.nix
|
||||||
|
];
|
||||||
|
}
|
160
modules/nixos/boot/generic.nix
Normal file
160
modules/nixos/boot/generic.nix
Normal file
|
@ -0,0 +1,160 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkIf mkForce mkMerge mkDefault mkOverride;
|
||||||
|
inherit (lib.lists) optionals;
|
||||||
|
inherit (lib.options) mkOption mkEnableOption literalExpression;
|
||||||
|
inherit (lib.types) str raw listOf package;
|
||||||
|
|
||||||
|
cfg = config.olympus.system.boot;
|
||||||
|
in {
|
||||||
|
options.olympus.system.boot = {
|
||||||
|
enableKernelTweaks = mkEnableOption "security and performance related kernel parameters";
|
||||||
|
recommendedLoaderConfig = mkEnableOption "tweaks for common bootloader configs per my liking";
|
||||||
|
loadRecommendedModules = mkEnableOption "kernel modules that accommodate for most use cases";
|
||||||
|
|
||||||
|
kernel = mkOption {
|
||||||
|
type = raw;
|
||||||
|
default = pkgs.linuxPackages_6_12;
|
||||||
|
description = "The kernel to use for the system";
|
||||||
|
};
|
||||||
|
|
||||||
|
initrd = {
|
||||||
|
enableTweaks = mkEnableOption "quality of life tweaks for the initrd stage";
|
||||||
|
optimizeCompressor = mkEnableOption ''
|
||||||
|
initrd compression algorithm optimizations for size.
|
||||||
|
Enabling this option will force initrd to use zstd (default) with
|
||||||
|
level 19 and -T0 (STDIN). This will reduce the initrd size greatly
|
||||||
|
at the cost of compression speed.
|
||||||
|
Not recommended for low-end hardware.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
silentBoot =
|
||||||
|
mkEnableOption ''
|
||||||
|
almost entirely silent boot process through `quiet` kernel parameter
|
||||||
|
''
|
||||||
|
// {
|
||||||
|
default = cfg.plymouth.enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
boot = {
|
||||||
|
consoleLogLevel = 3;
|
||||||
|
|
||||||
|
kernelPackages = mkDefault cfg.kernel;
|
||||||
|
|
||||||
|
loader = {
|
||||||
|
# if set to 0, space needs to be held to get the boot menu to appear
|
||||||
|
timeout = mkForce 2;
|
||||||
|
|
||||||
|
# copy boot files to /boot so that /nix/store is not required to boot
|
||||||
|
# it takes up more space but it makes my messups a bit safer
|
||||||
|
generationsDir.copyKernels = true;
|
||||||
|
|
||||||
|
# we need to allow installation to modify EFI variables
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# increase the map count, this is important for applications that require a lot of memory mappings
|
||||||
|
# such as games and emulators
|
||||||
|
kernel.sysctl."vm.max_map_count" = 2147483642;
|
||||||
|
|
||||||
|
initrd = mkMerge [
|
||||||
|
(mkIf cfg.initrd.enableTweaks {
|
||||||
|
# Verbosity of the initrd
|
||||||
|
# disabling verbosity removes only the mandatory messages generated by the NixOS
|
||||||
|
verbose = false;
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
# enable systemd in initrd (experimental)
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# strip copied binaries and libraries from inframs
|
||||||
|
# saves some nice space
|
||||||
|
strip = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
kernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"btrfs"
|
||||||
|
"sd_mod"
|
||||||
|
"dm_mod"
|
||||||
|
];
|
||||||
|
|
||||||
|
availableKernelModules = [
|
||||||
|
"vmd"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
"dm_mod"
|
||||||
|
"uas"
|
||||||
|
"usb_storage"
|
||||||
|
"ata_piix"
|
||||||
|
"virtio_pci"
|
||||||
|
"virtio_scsi"
|
||||||
|
"ehci_pci"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
(mkIf cfg.initrd.optimizeCompressor {
|
||||||
|
compressor = "zstd";
|
||||||
|
compressorArgs = [
|
||||||
|
"-19"
|
||||||
|
"-T0"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
# https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
|
||||||
|
kernelParams =
|
||||||
|
optionals cfg.enableKernelTweaks [
|
||||||
|
# https://en.wikipedia.org/wiki/Kernel_page-table_isolation
|
||||||
|
# auto means kernel will automatically decide the pti state
|
||||||
|
"pti=auto" # on || off
|
||||||
|
|
||||||
|
# enable IOMMU for devices used in passthrough and provide better host performance
|
||||||
|
"iommu=pt"
|
||||||
|
|
||||||
|
# disable usb autosuspend
|
||||||
|
"usbcore.autosuspend=-1"
|
||||||
|
|
||||||
|
# allow systemd to set and save the backlight state
|
||||||
|
"acpi_backlight=native"
|
||||||
|
|
||||||
|
# prevent the kernel from blanking plymouth out of the fb
|
||||||
|
"fbcon=nodefer"
|
||||||
|
|
||||||
|
# disable boot logo
|
||||||
|
"logo.nologo"
|
||||||
|
|
||||||
|
# disable the cursor in vt to get a black screen during intermissions
|
||||||
|
"vt.global_cursor_default=0"
|
||||||
|
]
|
||||||
|
++ optionals cfg.silentBoot [
|
||||||
|
# tell the kernel to not be verbose, the voices are too loud
|
||||||
|
"quiet"
|
||||||
|
|
||||||
|
# kernel log message level
|
||||||
|
"loglevel=3" # 1: system is unusable | 3: error condition | 7: very verbose
|
||||||
|
|
||||||
|
# udev log message level
|
||||||
|
"udev.log_level=3"
|
||||||
|
|
||||||
|
# lower the udev log level to show only errors or worse
|
||||||
|
"rd.udev.log_level=3"
|
||||||
|
|
||||||
|
# disable systemd status messages
|
||||||
|
# rd prefix means systemd-udev will be used instead of initrd
|
||||||
|
"systemd.show_status=auto"
|
||||||
|
"rd.systemd.show_status=auto"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
19
modules/nixos/boot/loader/default.nix
Normal file
19
modules/nixos/boot/loader/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{lib, ...}: let
|
||||||
|
inherit (lib.options) mkOption;
|
||||||
|
inherit (lib.types) enum;
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./systemd-boot.nix
|
||||||
|
./grub.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
options.olympus.system.boot.loader = mkOption {
|
||||||
|
type = enum [
|
||||||
|
"none"
|
||||||
|
"grub"
|
||||||
|
"systemd-boot"
|
||||||
|
];
|
||||||
|
default = "none";
|
||||||
|
description = "The bootloader";
|
||||||
|
};
|
||||||
|
}
|
1
modules/nixos/boot/loader/grub.nix
Normal file
1
modules/nixos/boot/loader/grub.nix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{}
|
21
modules/nixos/boot/loader/systemd-boot.nix
Normal file
21
modules/nixos/boot/loader/systemd-boot.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkIf mkDefault;
|
||||||
|
inherit (lib.attrsets) optionalAttrs;
|
||||||
|
inherit (lib.options) mkEnableOption mkPackageOption;
|
||||||
|
|
||||||
|
cfg = config.olympus.system.boot;
|
||||||
|
in {
|
||||||
|
config = mkIf (cfg.loader == "systemd-boot") {
|
||||||
|
boot.loader.systemd-boot = {
|
||||||
|
enable = mkDefault true;
|
||||||
|
configurationLimit = 5;
|
||||||
|
consoleMode = "max";
|
||||||
|
editor = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
24
modules/nixos/boot/plymouth.nix
Normal file
24
modules/nixos/boot/plymouth.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.meta) getExe';
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
inherit (lib.options) mkEnableOption;
|
||||||
|
|
||||||
|
cfg = config.olympus.system.boot.plymouth;
|
||||||
|
in {
|
||||||
|
options.olympus.system.boot.plymouth.enable = mkEnableOption "plymouth boot splash";
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
boot.plymouth.enable = true;
|
||||||
|
|
||||||
|
# make plymouth work with sleep
|
||||||
|
powerManagement = {
|
||||||
|
powerDownCommands = "${getExe' pkgs.plymouth "plymouth"} --show-splash";
|
||||||
|
resumeCommands = "${getExe' pkgs.plymouth "plymouth"} --quit";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
7
modules/nixos/default.nix
Normal file
7
modules/nixos/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./boot
|
||||||
|
./environment
|
||||||
|
./networking
|
||||||
|
];
|
||||||
|
}
|
6
modules/nixos/environment/default.nix
Normal file
6
modules/nixos/environment/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./documentation.nix
|
||||||
|
./zram.nix
|
||||||
|
];
|
||||||
|
}
|
18
modules/nixos/environment/documentation.nix
Normal file
18
modules/nixos/environment/documentation.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{lib, ...}: let
|
||||||
|
inherit (lib.modules) mkForce;
|
||||||
|
inherit (lib.attrsets) mapAttrs;
|
||||||
|
in {
|
||||||
|
documentation = mapAttrs (_: mkForce) {
|
||||||
|
enable = false;
|
||||||
|
dev.enable = false;
|
||||||
|
doc.enable = false;
|
||||||
|
info.enable = false;
|
||||||
|
nixos.enable = false;
|
||||||
|
man = {
|
||||||
|
enable = false;
|
||||||
|
generateCaches = false;
|
||||||
|
man-db.enable = false;
|
||||||
|
mandoc.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
24
modules/nixos/environment/zram.nix
Normal file
24
modules/nixos/environment/zram.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
in {
|
||||||
|
# compress half of the ram to use as swap
|
||||||
|
# basically, get more memory per memory
|
||||||
|
zramSwap = {
|
||||||
|
enable = true;
|
||||||
|
algorithm = "zstd";
|
||||||
|
memoryPercent = 90; # defaults to 50
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.kernel.sysctl = mkIf config.zramSwap.enable {
|
||||||
|
# zram is relatively cheap, prefer swap
|
||||||
|
"vm.swappiness" = 180;
|
||||||
|
"vm.watermark_boost_factor" = 0;
|
||||||
|
"vm.watermark_scale_factor" = 125;
|
||||||
|
# zram is in memory, no need to readahead
|
||||||
|
"vm.page-cluster" = 0;
|
||||||
|
};
|
||||||
|
}
|
19
modules/nixos/networking/default.nix
Normal file
19
modules/nixos/networking/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkDefault mkForce;
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
];
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostId = builtins.substring 0 8 (builtins.hashString "md5" config.networking.hostName);
|
||||||
|
|
||||||
|
useDHCP = mkForce false;
|
||||||
|
useNetworkd = mkForce true;
|
||||||
|
|
||||||
|
usePredictableInterfaceNames = mkDefault true;
|
||||||
|
};
|
||||||
|
}
|
1
modules/profiles/desktop/default.nix
Normal file
1
modules/profiles/desktop/default.nix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{}
|
1
modules/profiles/graphical/default.nix
Normal file
1
modules/profiles/graphical/default.nix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{}
|
81
systems/default.nix
Normal file
81
systems/default.nix
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
# inherit (self) lib;
|
||||||
|
inherit (lib.lists) optionals;
|
||||||
|
|
||||||
|
profilesPath = ../modules/profiles;
|
||||||
|
# Hardware profiles
|
||||||
|
desktop = profilesPath + /desktop;
|
||||||
|
server = profilesPath + /server;
|
||||||
|
laptop = profilesPath + /laptop;
|
||||||
|
|
||||||
|
# Meta profiles
|
||||||
|
graphical = profilesPath + /graphical;
|
||||||
|
headless = profilesPath + /headless;
|
||||||
|
in {
|
||||||
|
imports = [inputs.easy-hosts.flakeModule];
|
||||||
|
|
||||||
|
config.easyHosts = {
|
||||||
|
shared.specialArgs = {inherit lib;};
|
||||||
|
|
||||||
|
perClass = class: {
|
||||||
|
modules = [
|
||||||
|
# import the class module, this contains the common configurations between all systems of the same class
|
||||||
|
"${self}/modules/${class}/default.nix"
|
||||||
|
|
||||||
|
(optionals (class != "iso") [
|
||||||
|
# import the home module, which is users for configuring users via home-manager
|
||||||
|
"${self}/home/default.nix"
|
||||||
|
|
||||||
|
# import the base module, this contains the common configurations between all systems
|
||||||
|
"${self}/modules/base/default.nix"
|
||||||
|
])
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# the defaults consists of the following:
|
||||||
|
# arch = "x86_64";
|
||||||
|
# class = "nixos";
|
||||||
|
# deployable = false;
|
||||||
|
# modules = [ ];
|
||||||
|
# specialArgs = { };
|
||||||
|
hosts = {
|
||||||
|
# Elissa's desktop
|
||||||
|
nyx.modules = [
|
||||||
|
desktop
|
||||||
|
graphical
|
||||||
|
];
|
||||||
|
|
||||||
|
# Elissa's laptop
|
||||||
|
helios.modules = [
|
||||||
|
laptop
|
||||||
|
graphical
|
||||||
|
];
|
||||||
|
|
||||||
|
# Other desktop (will set up later)
|
||||||
|
aphrodite.modules = [
|
||||||
|
desktop
|
||||||
|
graphical
|
||||||
|
];
|
||||||
|
|
||||||
|
# Server
|
||||||
|
theia = {
|
||||||
|
deployable = true;
|
||||||
|
modules = [
|
||||||
|
server
|
||||||
|
headless
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# ISO
|
||||||
|
epimetheus = {
|
||||||
|
class = "iso";
|
||||||
|
modules = [headless];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
17
systems/nyx/default.nix
Normal file
17
systems/nyx/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
olympus = {
|
||||||
|
system = {
|
||||||
|
boot = {
|
||||||
|
loader = "systemd-boot";
|
||||||
|
loadRecommendedModules = true;
|
||||||
|
enableKernelTweaks = true;
|
||||||
|
initrd.enableTweaks = true;
|
||||||
|
plymouth.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
78
systems/nyx/hardware.nix
Normal file
78
systems/nyx/hardware.nix
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
{
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "zpool/root";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = ["zfsutil"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/nix" = {
|
||||||
|
device = "zpool/nix";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = ["zfsutil"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/var" = {
|
||||||
|
device = "zpool/var";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = ["zfsutil"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/home" = {
|
||||||
|
device = "zpool/home";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = ["zfsutil"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/var/lib/virt/images" = {
|
||||||
|
device = "zepool/virt/images";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = ["zfsutil"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/var/lib/virt/disks" = {
|
||||||
|
device = "zepool/virt/disks";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = ["zfsutil"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/zootfs/Storage" = {
|
||||||
|
device = "zootfs/Storage";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = ["zfsutil"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/zootfs/Media" = {
|
||||||
|
device = "zootfs/Media";
|
||||||
|
fsType = "zfs";
|
||||||
|
options = ["zfsutil"];
|
||||||
|
};
|
||||||
|
|
||||||
|
# https://github.com/atuinsh/atuin/issues/952#issuecomment-1902164562
|
||||||
|
"/home/pingu/.local/share/atuin" = {
|
||||||
|
device = "/dev/zvol/zpool/nixos/atuin";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = ["async" "auto" "nofail"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-label/BOOT";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/ssd" = {
|
||||||
|
device = "/dev/disk/by-uuid/e4c31e1c-6667-4582-8d6a-d142d6118ce2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = ["async" "auto" "noatime" "rw"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/ext" = {
|
||||||
|
device = "/dev/disk/by-uuid/43280a82-cf9a-452e-9bdc-a8cc66ccd7c8";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = ["async" "auto" "nofail" "noatime"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [{device = "/dev/disk/by-uuid/04281bd7-784a-4287-b4f2-ce406d2ab6ac";}];
|
||||||
|
}
|
Loading…
Reference in a new issue