Moving thinker back to nixos
This commit is contained in:
parent
1364e4b6e9
commit
78c2222162
|
@ -1,4 +1,83 @@
|
|||
{
|
||||
standardWithHibernateSwap = {
|
||||
disks ? ["/dev/sda"],
|
||||
swapSize,
|
||||
...
|
||||
}: {
|
||||
# this is my standard partitioning scheme for my machines which probably want hibernation capabilities
|
||||
# a UEFI-compatible boot partition
|
||||
# it includes an LUKS-encrypted btrfs volume
|
||||
# a swap partition big enough to dump all the machine's RAM into
|
||||
|
||||
# this is my standard partitioning scheme for my machines: an LUKS-encrypted
|
||||
# btrfs volume
|
||||
disko.devices = {
|
||||
disk = {
|
||||
primary = {
|
||||
type = "disk";
|
||||
device = builtins.elemAt disks 0;
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
label = "EFI";
|
||||
name = "ESP";
|
||||
size = "1G";
|
||||
type = "EF00";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
mountOptions = [
|
||||
"defaults"
|
||||
];
|
||||
};
|
||||
};
|
||||
swap = {
|
||||
size = swapSize;
|
||||
content = {
|
||||
type = "swap";
|
||||
discardPolicy = "both";
|
||||
resumeDevice = true; # resume from hiberation from this device
|
||||
};
|
||||
};
|
||||
luks = {
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "luks";
|
||||
name = "crypted";
|
||||
extraOpenArgs = ["--allow-discards"];
|
||||
# if you want to use the key for interactive login be sure there is no trailing newline
|
||||
# for example use `echo -n "password" > /tmp/secret.key`
|
||||
keyFile = "/tmp/secret.key"; # Interactive
|
||||
# settings.keyFile = "/tmp/password.key";
|
||||
# additionalKeyFiles = ["/tmp/additionalSecret.key"];
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = ["-f"];
|
||||
subvolumes = {
|
||||
"/root" = {
|
||||
mountpoint = "/";
|
||||
mountOptions = ["compress=zstd" "noatime"];
|
||||
};
|
||||
"/home" = {
|
||||
mountpoint = "/home";
|
||||
mountOptions = ["compress=zstd" "noatime"];
|
||||
};
|
||||
"/nix" = {
|
||||
mountpoint = "/nix";
|
||||
mountOptions = ["compress=zstd" "noatime"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
standard = {disks ? ["/dev/vda"], ...}: {
|
||||
# this is my standard partitioning scheme for my machines: an LUKS-encrypted
|
||||
# btrfs volume
|
||||
|
|
21
flake.nix
21
flake.nix
|
@ -281,6 +281,7 @@
|
|||
common
|
||||
password-manager
|
||||
graphical-workstation
|
||||
music-production
|
||||
laptop
|
||||
gaming
|
||||
|
||||
|
@ -329,8 +330,28 @@
|
|||
thinker = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = with nixosModules; [
|
||||
outputs.diskoConfigurations.standard
|
||||
inputs.hardware.nixosModules.lenovo-thinkpad-t480
|
||||
inputs.hardware.nixosModules.common-pc-laptop-ssd
|
||||
|
||||
music-production
|
||||
common
|
||||
password-manager
|
||||
graphical-workstation
|
||||
laptop
|
||||
gaming
|
||||
|
||||
./nixos/thinker.nix
|
||||
|
||||
{
|
||||
home-manager.users.daniel = {
|
||||
imports = with homeManagerModules; [
|
||||
iex
|
||||
cargo
|
||||
linux-desktop-environment-config
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
in {
|
||||
donokai = mkColorScheme {
|
||||
scheme-name = "donokai";
|
||||
bg = "111111";
|
||||
bg = "110f0a";
|
||||
bg2 = "181818";
|
||||
bg3 = "222222";
|
||||
bg4 = "292929";
|
||||
|
|
|
@ -1,42 +1,6 @@
|
|||
{
|
||||
inputs,
|
||||
outputs,
|
||||
lib,
|
||||
# config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{...}: {
|
||||
networking.hostName = "thinker";
|
||||
|
||||
imports = with outputs.nixosModules; [
|
||||
outputs.diskoConfigurations.thinker
|
||||
inputs.hardware.nixosModules.lenovo-thinkpad-t480
|
||||
inputs.hardware.nixosModules.common-pc-laptop-ssd
|
||||
desktop-usage
|
||||
music-production
|
||||
podman
|
||||
# gnome
|
||||
kde-plasma
|
||||
postgres
|
||||
wifi
|
||||
];
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
spotify
|
||||
discord
|
||||
slack
|
||||
godot_4
|
||||
fractal
|
||||
prismlauncher
|
||||
variety
|
||||
radeontop
|
||||
sops
|
||||
obs-studio
|
||||
xh
|
||||
];
|
||||
};
|
||||
|
||||
boot = {
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
|
@ -46,68 +10,9 @@
|
|||
# the above won't work for btrfs, instead you need
|
||||
# btrfs inspect-internal map-swapfile -r /swap/swapfile
|
||||
# https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file
|
||||
kernelParams = ["boot.shell_on_fail" "resume_offset=22816000"];
|
||||
kernelParams = ["boot.shell_on_fail"];
|
||||
initrd.availableKernelModules = ["xhci_pci" "nvme" "ahci"];
|
||||
};
|
||||
services.tlp = {
|
||||
enable = false;
|
||||
};
|
||||
services.power-profiles-daemon.enable = true;
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
services.printing.enable = true; # I own a printer in the year of our Lord 2023
|
||||
|
||||
home-manager.users.daniel = {
|
||||
imports = with outputs.homeManagerModules; [
|
||||
sway
|
||||
password-manager
|
||||
firefox-no-tabs
|
||||
# wallpaper-manager
|
||||
# sway-laptop
|
||||
# hyprland
|
||||
];
|
||||
|
||||
home = {
|
||||
stateVersion = "24.05";
|
||||
};
|
||||
|
||||
services.mako.enable = lib.mkForce false; # don't use mako when using plasma
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
# TODO: move this to disko?
|
||||
# sudo btrfs subvolume create /swap
|
||||
# sudo btrfs filesystem mkswapfile --size 32g --uuid clear /swap/swapfile
|
||||
# sudo swapon /swap/swapfile
|
||||
{device = "/swap/swapfile";}
|
||||
];
|
||||
|
||||
# findmnt -no UUID -T /swap/swapfile
|
||||
boot.resumeDevice = "/dev/disk/by-uuid/aacd6814-a5a2-457a-bf65-8d970cb1f03d";
|
||||
|
||||
# services.logind = {
|
||||
# lidSwitch = "suspend-then-hibernate";
|
||||
# extraConfig = ''
|
||||
# HandlePowerKey=suspend-then-hibernate
|
||||
# IdleAction=suspend-then-hibernate
|
||||
# IdleActionSec=10m
|
||||
# HandleLidSwitchDocked=ignore
|
||||
# '';
|
||||
# };
|
||||
# systemd.sleep.extraConfig = "HibernateDelaySec=30m";
|
||||
|
||||
networking = {
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowPing = true;
|
||||
allowedTCPPorts = [22];
|
||||
allowedUDPPorts = [];
|
||||
};
|
||||
};
|
||||
|
||||
# networking.networkmanager.enable = false;
|
||||
# systemd.services.NetworkManager-wait-online.enable = lib.mkDefault false;
|
||||
# networking.wireless.iwd.enable = true;
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue