nix-configs/hosts/monosodium-glutamate-g/configuration.nix

149 lines
3.7 KiB
Nix
Raw Permalink Normal View History

2022-08-02 09:55:12 +02:00
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{pkgs, ...}: {
2022-08-02 09:55:12 +02:00
imports = [
./hardware-configuration.nix
../../common.nix
../../modules
2022-08-02 09:55:12 +02:00
];
2023-09-25 19:24:42 +02:00
# nixpkgs = {
# overlays = [
# (self: super: {
# linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override {
# structuredExtraConfig = with lib.kernel; {
# "FB" = yes;
# "FRAMEBUFFER_CONSOLE" = yes;
# "VGA_CONSOLE" = yes;
# "VIDEO_SELECT" = yes;
# LOGO = lib.mkForce yes;
# LOGO_LINUX_CLUT224 = yes;
# };
# ignoreConfigErrors = true;
# });
# })
# ];
# };
2022-08-12 12:14:32 +02:00
jade = {
flatpak.enable = true;
2023-02-14 20:42:51 +01:00
desktop = {
compositing.enable = true;
syncthing.enable = true;
kdeconnect.enable = true;
cloud.enable = true;
social.enable = true;
gaming.enable = true;
mail.enable = true;
2023-11-20 19:43:38 +01:00
evremap.enable = false;
2023-02-14 20:42:51 +01:00
};
2022-09-02 08:40:33 +02:00
terminal.enable = true;
2022-08-12 12:14:32 +02:00
};
2023-05-14 12:07:54 +02:00
boot = {
loader = {
# Use the systemd-boot EFI boot loader.
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
2023-05-14 12:07:54 +02:00
};
# latest linux kernel
#boot.kernelPackages = pkgs.linuxPackages_latest;
#boot.kernelPackages = pkgs.linux_zen_xeniafied;
2023-09-25 19:47:34 +02:00
kernelPackages = pkgs.linuxPackages_zen;
# boot.kernelPatches = [
2023-09-25 19:24:42 +02:00
# {
# name = "fomx";
# patch = ../other/0001-fomx.patch;
# }
2023-09-25 19:24:42 +02:00
# ];
2022-08-02 09:55:12 +02:00
binfmt.emulatedSystems = ["aarch64-linux"];
2023-05-14 12:07:54 +02:00
};
2023-05-14 12:07:54 +02:00
networking.hostName = "monosodium-glutamate-g";
services = {
# monitor control
ddccontrol.enable = true;
xserver = {
layout = "us";
xkbVariant = "altgr-intl";
enable = true;
2023-05-14 12:07:54 +02:00
};
2022-08-02 09:55:12 +02:00
2023-05-14 12:07:54 +02:00
openssh.settings.PermitRootLogin = "without-password";
2022-08-02 09:55:12 +02:00
2023-05-14 12:07:54 +02:00
blueman.enable = true;
2023-01-08 22:22:48 +01:00
2023-05-14 12:07:54 +02:00
gnome.gnome-keyring.enable = true;
};
hardware = {
bluetooth.enable = true;
keyboard.uhk.enable = true;
enableRedistributableFirmware = true;
};
2022-08-02 09:55:12 +02:00
2024-02-18 12:40:52 +01:00
security.pam.services.jade.u2fAuth = true;
programs.i3lock.u2fSupport = true;
security.pam.u2f = {
enable = true;
cue = true;
control = "sufficient";
authFile = "/home/jade/.ssh/u2f_keys";
};
2022-08-02 09:55:12 +02:00
# missing: menu-qalc picom-jonaburg
environment.systemPackages = with pkgs; [
# TODO: clean up.
libGL
2023-03-20 23:40:08 +01:00
libreoffice-fresh
wireshark
2023-05-25 09:03:43 +02:00
awesomebump
zenstates
zenmonitor
nvtop-amd
radeontop
rgp
2023-05-12 16:24:22 +02:00
tea
2023-05-25 09:03:43 +02:00
blender-hip
2022-08-02 09:55:12 +02:00
];
2023-05-14 12:07:54 +02:00
programs = {
wireshark.enable = true;
seahorse.enable = true;
};
2022-08-02 09:55:12 +02:00
environment.pathsToLink = [
"/share/nix-direnv"
];
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-12-13 18:55:21 +01:00
2023-02-26 21:47:04 +01:00
systemd.services = {
create-swapfile = {
serviceConfig.Type = "oneshot";
wantedBy = ["swap-swapfile.swap"];
2023-02-26 21:47:04 +01:00
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-08-02 09:55:12 +02:00
# release channel
system.stateVersion = "22.05"; # Did you read the comment?
}