nix-configs/potatobook-g/configuration.nix
2022-11-10 19:49:28 +01:00

150 lines
3.7 KiB
Nix

{ inputs, config, pkgs, ... }:
{
imports = [
# ./t2.nix
# "${builtins.fetchGit { url = "https://github.com/kekrby/nixos-hardware.git"; }}/apple/t2"
./hardware-configuration.nix
../common.nix
inputs.mms.module
];
# 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;
terminal.enable = true;
neovim.enable = true;
zsh.enable = true;
};
fileSystems = {
"/".options = [ "compress=zstd:3" ];
"/home".options = [ "compress=zstd:3" ];
"/nix".options = [ "compress=zstd:3" "noatime" ];
#"/swap".options = [ "noatime" ];
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.networkmanager.enable = true;
networking.hostName = "potatobook-g";
services.xserver = {
resolutions = [ { x = 1920; y = 1200; } ];
# dpi = 180;
layout = "us";
xkbVariant = "altgr-intl";
libinput = {
enable = true;
};
};
services.autorandr = {
enable = true;
profiles = {
"default" = {
config = {
"eDP-1" = {
enable = true;
mode = "1920x1200";
};
};
};
};
};
# environment.variables = {
# GDK_SCALE = "2";
# GDK_DPI_SCALE = "0.5";
# _JAVA_OPTIONS = "-Dsun.java2d.uiScale=2";
# };
hardware.bluetooth.enable = true;
hardware.keyboard.uhk.enable = true;
# missing: menu-qalc picom-jonaburg
environment.systemPackages = with pkgs; [
# TODO: clean up.
];
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;
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 = {
standard-server = {
enable = true;
jvmMaxAllocation = "7G";
jvmInitialAllocation = "2G";
serverConfig = {
# Port must be unique
server-port = 8080;
motd = "Hello world";
};
};
};
};
# i rly should put that important big comment back here
system.stateVersion = "22.11"; # Did you read the comment?
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
'';
};
};
#fileSystems."/swap" = {
# device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
# fsType = "btrfs";
# options = [ "subvol=swap" "noatime" ];
#};
}