nix-configs/potatobook-g/configuration.nix

202 lines
5.1 KiB
Nix
Raw Normal View History

2022-10-23 13:29:27 +00:00
{ inputs, config, pkgs, ... }:
2022-08-31 20:49:48 +00:00
{
2022-12-13 17:57:27 +00:00
nix.settings = {
trusted-substituters = [
"https://t2linux.cachix.org"
];
trusted-public-keys = [
"t2linux.cachix.org-1:P733c5Gt1qTcxsm+Bae0renWnT8OLs0u9+yfaK2Bejw="
];
};
2022-08-31 20:49:48 +00:00
imports = [
# ./t2.nix
2022-09-01 07:03:08 +00:00
# "${builtins.fetchGit { url = "https://github.com/kekrby/nixos-hardware.git"; }}/apple/t2"
2022-08-31 23:35:08 +00:00
./hardware-configuration.nix
2022-08-31 20:49:48 +00:00
../common.nix
2022-10-23 13:29:27 +00:00
inputs.mms.module
2022-08-31 20:49:48 +00:00
];
# boot.supportedFilesystems = pkgs.lib.mkForce [ "ext4" "btrfs" "squashfs" ];
# networking.wireless.enable = pkgs.lib.mkForce false;
# services.xserver.displayManager.autoLogin.user = pkgs.lib.mkForce "jade";
# users.users.jade = pkgs.lib.mkForce {
# isNormalUser = true;
# extraGroups = [ "wheel" "input" "uinput" "libvirtd" ];
# packages = with pkgs; [
# ];
# };
jade = {
desktop.enable = true;
desktop.compositing = true;
2022-09-01 17:48:22 +00:00
terminal.enable = true;
2022-09-01 19:23:12 +00:00
neovim.enable = true;
2022-09-02 15:07:30 +00:00
zsh.enable = true;
2022-08-31 20:49:48 +00:00
};
2022-09-02 08:33:55 +00:00
fileSystems = {
"/".options = [ "compress=zstd:3" ];
"/home".options = [ "compress=zstd:3" ];
"/nix".options = [ "compress=zstd:3" "noatime" ];
#"/swap".options = [ "noatime" ];
};
2022-09-01 07:03:08 +00:00
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
2022-08-31 23:35:08 +00:00
2022-09-01 07:03:08 +00:00
networking.networkmanager.enable = true;
2022-08-31 20:49:48 +00:00
networking.hostName = "potatobook-g";
2022-09-01 17:48:22 +00:00
services.xserver = {
resolutions = [ { x = 1920; y = 1200; } ];
# dpi = 180;
layout = "us";
xkbVariant = "altgr-intl";
};
services.autorandr = {
enable = true;
profiles = {
"default" = {
config = {
2022-09-26 10:57:45 +00:00
"eDP-1" = {
enable = true;
mode = "1920x1200";
};
};
2022-09-01 17:48:22 +00:00
};
};
};
# environment.variables = {
# GDK_SCALE = "2";
# GDK_DPI_SCALE = "0.5";
# _JAVA_OPTIONS = "-Dsun.java2d.uiScale=2";
# };
2022-08-31 20:49:48 +00:00
hardware.bluetooth.enable = true;
2022-12-13 17:57:27 +00:00
hardware.keyboard.uhk.enable = true;
2022-08-31 20:49:48 +00:00
2022-09-01 17:48:22 +00:00
2022-08-31 20:49:48 +00:00
# missing: menu-qalc picom-jonaburg
environment.systemPackages = with pkgs; [
# TODO: clean up.
2022-12-13 17:57:27 +00:00
miraclecast
2022-08-31 20:49:48 +00:00
];
environment.pathsToLink = [
"/share/nix-direnv"
];
services.blueman.enable = true;
services.gnome.gnome-keyring.enable = true;
programs.seahorse.enable = true;
security.pam.services.jade.enableGnomeKeyring = true;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# networking.firewall.allowedTCPPorts = [ 4713 ];
systemd.services."NetworkManager-wait-online".enable = false;
2022-10-23 13:29:27 +00:00
services.modded-minecraft-servers = {
# This is mandatory, sorry.
eula = true;
# The name will be used for the state folder and system user.
# In this case, the folder is `/var/lib/mc-e2es`
# and the user `mc-e2es`.
instances = {
2022-11-01 17:22:53 +00:00
e2es = {
2022-10-23 13:29:27 +00:00
enable = true;
jvmMaxAllocation = "7G";
jvmInitialAllocation = "2G";
2022-11-01 17:22:53 +00:00
rsyncSSHKeys = [ "" ];
2022-10-23 13:29:27 +00:00
serverConfig = {
# Port must be unique
2022-11-01 17:22:53 +00:00
white-list = true;
spawn-protection = 0;
max-tick-time = 5 * 60 * 1000;
allow-flight = true;
2022-10-23 13:29:27 +00:00
server-port = 8080;
motd = "Hello world";
};
};
};
};
2022-08-31 23:35:08 +00:00
# i rly should put that important big comment back here
system.stateVersion = "22.11"; # Did you read the comment?
2022-09-26 17:30:27 +00:00
systemd.services = {
create-swapfile = {
serviceConfig.Type = "oneshot";
wantedBy = [ "swap-swapfile.swap" ];
script = ''
swapfile="/swap/swapfile"
if [[ -f "$swapfile" ]]; then
echo "Swap file $swapfile already exists, taking no action"
else
echo "Setting up swap file $swapfile"
${pkgs.coreutils}/bin/truncate -s 0 "$swapfile"
${pkgs.e2fsprogs}/bin/chattr +C "$swapfile"
fi
'';
};
};
2022-12-13 17:57:27 +00:00
services.logind.extraConfig = ''
RuntimeDirectorySize=12G
'';
2022-12-01 17:26:43 +00:00
networking = {
#nameservers = [
#"192.168.8.205"
#];
wireguard = {
enable = true;
interfaces = {
wg-maxim-vpn = {
privateKey = "CLcq8sCnusXz0jFHz6ODAZBD2Sn2vb9a5BCfbQGrrXk=";
listenPort = 21124;
ips = [
"10.0.0.4/32"
];
peers = [
{
allowedIPs = [
"10.0.0.0/24"
"192.168.8.0/24"
#"0.0.0.0/0"
"::/0"
];
endpoint = "vpn.local.germannr4.com:51820";
persistentKeepalive = 25;
publicKey = "coP4Hh1smQvVI52ftZFyPfmzvsKZcT/hHa8zHMrlZwE=";
}
];
};
};
};
};
2022-09-26 17:30:27 +00:00
#fileSystems."/swap" = {
# device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
# fsType = "btrfs";
# options = [ "subvol=swap" "noatime" ];
#};
2023-01-08 18:50:38 +00:00
systemd.services.nix-daemon.environment.NIX_SSHOPTS = let
knownHosts = pkgs.writeText "known-hosts" ''
${builtins.readFile ../secret-data/ssh-desktop-knownhosts-thingies}
'';
in "-oIdentityFile=/home/jade/.ssh/id_rsa -oUserKnownHostsFile=/home/jade/.ssh/known_hosts";
2022-08-31 20:49:48 +00:00
}
2022-09-02 15:07:30 +00:00