DISKO
This commit is contained in:
340
README.md
340
README.md
@@ -1,121 +1,293 @@
|
|||||||

|
# Kris's Nix
|
||||||

|
|
||||||
|
|
||||||
# Keybind reference
|
You should end up with:
|
||||||
|
|
||||||
| Keybind | What it does |
|
- NixOS using this repo from `/etc/nixos`
|
||||||
| --------- | -------------------- |
|
- the automatically-created user `kris`
|
||||||
| `SUPER+Q` | Terminal |
|
- the default desktop config from this flake
|
||||||
| `SUPER+C` | Close current window |
|
|
||||||
| `SUPER+E` | File Manager |
|
|
||||||
| `SUPER+V` | Toggle Floating |
|
|
||||||
| `SUPER+Q` | Terminal |
|
|
||||||
| `SUPER+T` | App Launcher |
|
|
||||||
| `SUPER+P` | Psuedo |
|
|
||||||
| `SUPER+J` | Toggle Split |
|
|
||||||
| `SUPER+F` | Fullscreen |
|
|
||||||
|
|
||||||
| Keybind | What it does |
|
## What This Repo Does
|
||||||
| ------------------ | ------------------ |
|
|
||||||
| `SUPER+RightArrow` | Move Focus (right) |
|
|
||||||
| `SUPER+LeftArrow` | Move Focus (left) |
|
|
||||||
| `SUPER+DownArrow` | Move Focus (down) |
|
|
||||||
| `SUPER+UpArrow` | Move Focus (up) |
|
|
||||||
|
|
||||||
| Keybind | What it does |
|
This repo configures:
|
||||||
| ------------------------ | ------------------ |
|
|
||||||
| `SUPER+SHIFT+RightArrow` | Window width +100 |
|
|
||||||
| `SUPER+SHIFT+LeftArrow` | Window width -100 |
|
|
||||||
| `SUPER+SHIFT+DownArrow` | Window height +100 |
|
|
||||||
| `SUPER+SHIFT+UpArrow` | Window height -100 |
|
|
||||||
|
|
||||||
| Keybind | What it does |
|
- the default desktop machine
|
||||||
| ----------------------- | ----------------------- |
|
- a separate server host
|
||||||
| `SUPER+CTRL+RightArrow` | Swap window pos (right) |
|
|
||||||
| `SUPER+CTRL+LeftArrow` | Swap window pos (left) |
|
|
||||||
| `SUPER+CTRL+UpArrow` | Swap window pos (down) |
|
|
||||||
| `SUPER+CTRL+DownArrow` | Swap window pos (up) |
|
|
||||||
|
|
||||||
| Mouse Keybind | What it does |
|
DO NOT use `#server`, this build the server!
|
||||||
| ------------------ | -------------- |
|
|
||||||
| `SUPER+MouseLeft` | Move window |
|
|
||||||
| `SUPER+MouseRight` | Resize window |
|
|
||||||
| `SUPER+ScrollUp` | Next workspace |
|
|
||||||
| `SUPER+ScrollDown` | Prev workspace |
|
|
||||||
|
|
||||||
| Keybind | What it does |
|
## Before You Start
|
||||||
| ------------------- | ---------------------------------------- |
|
|
||||||
| `SUPER+[0-9]` | Switch to workspace X |
|
|
||||||
| `SUPER+SHIFT+[0-9]` | Move active window to workspace X |
|
|
||||||
| `SUPER+Z` | Special workspace |
|
|
||||||
| `SUPER+SHIFT+Z` | Move current window to special Workspace |
|
|
||||||
|
|
||||||
| Keybind | What it does |
|
You need:
|
||||||
| --------------- | ---------------- |
|
|
||||||
| `SUPER+SHIFT+B` | Reload Waybar |
|
|
||||||
| `CTRL+ALT+DEL` | WLogout |
|
|
||||||
| `FN+F5` | Prev music track |
|
|
||||||
| `FN+F6` | Next music track |
|
|
||||||
| `FN+F7` | Play/Pause music |
|
|
||||||
|
|
||||||
| Keybind | What it does |
|
- a NixOS installer
|
||||||
| ------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
- internet access
|
||||||
| `SUPER+SHIFT+ENTER` | Change wallpaper |
|
- your disks partitioned and mounted
|
||||||
| `SUPER+F1` | Hide waybar |
|
- this repo _(`git@tangled.sh:kris.darkworld.download/nix`)_
|
||||||
| `SUPER+F2` | [Roblox](https://roblox.com) [Roblox](https://sober.vinegarhq.org) |
|
|
||||||
| `SUPER+Space` | Switch Keyboard Layout (English, Latvian) |
|
|
||||||
|
|
||||||
## How to install NixOS
|
## Disk Layout
|
||||||
|
|
||||||
1. Install base NixOS from the commandline
|
This repo now uses `disko` for the default desktop host.
|
||||||
|
|
||||||
- Without UI
|
The current declarative layout is:
|
||||||
- Use this disk configuration
|
|
||||||
|
|
||||||
```
|
```text
|
||||||
/dev/sda1 - 1G fat32 fmask=0022 dmask=0022 vfat
|
disk = /dev/nvme0n1
|
||||||
mounts to /boot
|
ESP = 2G FAT32 mounted at /boot
|
||||||
|
root disk = remaining space as btrfs
|
||||||
# add compress=zstd
|
subvols = /, /home, /nix
|
||||||
|
|
||||||
/dev/sdb2 - 100% btrfs, with these subvolumes:
|
|
||||||
root -> /
|
|
||||||
[noatime] nix -> /nix
|
|
||||||
home -> /home
|
|
||||||
root -> /root
|
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Create user named `kris`
|
Mount options are declared in the disko config:
|
||||||
|
|
||||||
3. Run this in order:
|
- `/` with `compress=zstd`
|
||||||
|
- `/home` with `compress=zstd`
|
||||||
|
- `/nix` with `compress=zstd,noatime`
|
||||||
|
|
||||||
|
If `/dev/nvme0n1` is not the disk you want to wipe and install to, edit [`hosts/default/disko.nix`](/home/ralsei/config/hosts/default/disko.nix) before running the installer.
|
||||||
|
|
||||||
|
RAHHHHH IM NOT WRITING STUFF ANYMORE PLZ JUST TRY TO FIGURE OUT THE STEPS URSELF
|
||||||
|
THX
|
||||||
|
|
||||||
|
## Fresh Install
|
||||||
|
|
||||||
|
### 1. Boot the NixOS installer
|
||||||
|
|
||||||
|
Use the normal installer ISO.
|
||||||
|
|
||||||
|
### 2. Clone the repo in the installer
|
||||||
|
|
||||||
|
From the live installer:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~
|
|
||||||
nix-shell -p git
|
nix-shell -p git
|
||||||
|
rm -rf /etc/nixos
|
||||||
|
git clone git@tangled.sh:kris.darkworld.download/nix /etc/nixos
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Run this inside the `nix-shell`
|
### 3. Let disko partition and mount the target disk
|
||||||
|
|
||||||
|
Run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone git@tangled.sh:kris.darkworld.download/nix /tmp/nix-config
|
nix --extra-experimental-features 'nix-command flakes' run github:nix-community/disko -- --mode destroy,format,mount /etc/nixos#default
|
||||||
sudo rm -rf /etc/nixos
|
|
||||||
sudo mv /tmp/nix-config /etc/nixos
|
|
||||||
cd /etc/nixos
|
|
||||||
sudo nixos-rebuild switch --flake /etc/nixos#default --cores 20
|
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Reboot, run this in your terminal:
|
This will:
|
||||||
|
|
||||||
|
- partition the disk
|
||||||
|
- format it
|
||||||
|
- create the btrfs subvolumes
|
||||||
|
- mount everything under `/mnt`
|
||||||
|
|
||||||
|
This is destructive.
|
||||||
|
|
||||||
|
### 4. Generate hardware config
|
||||||
|
|
||||||
|
Run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
nixos-generate-config --root /mnt
|
||||||
|
```
|
||||||
|
|
||||||
|
Then replace the generated target config with this repo while keeping the generated hardware file:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp /mnt/etc/nixos/hardware-configuration.nix /tmp/hardware-configuration.nix
|
||||||
|
rm -rf /mnt/etc/nixos
|
||||||
|
git clone git@tangled.sh:kris.darkworld.download/nix /mnt/etc/nixos
|
||||||
|
cp /tmp/hardware-configuration.nix /mnt/etc/nixos/hardware-configuration.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
## Install The System
|
||||||
|
|
||||||
|
### 5. Run the install
|
||||||
|
|
||||||
|
From the live environment:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nixos-install --flake /mnt/etc/nixos#default
|
||||||
|
```
|
||||||
|
|
||||||
|
If Nix complains about flakes:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nix --extra-experimental-features 'nix-command flakes' run nixpkgs#nixos-install -- --flake /mnt/etc/nixos#default
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6. Reboot
|
||||||
|
|
||||||
|
After install finishes:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
reboot
|
||||||
|
```
|
||||||
|
|
||||||
|
## First Boot
|
||||||
|
|
||||||
|
### 7. Log in as `kris`
|
||||||
|
|
||||||
|
The config creates the main user for you during install.
|
||||||
|
|
||||||
|
After boot, log into the installed system as:
|
||||||
|
|
||||||
|
```text
|
||||||
|
kris
|
||||||
|
```
|
||||||
|
|
||||||
|
### 8. Verify the repo location
|
||||||
|
|
||||||
|
Make sure the config is really here:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ls /etc/nixos
|
||||||
|
```
|
||||||
|
|
||||||
|
You should see:
|
||||||
|
|
||||||
|
- `flake.nix`
|
||||||
|
- `flake.lock`
|
||||||
|
- `hosts`
|
||||||
|
- `modules`
|
||||||
|
|
||||||
|
### 9. Rebuild once from the installed system
|
||||||
|
|
||||||
|
Run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo nixos-rebuild switch --flake /etc/nixos#default
|
||||||
|
```
|
||||||
|
|
||||||
|
## Manual Restore After Install
|
||||||
|
|
||||||
|
Nix does not fully restore everything by itself. Some things still need to be
|
||||||
|
copied back manually.
|
||||||
|
|
||||||
|
### 10. Recreate normal user folders
|
||||||
|
|
||||||
|
Run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p /home/kris/Pictures
|
||||||
mkdir -p /home/kris/Pictures/Screenshots
|
mkdir -p /home/kris/Pictures/Screenshots
|
||||||
|
mkdir -p /home/kris/Pictures/Wallpapers
|
||||||
|
mkdir -p /home/kris/Pictures/Deltarune
|
||||||
mkdir -p /home/kris/Downloads
|
mkdir -p /home/kris/Downloads
|
||||||
mkdir -p /home/kris/Desktop
|
mkdir -p /home/kris/Desktop
|
||||||
mkdir -p /home/kris/Documents
|
mkdir -p /home/kris/Documents
|
||||||
mkdir -p /home/kris/Projects
|
mkdir -p /home/kris/Projects
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Add this to `/etc/resolv.conf` as root
|
### 11. Restore Quickshell project
|
||||||
|
|
||||||
|
This config expects the Deltarune Quickshell project here:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/home/kris/Projects/DeltaruneQuickshell
|
||||||
```
|
```
|
||||||
nameserver 1.1.1.1
|
|
||||||
|
If it is missing, restore or clone it there.
|
||||||
|
|
||||||
|
### 12. Restore non-declarative assets
|
||||||
|
|
||||||
|
Copy back these if you want the setup to look correct:
|
||||||
|
|
||||||
|
- `~/Pictures/Wallpapers`
|
||||||
|
- `~/Pictures/Deltarune`
|
||||||
|
- `~/.local/share/fonts`
|
||||||
|
- `~/.local/share/icons`
|
||||||
|
- `~/.local/share/deltarunequickshell`
|
||||||
|
|
||||||
|
Important:
|
||||||
|
|
||||||
|
- screenshots are optional
|
||||||
|
- the desktop can boot without all of this, but it will not look right
|
||||||
|
|
||||||
|
### 13. Restore private assets and secrets
|
||||||
|
|
||||||
|
If you use them, restore things like:
|
||||||
|
|
||||||
|
- SSH keys
|
||||||
|
- Git auth
|
||||||
|
- cloudflare credentials
|
||||||
|
- Bitwarden/KeePass databases
|
||||||
|
- any private art or shell assets
|
||||||
|
|
||||||
|
## Useful Commands
|
||||||
|
|
||||||
|
Rebuild:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo nixos-rebuild switch --flake /etc/nixos#default
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Update flake inputs:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /etc/nixos
|
||||||
|
nix flake update
|
||||||
|
```
|
||||||
|
|
||||||
|
Check current git state:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git -C /etc/nixos status
|
||||||
|
```
|
||||||
|
|
||||||
|
## If Something Is Broken
|
||||||
|
|
||||||
|
### Quickshell missing
|
||||||
|
|
||||||
|
Make sure:
|
||||||
|
|
||||||
|
- the package is installed by Nix
|
||||||
|
- `/home/kris/Projects/DeltaruneQuickshell` exists
|
||||||
|
|
||||||
|
### Rice looks wrong
|
||||||
|
|
||||||
|
You probably forgot to restore:
|
||||||
|
|
||||||
|
- fonts
|
||||||
|
- icons/cursors
|
||||||
|
- wallpapers
|
||||||
|
- Quickshell runtime state
|
||||||
|
|
||||||
|
### Build fails because of hardware config
|
||||||
|
|
||||||
|
Make sure this file exists:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/etc/nixos/hardware-configuration.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
### Git push fails
|
||||||
|
|
||||||
|
Your local SSH config may be cursed. If needed, bypass system SSH config:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git -c core.sshCommand='ssh -F /dev/null' push
|
||||||
|
```
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
If you want the shortest version:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nix-shell -p git
|
||||||
|
rm -rf /etc/nixos
|
||||||
|
git clone git@tangled.sh:kris.darkworld.download/nix /etc/nixos
|
||||||
|
nix --extra-experimental-features 'nix-command flakes' run github:nix-community/disko -- --mode destroy,format,mount /etc/nixos#default
|
||||||
|
nixos-generate-config --root /mnt
|
||||||
|
cp /mnt/etc/nixos/hardware-configuration.nix /tmp/hardware-configuration.nix
|
||||||
|
rm -rf /mnt/etc/nixos
|
||||||
|
git clone git@tangled.sh:kris.darkworld.download/nix /mnt/etc/nixos
|
||||||
|
cp /tmp/hardware-configuration.nix /mnt/etc/nixos/hardware-configuration.nix
|
||||||
|
nixos-install --flake /mnt/etc/nixos#default
|
||||||
|
reboot
|
||||||
|
```
|
||||||
|
|
||||||
|
Then restore:
|
||||||
|
|
||||||
|
- `/home/kris/Projects/DeltaruneQuickshell`
|
||||||
|
- `~/.local/share/fonts`
|
||||||
|
- `~/.local/share/icons`
|
||||||
|
- your wallpapers and pictures
|
||||||
|
|||||||
123
flake.lock
generated
123
flake.lock
generated
@@ -123,6 +123,24 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"disko": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773889306,
|
||||||
|
"narHash": "sha256-PAqwnsBSI9SVC2QugvQ3xeYCB0otOwCacB1ueQj2tgw=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"rev": "5ad85c82cc52264f4beddc934ba57f3789f28347",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fenix": {
|
"fenix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -318,7 +336,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"zig": "zig",
|
"zig": "zig",
|
||||||
"zon2nix": "zon2nix"
|
"zon2nix": "zon2nix"
|
||||||
@@ -425,7 +443,7 @@
|
|||||||
},
|
},
|
||||||
"home-manager_3": {
|
"home-manager_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774647770,
|
"lastModified": 1774647770,
|
||||||
@@ -819,7 +837,7 @@
|
|||||||
"hyprlang": "hyprlang_2",
|
"hyprlang": "hyprlang_2",
|
||||||
"hyprutils": "hyprutils_2",
|
"hyprutils": "hyprutils_2",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner_2",
|
"hyprwayland-scanner": "hyprwayland-scanner_2",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"systems": "systems_3"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -845,7 +863,7 @@
|
|||||||
"hyprutils": "hyprutils_3",
|
"hyprutils": "hyprutils_3",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner_3",
|
"hyprwayland-scanner": "hyprwayland-scanner_3",
|
||||||
"hyprwire": "hyprwire_2",
|
"hyprwire": "hyprwire_2",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_7",
|
||||||
"systems": "systems_4"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -1334,7 +1352,7 @@
|
|||||||
},
|
},
|
||||||
"nix-steipete-tools": {
|
"nix-steipete-tools": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_9"
|
"nixpkgs": "nixpkgs_10"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773561580,
|
"lastModified": 1773561580,
|
||||||
@@ -1383,6 +1401,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_10": {
|
"nixpkgs_10": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1767364772,
|
||||||
|
"narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_11": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767767207,
|
"lastModified": 1767767207,
|
||||||
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
|
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
|
||||||
@@ -1398,7 +1432,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_11": {
|
"nixpkgs_12": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771848320,
|
"lastModified": 1771848320,
|
||||||
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
|
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
|
||||||
@@ -1414,7 +1448,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_12": {
|
"nixpkgs_13": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682134069,
|
"lastModified": 1682134069,
|
||||||
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
|
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
|
||||||
@@ -1428,7 +1462,7 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_13": {
|
"nixpkgs_14": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771419570,
|
"lastModified": 1771419570,
|
||||||
"narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=",
|
"narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=",
|
||||||
@@ -1444,7 +1478,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_14": {
|
"nixpkgs_15": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773389992,
|
"lastModified": 1773389992,
|
||||||
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
|
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
|
||||||
@@ -1477,6 +1511,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773628058,
|
||||||
|
"narHash": "sha256-hpXH0z3K9xv0fHaje136KY872VT2T5uwxtezlAskQgY=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "f8573b9c935cfaa162dd62cc9e75ae2db86f85df",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770537093,
|
"lastModified": 1770537093,
|
||||||
"narHash": "sha256-XV30uo8tXuxdzuV8l3sojmlPRLd/8tpMsOp4lNzLGUo=",
|
"narHash": "sha256-XV30uo8tXuxdzuV8l3sojmlPRLd/8tpMsOp4lNzLGUo=",
|
||||||
@@ -1489,7 +1539,7 @@
|
|||||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774106199,
|
"lastModified": 1774106199,
|
||||||
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
||||||
@@ -1505,22 +1555,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772433332,
|
|
||||||
"narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "cf59864ef8aa2e178cccedbe2c178185b0365705",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772433332,
|
"lastModified": 1772433332,
|
||||||
@@ -1539,15 +1573,15 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774386573,
|
"lastModified": 1772433332,
|
||||||
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
"narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
"rev": "cf59864ef8aa2e178cccedbe2c178185b0365705",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
@@ -1571,16 +1605,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_9": {
|
"nixpkgs_9": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767364772,
|
"lastModified": 1774386573,
|
||||||
"narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=",
|
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa",
|
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -1591,7 +1625,7 @@
|
|||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"mnw": "mnw",
|
"mnw": "mnw",
|
||||||
"ndg": "ndg",
|
"ndg": "ndg",
|
||||||
"nixpkgs": "nixpkgs_8",
|
"nixpkgs": "nixpkgs_9",
|
||||||
"systems": "systems_5"
|
"systems": "systems_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -1613,7 +1647,7 @@
|
|||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"home-manager": "home-manager_4",
|
"home-manager": "home-manager_4",
|
||||||
"nix-steipete-tools": "nix-steipete-tools",
|
"nix-steipete-tools": "nix-steipete-tools",
|
||||||
"nixpkgs": "nixpkgs_10"
|
"nixpkgs": "nixpkgs_11"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773851886,
|
"lastModified": 1773851886,
|
||||||
@@ -1681,6 +1715,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"chaotic": "chaotic",
|
"chaotic": "chaotic",
|
||||||
|
"disko": "disko",
|
||||||
"ghostty": "ghostty",
|
"ghostty": "ghostty",
|
||||||
"home-manager": "home-manager_3",
|
"home-manager": "home-manager_3",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
@@ -1688,7 +1723,7 @@
|
|||||||
"hyprsysteminfo": "hyprsysteminfo",
|
"hyprsysteminfo": "hyprsysteminfo",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_7",
|
"nixpkgs": "nixpkgs_8",
|
||||||
"nvf": "nvf",
|
"nvf": "nvf",
|
||||||
"openclaw": "openclaw",
|
"openclaw": "openclaw",
|
||||||
"spacebar": "spacebar",
|
"spacebar": "spacebar",
|
||||||
@@ -1920,7 +1955,7 @@
|
|||||||
"inter-fonts-src": "inter-fonts-src",
|
"inter-fonts-src": "inter-fonts-src",
|
||||||
"lucide-src": "lucide-src",
|
"lucide-src": "lucide-src",
|
||||||
"mermaid-src": "mermaid-src",
|
"mermaid-src": "mermaid-src",
|
||||||
"nixpkgs": "nixpkgs_11",
|
"nixpkgs": "nixpkgs_12",
|
||||||
"sqlite-lib-src": "sqlite-lib-src"
|
"sqlite-lib-src": "sqlite-lib-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -1940,7 +1975,7 @@
|
|||||||
"vscode-server": {
|
"vscode-server": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_4",
|
||||||
"nixpkgs": "nixpkgs_12"
|
"nixpkgs": "nixpkgs_13"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770124655,
|
"lastModified": 1770124655,
|
||||||
@@ -1958,7 +1993,7 @@
|
|||||||
},
|
},
|
||||||
"wafrn": {
|
"wafrn": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_13",
|
"nixpkgs": "nixpkgs_14",
|
||||||
"wafrn-src": "wafrn-src"
|
"wafrn-src": "wafrn-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -2036,7 +2071,7 @@
|
|||||||
"zen-browser": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager_5",
|
"home-manager": "home-manager_5",
|
||||||
"nixpkgs": "nixpkgs_14"
|
"nixpkgs": "nixpkgs_15"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774605342,
|
"lastModified": 1774605342,
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
||||||
|
|
||||||
# Package tooling
|
# Package tooling
|
||||||
|
disko.url = "github:nix-community/disko";
|
||||||
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
||||||
nvf.url = "github:notashelf/nvf";
|
nvf.url = "github:notashelf/nvf";
|
||||||
@@ -43,11 +44,13 @@
|
|||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
|
inputs.disko.nixosModules.disko
|
||||||
inputs.catppuccin.nixosModules.catppuccin
|
inputs.catppuccin.nixosModules.catppuccin
|
||||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||||
inputs.chaotic.nixosModules.nyx-cache
|
inputs.chaotic.nixosModules.nyx-cache
|
||||||
inputs.chaotic.nixosModules.nyx-overlay
|
inputs.chaotic.nixosModules.nyx-overlay
|
||||||
inputs.chaotic.nixosModules.nyx-registry
|
inputs.chaotic.nixosModules.nyx-registry
|
||||||
|
./hosts/default/disko.nix
|
||||||
"/etc/nixos/hardware-configuration.nix"
|
"/etc/nixos/hardware-configuration.nix"
|
||||||
./hosts/default/configuration.nix
|
./hosts/default/configuration.nix
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -151,12 +151,6 @@ in {
|
|||||||
environment.variables.GTK_USE_PORTAL = "1";
|
environment.variables.GTK_USE_PORTAL = "1";
|
||||||
environment.sessionVariables.GTK_USE_PORTAL = 1;
|
environment.sessionVariables.GTK_USE_PORTAL = 1;
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/".options = [ "compress=zstd" ];
|
|
||||||
"/home".options = [ "compress=zstd" ];
|
|
||||||
"/nix".options = [ "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
services.btrfs.autoScrub = {
|
services.btrfs.autoScrub = {
|
||||||
enable = true;
|
enable = true;
|
||||||
interval = "monthly";
|
interval = "monthly";
|
||||||
|
|||||||
57
hosts/default/disko.nix
Normal file
57
hosts/default/disko.nix
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
disko.devices = {
|
||||||
|
disk.main = {
|
||||||
|
type = "disk";
|
||||||
|
device = lib.mkDefault "/dev/nvme0n1";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
ESP = {
|
||||||
|
size = "2G";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = [
|
||||||
|
"fmask=0022"
|
||||||
|
"dmask=0022"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nixos = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "btrfs";
|
||||||
|
extraArgs = [
|
||||||
|
"-f"
|
||||||
|
"-L"
|
||||||
|
"NixOS"
|
||||||
|
];
|
||||||
|
subvolumes = {
|
||||||
|
"@root" = {
|
||||||
|
mountpoint = "/";
|
||||||
|
mountOptions = [ "compress=zstd" ];
|
||||||
|
};
|
||||||
|
"@home" = {
|
||||||
|
mountpoint = "/home";
|
||||||
|
mountOptions = [ "compress=zstd" ];
|
||||||
|
};
|
||||||
|
"@nix" = {
|
||||||
|
mountpoint = "/nix";
|
||||||
|
mountOptions = [
|
||||||
|
"compress=zstd"
|
||||||
|
"noatime"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user