186 lines
6.8 KiB
Nix
186 lines
6.8 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, on
|
|
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
|
|
{ config, lib, pkgs, user, allowed, secrets, ... }:
|
|
|
|
{
|
|
imports =
|
|
[ # Include the results of the hardware scan.
|
|
./system-modules/hardware-configuration.nix
|
|
./system-modules/users.nix
|
|
./system-modules/sound.nix
|
|
./system-modules/ollama.nix
|
|
|
|
./system-modules/hsmw.nix
|
|
./system-modules/health_reminder.nix
|
|
./system-modules/davmail.nix
|
|
./system-modules/docker.nix
|
|
|
|
];
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
boot.loader.grub = {
|
|
enable = true;
|
|
configurationLimit = 30;
|
|
# device = "/dev/nvme0n1p1";
|
|
device = "nodev";
|
|
# useOSProber = true;
|
|
efiSupport = true;
|
|
# theme = "${(pkgs.fetchFromGitea {
|
|
# domain = "git.nx2.site";
|
|
# owner = "nx2";
|
|
# repo = "grub-theme-ascii-diana";
|
|
# rev = "0.1.0";
|
|
# hash = "sha256-uqhj77CX6EaqF9SBDRKS8dfwSVyR9wb9xG9St4gJmFA=";
|
|
# })
|
|
# }/out/
|
|
# ";
|
|
|
|
extraEntries = ''
|
|
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-0A97-7A2D' {
|
|
insmod part_gpt
|
|
insmod fat
|
|
search --no-floppy --fs-uuid --set=root 0A97-7A2D
|
|
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
|
|
}
|
|
menuentry 'Arch Linux (on /dev/nvme0n1p5)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-0c11547f-0294-419b-93d0-45c6d1f1c546' {
|
|
insmod part_gpt
|
|
insmod ext2
|
|
search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546
|
|
linux /boot/vmlinuz-linux-lts root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0
|
|
initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img
|
|
}
|
|
submenu 'Advanced options for Arch Linux (on /dev/nvme0n1p5)' $menuentry_id_option 'osprober-gnulinux-advanced-0c11547f-0294-419b-93d0-45c6d1f1c546' {
|
|
menuentry 'Arch Linux (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-lts--0c11547f-0294-419b-93d0-45c6d1f1c546' {
|
|
insmod part_gpt
|
|
insmod ext2
|
|
search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546
|
|
linux /boot/vmlinuz-linux-lts root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0
|
|
initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img
|
|
}
|
|
menuentry 'Arch Linux, with Linux linux-lts (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-lts--0c11547f-0294-419b-93d0-45c6d1f1c546' {
|
|
insmod part_gpt
|
|
insmod ext2
|
|
search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546
|
|
linux /boot/vmlinuz-linux-lts root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0
|
|
initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img
|
|
}
|
|
menuentry 'Arch Linux, with Linux linux-lts (fallback initramfs) (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux-lts--0c11547f-0294-419b-93d0-45c6d1f1c546' {
|
|
insmod part_gpt
|
|
insmod ext2
|
|
search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546
|
|
linux /boot/vmlinuz-linux-lts root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0
|
|
initrd /boot/intel-ucode.img /boot/initramfs-linux-lts-fallback.img
|
|
}
|
|
menuentry 'Arch Linux, with Linux linux (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--0c11547f-0294-419b-93d0-45c6d1f1c546' {
|
|
insmod part_gpt
|
|
insmod ext2
|
|
search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546
|
|
linux /boot/vmlinuz-linux root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0
|
|
initrd /boot/intel-ucode.img /boot/initramfs-linux.img
|
|
}
|
|
menuentry 'Arch Linux, with Linux linux (fallback initramfs) (on /dev/nvme0n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--0c11547f-0294-419b-93d0-45c6d1f1c546' {
|
|
insmod part_gpt
|
|
insmod ext2
|
|
search --no-floppy --fs-uuid --set=root 0c11547f-0294-419b-93d0-45c6d1f1c546
|
|
linux /boot/vmlinuz-linux root=UUID=0c11547f-0294-419b-93d0-45c6d1f1c546 rw loglevel=3 quiet splash snd_hda_intel.dmic_detect=0
|
|
initrd /boot/intel-ucode.img /boot/initramfs-linux-fallback.img
|
|
}
|
|
}
|
|
'';
|
|
};
|
|
|
|
|
|
networking.hostName = "NxXPS";
|
|
|
|
networking.networkmanager = {
|
|
enable = true;
|
|
};
|
|
|
|
|
|
|
|
# Set your time zone.
|
|
time.timeZone = "Europe/Berlin";
|
|
|
|
# Select internationalisation properties.
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
console.font = "Lat2-Terminus16";
|
|
console.keyMap = "de";
|
|
|
|
# Enable the X11 windowing system.
|
|
services.xserver.enable = true;
|
|
|
|
# Configure keymap in X11
|
|
services.xserver.xkb.layout = "de";
|
|
services.xserver.xkb.options = "eurosign:e,caps:escape";
|
|
|
|
# Enable CUPS to print documents.
|
|
services.printing.enable = true;
|
|
|
|
# rtkit is optional but recommended
|
|
security.rtkit.enable = true;
|
|
|
|
# Enable touchpad support (enabled default in most desktopManager).
|
|
services.xserver.libinput.enable = true;
|
|
hardware.uinput.enable = true;
|
|
|
|
# log into this machine
|
|
services.openssh.enable = false;
|
|
|
|
|
|
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
|
hardware.bluetooth.powerOnBoot = true; #
|
|
services.blueman.enable = true;
|
|
|
|
|
|
# List packages installed in system profile. To search, run:
|
|
# $ nix search wget
|
|
environment.systemPackages = with pkgs; [
|
|
ntfs3g
|
|
git
|
|
git-crypt
|
|
wget
|
|
curl
|
|
zip
|
|
unzip
|
|
p7zip
|
|
unar
|
|
nano
|
|
micro
|
|
htop
|
|
direnv
|
|
openssl
|
|
blueman
|
|
];
|
|
|
|
fonts.packages = with pkgs; [
|
|
noto-fonts
|
|
noto-fonts-cjk
|
|
noto-fonts-emoji
|
|
atkinson-hyperlegible
|
|
(nerdfonts.override { fonts = [ "CascadiaCode" ]; })
|
|
|
|
];
|
|
|
|
programs.gnupg.agent = {
|
|
enable = true;
|
|
enableSSHSupport = true;
|
|
};
|
|
|
|
|
|
programs.hyprland = { # config is done with home-manager
|
|
enable = true;
|
|
xwayland.enable = true;
|
|
};
|
|
|
|
system.stateVersion = "23.11";
|
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
|
|
|
|
programs.bash.shellInit = ''
|
|
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
|
|
'';
|
|
}
|