Prepare lapetus reinstall
This commit is contained in:
parent
d806a7077c
commit
a67ff67ada
|
@ -2,10 +2,10 @@
|
||||||
let
|
let
|
||||||
spicePkgs = inputs.spicetify-nix.packages.${pkgs.system}.default;
|
spicePkgs = inputs.spicetify-nix.packages.${pkgs.system}.default;
|
||||||
themeMap = lib.fix (self: {
|
themeMap = lib.fix (self: {
|
||||||
"Catppuccin Mocha" = spicePkgs.themes.catppuccin;
|
"Catppuccin Mocha" = spicePkgs.themes.Comfy;
|
||||||
"Catppuccin Latte" = spicePkgs.themes.catppuccin;
|
"Catppuccin Latte" = spicePkgs.themes.Comfy;
|
||||||
"Catppuccin Frappe" = spicePkgs.themes.catppuccin;
|
"Catppuccin Frappe" = spicePkgs.themes.Comfy;
|
||||||
"Catppuccin Macchiato" = spicePkgs.themes.catppuccin;
|
"Catppuccin Macchiato" = spicePkgs.themes.Comfy;
|
||||||
|
|
||||||
default.light = self."Catppuccin Latte";
|
default.light = self."Catppuccin Latte";
|
||||||
default.dark = self."Catppuccin Macchiato";
|
default.dark = self."Catppuccin Macchiato";
|
||||||
|
@ -42,7 +42,9 @@ in
|
||||||
wikify # Shows an artist's wikipedia entry
|
wikify # Shows an artist's wikipedia entry
|
||||||
songStats
|
songStats
|
||||||
showQueueDuration
|
showQueueDuration
|
||||||
genre
|
# REASON: broken
|
||||||
|
# https://github.com/the-argus/spicetify-nix/issues/50
|
||||||
|
# genre
|
||||||
adblock
|
adblock
|
||||||
savePlaylists # Adds a button to duplicate playlists
|
savePlaylists # Adds a button to duplicate playlists
|
||||||
];
|
];
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
"hyprland": { "branch": "main", "commit": "be665459a21730a6acdfaa9c6352cda5e4763af6" },
|
"hyprland": { "branch": "main", "commit": "be665459a21730a6acdfaa9c6352cda5e4763af6" },
|
||||||
"idris": { "branch": "main", "commit": "8bff02984a33264437e70fd9fff4359679d910da" },
|
"idris": { "branch": "main", "commit": "8bff02984a33264437e70fd9fff4359679d910da" },
|
||||||
"inc-rename": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" },
|
"inc-rename": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" },
|
||||||
"inc-rename.nvim": { "branch": "main", "commit": "a48c7cec5c4f00d7438dce5fadb55f4d715ef9f2" },
|
|
||||||
"indent-blankline": { "branch": "master", "commit": "7206c77cb931f79885fc47f88ae18f99148392eb" },
|
"indent-blankline": { "branch": "master", "commit": "7206c77cb931f79885fc47f88ae18f99148392eb" },
|
||||||
"lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" },
|
"lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
|
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
|
||||||
|
@ -37,6 +36,8 @@
|
||||||
"live-command": { "branch": "main", "commit": "d460067d47948725a6f25b20f31ea8bbfdfe4622" },
|
"live-command": { "branch": "main", "commit": "d460067d47948725a6f25b20f31ea8bbfdfe4622" },
|
||||||
"lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" },
|
"lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" },
|
||||||
"luasnip": { "branch": "master", "commit": "118263867197a111717b5f13d954cd1ab8124387" },
|
"luasnip": { "branch": "master", "commit": "118263867197a111717b5f13d954cd1ab8124387" },
|
||||||
|
"mini.base16": { "branch": "main", "commit": "867265505d5147af45d38ca120bbfddaa43e61aa" },
|
||||||
|
"mini.colors": { "branch": "main", "commit": "a6b594b7cc07a55fd9e9698be2ff5d2194fd4ac6" },
|
||||||
"mini.comment": { "branch": "main", "commit": "3d9c8009615857e982f09bc5357fc95f2a2175f3" },
|
"mini.comment": { "branch": "main", "commit": "3d9c8009615857e982f09bc5357fc95f2a2175f3" },
|
||||||
"mini.files": { "branch": "main", "commit": "173d73f5d0b2a9abbb2d6533a3770fdbbd0c4dcc" },
|
"mini.files": { "branch": "main", "commit": "173d73f5d0b2a9abbb2d6533a3770fdbbd0c4dcc" },
|
||||||
"mini.operators": { "branch": "main", "commit": "7a97e2528a4c274e9da8953d3ba22f493c360a9f" },
|
"mini.operators": { "branch": "main", "commit": "7a97e2528a4c274e9da8953d3ba22f493c360a9f" },
|
||||||
|
@ -57,7 +58,6 @@
|
||||||
"plenary": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
"plenary": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
||||||
"rust-tools": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
|
"rust-tools": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
|
||||||
"rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
|
|
||||||
"scrap": { "branch": "main", "commit": "0f833d8dccaabe49c1ed7a2b24cfd887d9d5003f" },
|
"scrap": { "branch": "main", "commit": "0f833d8dccaabe49c1ed7a2b24cfd887d9d5003f" },
|
||||||
"smart-splits.nvim": { "branch": "master", "commit": "c970c7a3cc7ba635fd73d43c81b40f04c00f5058" },
|
"smart-splits.nvim": { "branch": "master", "commit": "c970c7a3cc7ba635fd73d43c81b40f04c00f5058" },
|
||||||
"ssr": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" },
|
"ssr": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" },
|
||||||
|
|
|
@ -1328,7 +1328,9 @@ let
|
||||||
# }}}
|
# }}}
|
||||||
# {{{ obsidian
|
# {{{ obsidian
|
||||||
obsidian =
|
obsidian =
|
||||||
let vault = "${config.xdg.userDirs.extraConfig.XDG_PROJECTS_DIR}/stellar-sanctum";
|
let
|
||||||
|
vault = "${config.xdg.userDirs.extraConfig.XDG_PROJECTS_DIR}/stellar-sanctum";
|
||||||
|
dateFormat = "%Y-%m-%d";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
package = "epwalsh/obsidian.nvim";
|
package = "epwalsh/obsidian.nvim";
|
||||||
|
@ -1346,9 +1348,17 @@ let
|
||||||
opts = {
|
opts = {
|
||||||
dir = vault;
|
dir = vault;
|
||||||
notes_subdir = "chaos";
|
notes_subdir = "chaos";
|
||||||
|
|
||||||
daily_notes = {
|
daily_notes = {
|
||||||
folder = "daily";
|
folder = "daily";
|
||||||
date_format = "%Y-%m-%d";
|
date_format = dateFormat;
|
||||||
|
template = "New daily note.md";
|
||||||
|
};
|
||||||
|
|
||||||
|
templates = {
|
||||||
|
subdir = "templates";
|
||||||
|
date_format = dateFormat;
|
||||||
|
time_format = "%H:%M";
|
||||||
};
|
};
|
||||||
|
|
||||||
completion = {
|
completion = {
|
||||||
|
|
|
@ -46,6 +46,9 @@ in
|
||||||
services.journald.extraConfig = lib.mkDefault ''
|
services.journald.extraConfig = lib.mkDefault ''
|
||||||
SystemMaxUse=256M
|
SystemMaxUse=256M
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Boot using systemd
|
||||||
|
boot.initrd.systemd.enable = true;
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
|
|
|
@ -9,10 +9,11 @@
|
||||||
type = "table";
|
type = "table";
|
||||||
format = "gpt";
|
format = "gpt";
|
||||||
partitions = [
|
partitions = [
|
||||||
|
# {{{ Boot
|
||||||
{
|
{
|
||||||
name = "ESP";
|
name = "ESP";
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "64MiB";
|
end = "512MiB";
|
||||||
fs-type = "fat32";
|
fs-type = "fat32";
|
||||||
bootable = true;
|
bootable = true;
|
||||||
content = {
|
content = {
|
||||||
|
@ -21,15 +22,18 @@
|
||||||
mountpoint = "/boot";
|
mountpoint = "/boot";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
# }}}
|
||||||
|
# {{{ Main
|
||||||
{
|
{
|
||||||
name = "zfs";
|
name = "zfs";
|
||||||
start = "128MiB";
|
start = "1GiB";
|
||||||
end = "100%";
|
end = "100%";
|
||||||
content = {
|
content = {
|
||||||
type = "zfs";
|
type = "zfs";
|
||||||
pool = "zroot";
|
pool = "zroot";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
# }}}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -43,7 +47,6 @@
|
||||||
|
|
||||||
postCreateHook = ''
|
postCreateHook = ''
|
||||||
zfs snapshot zroot@blank
|
zfs snapshot zroot@blank
|
||||||
zfs set keylocation="prompt" "zroot";
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
rootFsOptions = {
|
rootFsOptions = {
|
||||||
|
@ -51,7 +54,7 @@
|
||||||
"com.sun:auto-snapshot" = "false";
|
"com.sun:auto-snapshot" = "false";
|
||||||
encryption = "aes-256-gcm";
|
encryption = "aes-256-gcm";
|
||||||
keyformat = "passphrase";
|
keyformat = "passphrase";
|
||||||
keylocation = "file:///tmp/secret.key";
|
keylocation = "file:///hermes/secrets/lapetus/disk.key";
|
||||||
};
|
};
|
||||||
|
|
||||||
# {{{ Datasets
|
# {{{ Datasets
|
||||||
|
|
|
@ -1,12 +1,88 @@
|
||||||
{ config, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
# Configure ZFS
|
# Configure ZFS
|
||||||
boot.supportedFilesystems = [ "zfs" ];
|
boot.supportedFilesystems = [ "zfs" ];
|
||||||
boot.zfs.extraPools = [ "zroot" ];
|
boot.zfs.extraPools = [ "zroot" ];
|
||||||
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
|
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
|
||||||
boot.kernelParams = [ "nohibernate" ];
|
boot.kernelParams = [ "nohibernate" ];
|
||||||
|
|
||||||
# Roll back to blank snapshot on boot
|
boot.initrd.systemd.services =
|
||||||
# boot.initrd.postDeviceCommands = lib.mkAfter ''
|
let secretMountpoint = "/hermes";
|
||||||
# zfs rollback -r zroot@blank
|
in
|
||||||
# '';
|
{
|
||||||
|
# {{{ Mount usb
|
||||||
|
mountSecrets = {
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
};
|
||||||
|
unitConfig.DefaultDependencies = "no";
|
||||||
|
wantedBy = [ "initrd.target" ];
|
||||||
|
before = [ "zfs-mount.service" ];
|
||||||
|
after = [ "zfs-import.target" ];
|
||||||
|
script = ''
|
||||||
|
MOUNTPOINT="${secretMountpoint}"
|
||||||
|
USB="/dev/sdb"
|
||||||
|
|
||||||
|
echo "Waiting for $USB"
|
||||||
|
for I in {1..20}; do
|
||||||
|
if [ -e "$USB" ]; then break; fi
|
||||||
|
echo -n .
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Found $USB"
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
if [ -e "$USB" ]; then
|
||||||
|
echo "Mounting $USB"
|
||||||
|
mkdir -p $MOUNTPOINT
|
||||||
|
mount -o ro "$USB" $MOUNTPOINT
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "Error mounting $USB" >&2
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Cannot find $USB" >&2
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
# }}}
|
||||||
|
# {{{ Unmount usb
|
||||||
|
unmountSecrets = {
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
};
|
||||||
|
unitConfig.DefaultDependencies = "no";
|
||||||
|
wantedBy = [ "initrd.target" ];
|
||||||
|
after = [ "zfs-mount.service" ];
|
||||||
|
script = ''
|
||||||
|
MOUNTPOINT="${secretMountpoint}"
|
||||||
|
if [ -e "$MOUNTPOINT" ]; then
|
||||||
|
echo "Clearing $MOUNTPOINT"
|
||||||
|
umount $MOUNTPOINT
|
||||||
|
rmdir $MOUNTPOINT
|
||||||
|
echo "Unmounted $MOUNTPOINT"
|
||||||
|
else
|
||||||
|
echo "Nothing to unmount"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
# }}}
|
||||||
|
# # {{{ Rollback
|
||||||
|
# rollback = {
|
||||||
|
# path = [ pkgs.zfs ];
|
||||||
|
# serviceConfig = {
|
||||||
|
# Type = "oneshot";
|
||||||
|
# RemainAfterExit = true;
|
||||||
|
# };
|
||||||
|
# unitConfig.DefaultDependencies = "no";
|
||||||
|
# wantedBy = [ "initrd.target" ];
|
||||||
|
# after = [ "zfs-import.target" ];
|
||||||
|
# before = [ "sysroot.mount" ];
|
||||||
|
# script = "zfs rollback -r zroot@blank";
|
||||||
|
# };
|
||||||
|
# # }}}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
imports = [ inputs.grub2-themes.nixosModules.default ];
|
imports = [ inputs.grub2-themes.nixosModules.default ];
|
||||||
|
|
||||||
boot.initrd.systemd.enable = true;
|
|
||||||
|
|
||||||
# Defined [here](https://github.com/vinceliuice/grub2-themes/blob/master/flake.nix#L11)
|
# Defined [here](https://github.com/vinceliuice/grub2-themes/blob/master/flake.nix#L11)
|
||||||
boot.loader.grub2-theme = {
|
boot.loader.grub2-theme = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
Loading…
Reference in a new issue