mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 12:29:19 -08:00
Compare commits
3 commits
4c6f2aa34a
...
4482ec422a
| Author | SHA1 | Date | |
|---|---|---|---|
| 4482ec422a | |||
| 6f199833bf | |||
| 077753652f |
20 changed files with 209 additions and 101 deletions
18
TODO.md
Normal file
18
TODO.md
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
# To-dos
|
||||||
|
|
||||||
|
- [ ] Make personal homepage o:
|
||||||
|
- [ ] Make my own quickshell config
|
||||||
|
|
||||||
|
## New service deployments
|
||||||
|
|
||||||
|
- [ ] Fauna
|
||||||
|
- [ ] Immich
|
||||||
|
|
||||||
|
## Migrations
|
||||||
|
|
||||||
|
- [ ] Move away from flakes to either npins or lon (not that they replied; https://github.com/nikstur/lon/issues/57#issue-3652308987)
|
||||||
|
- [ ] Move to a setup similar to https://notashelf.dev/posts/impermanence - investigate encrypted swap WITH hibernation support
|
||||||
|
- [ ] Move away from gmail fully
|
||||||
|
- [ ] Move away from Discord primarily
|
||||||
|
- [ ] Move away from Spotify fully
|
||||||
|
- [ ] Move away from Cloudflare for DNS and hosting
|
||||||
6
flake.lock
generated
6
flake.lock
generated
|
|
@ -1006,11 +1006,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753213430,
|
"lastModified": 1764853849,
|
||||||
"narHash": "sha256-2FNsT26OnFO3mh/0L42i7BNAN2JJhlIbmn+KB05CJMU=",
|
"narHash": "sha256-0J2wo7WLd5uRD769MXsCJqu1VwAhuA2hmIKr2+ltb6s=",
|
||||||
"owner": "kittywitch",
|
"owner": "kittywitch",
|
||||||
"repo": "konawall-py",
|
"repo": "konawall-py",
|
||||||
"rev": "c8877270497a34e0146342f942a093ef406c6fed",
|
"rev": "fcbf702ab31286231ef71e0a7260e99cd7bbab86",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -44,16 +44,16 @@ in {
|
||||||
"Mod+Shift+Escape".action = sh ''${noctalia} sessionMenu toggle'';
|
"Mod+Shift+Escape".action = sh ''${noctalia} sessionMenu toggle'';
|
||||||
#"Mod+Shift+Escape".action = sh ''${getExe config.programs.swaylock.package} -f'';
|
#"Mod+Shift+Escape".action = sh ''${getExe config.programs.swaylock.package} -f'';
|
||||||
"Mod+L".action = sh ''${noctalia} lockScreen toggle'';
|
"Mod+L".action = sh ''${noctalia} lockScreen toggle'';
|
||||||
"Mod+Tab" = {
|
#"Mod+Tab" = {
|
||||||
#repeat = false;
|
# #repeat = false;
|
||||||
cooldown-ms = 150;
|
# cooldown-ms = 150;
|
||||||
action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"];
|
# action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"];
|
||||||
};
|
#};
|
||||||
"Mod+Shift+Tab" = {
|
#"Mod+Shift+Tab" = {
|
||||||
cooldown-ms = 150;
|
# cooldown-ms = 150;
|
||||||
#repeat = false;
|
# #repeat = false;
|
||||||
action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"];
|
# action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"];
|
||||||
};
|
#};
|
||||||
"Mod+Shift+Ctrl+Page_Down".action.move-workspace-to-monitor-previous = {};
|
"Mod+Shift+Ctrl+Page_Down".action.move-workspace-to-monitor-previous = {};
|
||||||
"Mod+Shift+Ctrl+Page_Up".action.move-workspace-to-monitor-next = {};
|
"Mod+Shift+Ctrl+Page_Up".action.move-workspace-to-monitor-next = {};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -75,32 +75,35 @@ in {
|
||||||
#deactivate-unfocused-windows = {};
|
#deactivate-unfocused-windows = {};
|
||||||
};
|
};
|
||||||
workspaces = {
|
workspaces = {
|
||||||
"01-notes" = {
|
"01" = {
|
||||||
name = "notes";
|
name = "一";
|
||||||
};
|
};
|
||||||
"02-chat" = {
|
"02" = {
|
||||||
name = "chat";
|
name = "二";
|
||||||
};
|
};
|
||||||
"03-browser" = {
|
"03" = {
|
||||||
name = "browser";
|
name = "三";
|
||||||
};
|
};
|
||||||
"04-code" = {
|
"04" = {
|
||||||
name = "code";
|
name = "四";
|
||||||
};
|
};
|
||||||
"05-term" = {
|
"05" = {
|
||||||
name = "term";
|
name = "五";
|
||||||
};
|
};
|
||||||
"06-mail" = {
|
"06" = {
|
||||||
name = "mail";
|
name = "六";
|
||||||
};
|
};
|
||||||
"07-game" = {
|
"07" = {
|
||||||
name = "game";
|
name = "七";
|
||||||
};
|
};
|
||||||
"08-video" = {
|
"08" = {
|
||||||
name = "video";
|
name = "八";
|
||||||
};
|
};
|
||||||
"09-audio" = {
|
"09" = {
|
||||||
name = "audio";
|
name = "九";
|
||||||
|
};
|
||||||
|
"10" = {
|
||||||
|
name = "十";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
environment = {
|
environment = {
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ in {
|
||||||
backgroundOpacity = 0.9;
|
backgroundOpacity = 0.9;
|
||||||
monitors = [];
|
monitors = [];
|
||||||
density = "comfortable";
|
density = "comfortable";
|
||||||
showCapsule = true;
|
showCapsule = false;
|
||||||
floating = true;
|
floating = true;
|
||||||
marginVertical = 0.25;
|
marginVertical = 0.25;
|
||||||
marginHorizontal = 0.25;
|
marginHorizontal = 0.25;
|
||||||
|
|
@ -22,7 +22,8 @@ in {
|
||||||
left = [
|
left = [
|
||||||
{
|
{
|
||||||
id = "Workspace";
|
id = "Workspace";
|
||||||
labelMode = "name";
|
labelMode = "index+name";
|
||||||
|
characterCount = 10;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
id = "ActiveWindow";
|
id = "ActiveWindow";
|
||||||
|
|
@ -30,6 +31,11 @@ in {
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
center = [
|
center = [
|
||||||
|
];
|
||||||
|
right = [
|
||||||
|
{
|
||||||
|
id = "Tray";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
id = "MediaMini";
|
id = "MediaMini";
|
||||||
showAlbumArt = true;
|
showAlbumArt = true;
|
||||||
|
|
@ -40,30 +46,6 @@ in {
|
||||||
# if not, rewrite their system for it o.o
|
# if not, rewrite their system for it o.o
|
||||||
widgetWidth = 300;
|
widgetWidth = 300;
|
||||||
}
|
}
|
||||||
{
|
|
||||||
id = "Clock";
|
|
||||||
formatHorizontal = "yyyy-MM-dd HH:mm t";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "NightLight";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "DarkMode";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "KeepAwake";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "ScreenRecorder";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
right = [
|
|
||||||
{
|
|
||||||
id = "SystemMonitor";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "Tray";
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
id = "NotificationHistory";
|
id = "NotificationHistory";
|
||||||
}
|
}
|
||||||
|
|
@ -76,8 +58,25 @@ in {
|
||||||
{
|
{
|
||||||
id = "Brightness";
|
id = "Brightness";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
id = "NightLight";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "DarkMode";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "KeepAwake";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "ScreenRecorder";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "Clock";
|
||||||
|
formatHorizontal = "yyyy-MM-dd HH:mm t";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
id = "ControlCenter";
|
id = "ControlCenter";
|
||||||
|
useDistroLogo = true;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -25,16 +25,16 @@
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
fonts = {
|
fonts = {
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
name = "Atkinson Hyperlegible Next";
|
name = "M+2 Nerd Font";
|
||||||
package = pkgs.atkinson-hyperlegible-next;
|
package = pkgs.nerd-fonts."m+";
|
||||||
};
|
};
|
||||||
serif = {
|
serif = {
|
||||||
name = "Libre Baskerville";
|
name = "Libre Baskerville";
|
||||||
package = pkgs.libre-baskerville;
|
package = pkgs.libre-baskerville;
|
||||||
};
|
};
|
||||||
monospace = {
|
monospace = {
|
||||||
name = "Atkinson Hyperlegible Mono";
|
name = "M+1Code Nerd Font Mono";
|
||||||
package = pkgs.atkinson-hyperlegible-mono;
|
package = pkgs.nerd-fonts."m+";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
autoEnable = true;
|
autoEnable = true;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
stylix.targets.alacritty.enable = true;
|
stylix.targets.alacritty.enable = true;
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.alacritty-graphics;
|
package = pkgs.alacritty;
|
||||||
settings = {
|
settings = {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
anki
|
anki
|
||||||
# Password manager
|
|
||||||
bitwarden
|
|
||||||
|
|
||||||
# Task managers
|
# Task managers
|
||||||
btop
|
btop
|
||||||
|
|
@ -10,8 +8,7 @@
|
||||||
|
|
||||||
aseprite
|
aseprite
|
||||||
# Chat
|
# Chat
|
||||||
tdesktop # Telegram
|
telegram-desktop # Telegram
|
||||||
dino # XMPP
|
|
||||||
signal-desktop
|
signal-desktop
|
||||||
mumble
|
mumble
|
||||||
keymapp
|
keymapp
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,24 @@ _: {
|
||||||
flavor = "gmail.com";
|
flavor = "gmail.com";
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
main =
|
||||||
|
mainEnable
|
||||||
|
// katIdentity
|
||||||
|
// {
|
||||||
|
flavor = "plain";
|
||||||
|
userName = "kat@dork.dev";
|
||||||
|
address = "kat@dork.dev";
|
||||||
|
imap = {
|
||||||
|
tls.enable = true;
|
||||||
|
host = "rinnosuke.inskip.me";
|
||||||
|
port = 993;
|
||||||
|
};
|
||||||
|
smtp = {
|
||||||
|
tls.enable = true;
|
||||||
|
host = "rinnosuke.inskip.me";
|
||||||
|
port = 465;
|
||||||
|
};
|
||||||
|
};
|
||||||
primary =
|
primary =
|
||||||
gmailAccount
|
gmailAccount
|
||||||
// katIdentity
|
// katIdentity
|
||||||
|
|
|
||||||
|
|
@ -26,16 +26,16 @@
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
fonts = {
|
fonts = {
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
name = "Atkinson Hyperlegible Next";
|
name = "M+2 Nerd Font";
|
||||||
package = pkgs.atkinson-hyperlegible-next;
|
package = pkgs.nerd-fonts."m+";
|
||||||
};
|
};
|
||||||
serif = {
|
serif = {
|
||||||
name = "Libre Baskerville";
|
name = "Libre Baskerville";
|
||||||
package = pkgs.libre-baskerville;
|
package = pkgs.libre-baskerville;
|
||||||
};
|
};
|
||||||
monospace = {
|
monospace = {
|
||||||
name = "Atkinson Hyperlegible Mono";
|
name = "M+1Code Nerd Font Mono";
|
||||||
package = pkgs.atkinson-hyperlegible-mono;
|
package = pkgs.nerd-fonts."m+";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
autoEnable = true;
|
autoEnable = true;
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
blacklistedKernelModules = ["k10temp"];
|
blacklistedKernelModules = ["k10temp"];
|
||||||
extraModulePackages = [config.boot.kernelPackages.zenpower];
|
extraModulePackages = [config.boot.kernelPackages.zenpower];
|
||||||
kernelModules = ["zenpower"];
|
kernelModules = ["zenpower"];
|
||||||
|
kernelParams = ["microcode.amd_sha_check=off"];
|
||||||
};
|
};
|
||||||
services.ucodenix.enable = true;
|
services.ucodenix.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,5 +4,6 @@ _: {
|
||||||
grub.configurationLimit = 8;
|
grub.configurationLimit = 8;
|
||||||
systemd-boot.configurationLimit = 8;
|
systemd-boot.configurationLimit = 8;
|
||||||
};
|
};
|
||||||
|
lanzaboote.configurationLimit = 5;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
inputs,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.lists) singleton;
|
inherit (lib.lists) singleton;
|
||||||
|
|
@ -21,21 +20,21 @@ in {
|
||||||
monadoEnvironment = {
|
monadoEnvironment = {
|
||||||
XRT_COMPOSITOR_COMPUTE = "1";
|
XRT_COMPOSITOR_COMPUTE = "1";
|
||||||
};
|
};
|
||||||
package = pkgs.wivrn.overrideAttrs (old: rec {
|
package = pkgs.wivrn.overrideAttrs (_old: rec {
|
||||||
cudaSupport = true;
|
cudaSupport = true;
|
||||||
version = "84e5203be3019278925ac03708567f2982360f8a";
|
#version = "84e5203be3019278925ac03708567f2982360f8a";
|
||||||
src = pkgs.fetchFromGitHub {
|
#src = pkgs.fetchFromGitHub {
|
||||||
owner = "notpeelz";
|
# owner = "notpeelz";
|
||||||
repo = "WiVRn";
|
# repo = "WiVRn";
|
||||||
rev = version;
|
# rev = version;
|
||||||
# This will throw an error when evaluating and give you the correct hash - put that here
|
# # This will throw an error when evaluating and give you the correct hash - put that here
|
||||||
hash = "sha256-2s3j6vRtIRf6x+lQPobcuT1vzlCh1lMA54EUiCnxoFI=";
|
# hash = "sha256-2s3j6vRtIRf6x+lQPobcuT1vzlCh1lMA54EUiCnxoFI=";
|
||||||
};
|
#};
|
||||||
cmakeFlags =
|
#cmakeFlags =
|
||||||
old.cmakeFlags
|
# old.cmakeFlags
|
||||||
++ [
|
# ++ [
|
||||||
(lib.cmakeBool "WIVRN_FEATURE_SOLARXR" true)
|
# (lib.cmakeBool "WIVRN_FEATURE_SOLARXR" true)
|
||||||
];
|
# ];
|
||||||
});
|
});
|
||||||
defaultRuntime = true;
|
defaultRuntime = true;
|
||||||
config = {
|
config = {
|
||||||
|
|
@ -93,8 +92,8 @@ in {
|
||||||
'')
|
'')
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
slimevr
|
#slimevr
|
||||||
slimevr-server
|
#slimevr-server
|
||||||
inputs.slimevr-wrangler.packages.${pkgs.system}.slimevr-wrangler
|
#inputs.slimevr-wrangler.packages.${pkgs.system}.slimevr-wrangler
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
twitter-color-emoji
|
twitter-color-emoji
|
||||||
corefonts
|
corefonts
|
||||||
vistafonts
|
vista-fonts
|
||||||
open-dyslexic
|
open-dyslexic
|
||||||
ubuntu-sans
|
ubuntu-sans
|
||||||
monaspace
|
monaspace
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,12 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
boot.extraModulePackages = with config.boot.kernelPackages; [
|
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||||
v4l2loopback
|
# TODO: check if working post 2025-12-04
|
||||||
|
#v4l2loopback
|
||||||
];
|
];
|
||||||
programs.obs-studio = {
|
programs.obs-studio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableVirtualCamera = true;
|
#enableVirtualCamera = true;
|
||||||
plugins = with pkgs.obs-studio-plugins; [
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
#obs-vaapi
|
#obs-vaapi
|
||||||
#obs-tuna
|
#obs-tuna
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
imagemagick
|
imagemagick
|
||||||
];
|
];
|
||||||
services.udev.packages = [
|
services.udev.packages = [
|
||||||
pkgs.android-udev-rules
|
|
||||||
pkgs.zsa-udev-rules
|
pkgs.zsa-udev-rules
|
||||||
pkgs.via
|
pkgs.via
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@
|
||||||
fqdn = "rinnosuke.inskip.me";
|
fqdn = "rinnosuke.inskip.me";
|
||||||
domains = ["dork.dev"];
|
domains = ["dork.dev"];
|
||||||
|
|
||||||
|
fullTextSearch.enable = true;
|
||||||
|
|
||||||
# A list of all login accounts. To create the password hashes, use
|
# A list of all login accounts. To create the password hashes, use
|
||||||
# nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt'
|
# nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt'
|
||||||
loginAccounts = {
|
loginAccounts = {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
_: let
|
_: let
|
||||||
hostConfig = {
|
hostConfig = {
|
||||||
tree,
|
tree,
|
||||||
|
pkgs,
|
||||||
|
utils,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
|
|
@ -37,9 +39,9 @@ _: let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
swap = rec {
|
swap = rec {
|
||||||
raw = "/dev/disk/by-id/nvme-CT1000P5PSSD8_22343AC9A481-part2";
|
|
||||||
result = {
|
result = {
|
||||||
device = raw;
|
device = "/dev/mapper/cryptswap";
|
||||||
|
options = ["x-systemd.device-timeout=15s" "nofail" "x-systemd.wants=systemd-cryptsetup@cryptswap.service"];
|
||||||
randomEncryption = false; # fix hibernation
|
randomEncryption = false; # fix hibernation
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -54,8 +56,8 @@ _: let
|
||||||
quiet-boot
|
quiet-boot
|
||||||
wireless
|
wireless
|
||||||
laptop
|
laptop
|
||||||
gaming
|
|
||||||
performance
|
performance
|
||||||
|
secureboot
|
||||||
])
|
])
|
||||||
++ (with tree.nixos.environments; [
|
++ (with tree.nixos.environments; [
|
||||||
niri
|
niri
|
||||||
|
|
@ -88,19 +90,87 @@ _: let
|
||||||
datasetEntries
|
datasetEntries
|
||||||
// {
|
// {
|
||||||
"/boot" = drives.boot.result;
|
"/boot" = drives.boot.result;
|
||||||
|
"/boot-keystore" = {
|
||||||
|
#neededForBoot = true;
|
||||||
|
device = "/dev/mapper/boot-keystore";
|
||||||
|
fsType = "ext4";
|
||||||
|
noCheck = true;
|
||||||
|
options = ["ro"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.enableEmergencyMode = true;
|
||||||
|
boot.initrd = {
|
||||||
|
systemd = {
|
||||||
|
emergencyAccess = true;
|
||||||
|
mounts = let
|
||||||
|
inherit (utils) escapeSystemdPath;
|
||||||
|
# maybe add a require for the /dev/mapper
|
||||||
|
sysrooty = escapeSystemdPath "/sysroot";
|
||||||
|
requiredBy = [
|
||||||
|
"${sysrooty}.mount"
|
||||||
|
]; #"systemd-cryptsetup@cryptswap.service" ];
|
||||||
|
requires = ["systemd-cryptsetup@boot-keystore.service"];
|
||||||
|
in [
|
||||||
|
{
|
||||||
|
where = "/boot-keystore";
|
||||||
|
what = "/dev/mapper/boot-keystore";
|
||||||
|
type = "ext4";
|
||||||
|
options = "ro";
|
||||||
|
unitConfig = {
|
||||||
|
};
|
||||||
|
before = requiredBy;
|
||||||
|
wantedBy = requiredBy;
|
||||||
|
inherit requires;
|
||||||
|
after = requires;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
where = "/sysroot/boot-keystore";
|
||||||
|
what = "/boot-keystore";
|
||||||
|
type = "none";
|
||||||
|
options = "bind";
|
||||||
|
unitConfig = {
|
||||||
|
RequiresMountsFor = [
|
||||||
|
"/boot-keystore"
|
||||||
|
"/sysroot"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
luks.devices = {
|
||||||
|
"boot-keystore".device = "/dev/disk/by-uuid/d80f77bb-fd82-43dd-9aa4-05da8d2b6154";
|
||||||
|
"cryptswap" = {
|
||||||
|
device = "/dev/disk/by-uuid/94948ee7-8c89-4b60-bd8c-68171b488d19";
|
||||||
|
keyFile = "/boot-keystore/swapkey";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc.crypttab = let
|
||||||
|
raw = "/dev/disk/by-uuid/94948ee7-8c89-4b60-bd8c-68171b488d19";
|
||||||
|
in {
|
||||||
|
mode = "0600";
|
||||||
|
text = ''
|
||||||
|
cryptswap ${raw} /boot-keystore/swapkey keyfile-timeout=5s
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
#boot.resumeDevice = "/dev/mapper/cryptswap";
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
drives.swap.result
|
drives.swap.result
|
||||||
];
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.e2fsprogs
|
||||||
|
];
|
||||||
|
|
||||||
powerManagement.enable = true;
|
powerManagement.enable = true;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
grub.useOSProber = true;
|
|
||||||
#systemd-boot.enable = lib.mkForce false;
|
#systemd-boot.enable = lib.mkForce false;
|
||||||
systemd-boot.enable = true;
|
|
||||||
};
|
};
|
||||||
zfs = {
|
zfs = {
|
||||||
forceImportRoot = false;
|
forceImportRoot = false;
|
||||||
|
|
|
||||||
|
|
@ -93,8 +93,8 @@ resource "cloudflare_record" "webmail" {
|
||||||
proxied = false
|
proxied = false
|
||||||
ttl = 3600
|
ttl = 3600
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
value = "rinnosukeinskip.me"
|
value = "rinnosuke.inskip.me"
|
||||||
zone_id = local.zone_ids.kittywitch
|
zone_id = local.zone_ids.dork
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "dork_mail_mx" {
|
resource "cloudflare_record" "dork_mail_mx" {
|
||||||
|
|
@ -121,7 +121,7 @@ resource "cloudflare_record" "dork_mail_dkim" {
|
||||||
proxied = false
|
proxied = false
|
||||||
ttl = 10800
|
ttl = 10800
|
||||||
type = "TXT"
|
type = "TXT"
|
||||||
value = "v=DKIM1; k=rsa; s=email; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsfSxe5JNdrSyHoPuESnOles7KxP5NtHD60YZ7SXLANNkEb8/tSHmg4nGqLhqKrA7+gcrurjowibDYs4hAM/ozkMNch53n2ZVKRl1ExMSRAPlGl5ZNCGGYVuRQlTMGvek2tIp3GbxafGF6QWSG1sA63fI9pxGosf/qc3wX5gtHxmKB9jn1Q6d9SDuJN72StIRjl81zaJFQJswvKx5keNvbW9oOP/xBVFPbnNZq52f/MsIpo4R33Vk0CrFvj5lnEKh5t6Bx1XUpJnkzQE934h+x1B+ypLkAPpLw4VnbDBMNc/ZkGbfJuM9YsasoEYgeoAtWKkyJV2WKZfppo1pUtR7swIDAQAB"
|
value = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsfSxe5JNdrSyHoPuESnOles7KxP5NtHD60YZ7SXLANNkEb8/tSHmg4nGqLhqKrA7+gcrurjowibDYs4hAM/ozkMNch53n2ZVKRl1ExMSRAPlGl5ZNCGGYVuRQlTMGvek2tIp3GbxafGF6QWSG1sA63fI9pxGosf/qc3wX5gtHxmKB9jn1Q6d9SDuJN72StIRjl81zaJFQJswvKx5keNvbW9oOP/xBVFPbnNZq52f/MsIpo4R33Vk0CrFvj5lnEKh5t6Bx1XUpJnkzQE934h+x1B+ypLkAPpLw4VnbDBMNc/ZkGbfJuM9YsasoEYgeoAtWKkyJV2WKZfppo1pUtR7swIDAQAB"
|
||||||
zone_id = local.zone_ids.dork
|
zone_id = local.zone_ids.dork
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue