147 lines
3.5 KiB
Nix
147 lines
3.5 KiB
Nix
# 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, ... }:
|
||
{
|
||
imports = [
|
||
./hardware-configuration.nix
|
||
../../common.nix
|
||
../../modules
|
||
];
|
||
|
||
# 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;
|
||
# });
|
||
# })
|
||
# ];
|
||
# };
|
||
|
||
jade = {
|
||
flatpak.enable = true;
|
||
desktop = {
|
||
compositing.enable = true;
|
||
syncthing.enable = true;
|
||
kdeconnect.enable = true;
|
||
cloud.enable = true;
|
||
social.enable = true;
|
||
gaming.enable = true;
|
||
ios-compat.enable = true;
|
||
mail.enable = true;
|
||
};
|
||
terminal.enable = true;
|
||
};
|
||
boot = {
|
||
loader = {
|
||
|
||
# Use the systemd-boot EFI boot loader.
|
||
systemd-boot.enable = true;
|
||
efi.canTouchEfiVariables = true;
|
||
};
|
||
# latest linux kernel
|
||
#boot.kernelPackages = pkgs.linuxPackages_latest;
|
||
#boot.kernelPackages = pkgs.linux_zen_xeniafied;
|
||
kernelPackages = pkgs.linuxPackages_zen;
|
||
# boot.kernelPatches = [
|
||
# {
|
||
# name = "fomx";
|
||
# patch = ../other/0001-fomx.patch;
|
||
# }
|
||
# ];
|
||
|
||
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||
};
|
||
|
||
networking.hostName = "monosodium-glutamate-g";
|
||
services = {
|
||
|
||
# monitor control
|
||
ddccontrol.enable = true;
|
||
xserver = {
|
||
|
||
layout = "us";
|
||
xkbVariant = "altgr-intl";
|
||
enable = true;
|
||
};
|
||
|
||
openssh.settings.PermitRootLogin = "without-password";
|
||
|
||
blueman.enable = true;
|
||
|
||
gnome.gnome-keyring.enable = true;
|
||
};
|
||
hardware = {
|
||
|
||
bluetooth.enable = true;
|
||
keyboard.uhk.enable = true;
|
||
enableRedistributableFirmware = true;
|
||
};
|
||
|
||
# missing: menu-qalc picom-jonaburg
|
||
environment.systemPackages = with pkgs; [
|
||
# TODO: clean up.
|
||
libGL
|
||
libreoffice-fresh
|
||
wireshark
|
||
awesomebump
|
||
|
||
zenstates zenmonitor
|
||
nvtop-amd
|
||
radeontop
|
||
rgp
|
||
tea
|
||
blender-hip
|
||
];
|
||
programs = {
|
||
corectrl.enable = true;
|
||
wireshark.enable = true;
|
||
seahorse.enable = true;
|
||
};
|
||
|
||
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;
|
||
|
||
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
|
||
'';
|
||
};
|
||
};
|
||
|
||
# release channel
|
||
system.stateVersion = "22.05"; # Did you read the comment?
|
||
}
|
||
|
||
|
||
|