107 lines
2.4 KiB
Nix
107 lines
2.4 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
# OS Configuration
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.systemd-boot.extraEntries = {
|
|
"fedora.conf" = ''
|
|
title Fedora
|
|
efi /EFI/fedora/grubx64.efi
|
|
'';
|
|
};
|
|
boot.loader.systemd-boot.configurationLimit = 10;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
boot.plymouth.enable = true;
|
|
|
|
boot.supportedFilesystems = [ "ntfs" ];
|
|
|
|
fileSystems = {
|
|
"/".options = [ "compress=zstd:1" ];
|
|
"/home".options = [ "compress=zstd:1" ];
|
|
"/nix".options = [ "compress=zstd:1" "noatime" ];
|
|
};
|
|
|
|
zramSwap.enable = true;
|
|
|
|
# Firmware
|
|
services.fwupd.enable = true;
|
|
services.fprintd.enable = true;
|
|
|
|
# Time
|
|
time.timeZone = "Europe/Paris";
|
|
|
|
# Keyboard & Touchpad
|
|
i18n.defaultLocale = "fr_FR.UTF-8";
|
|
console = {
|
|
font = "Lat2-Terminus16";
|
|
#keyMap = "fr";
|
|
useXkbConfig = true;
|
|
};
|
|
|
|
services.xserver.xkb.layout = "fr";
|
|
services.xserver.xkb.variant = "oss";
|
|
|
|
services.xserver.libinput.enable = true;
|
|
|
|
# Printing
|
|
services.printing.enable = true;
|
|
services.avahi.enable = true;
|
|
services.avahi.nssmdns4 = true;
|
|
services.avahi.openFirewall = true;
|
|
|
|
# Shell
|
|
programs.fish.enable = true;
|
|
programs.fish.promptInit = ''
|
|
any-nix-shell fish --info-right | source
|
|
'';
|
|
environment.shells = with pkgs; [ fish ];
|
|
|
|
# # Environment Variables
|
|
# environment.sessionVariables = {
|
|
# ELECTRON_OZONE_PLATFORM_HINT = "wayland";
|
|
# GTK_USE_PORTAL = "1";
|
|
# };
|
|
|
|
# Graphics
|
|
services.xserver.enable = true;
|
|
programs.xwayland.enable = true;
|
|
|
|
services.xserver.displayManager.gdm.enable = true;
|
|
services.xserver.desktopManager.gnome.enable = true;
|
|
|
|
programs.dconf.enable = true;
|
|
|
|
services.flatpak.enable = true;
|
|
|
|
services.joycond.enable = true;
|
|
|
|
# Sound
|
|
sound.enable = false;
|
|
hardware.pulseaudio.enable = false;
|
|
security.rtkit.enable = true;
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
#jack.enable = true;
|
|
};
|
|
|
|
# Documentation
|
|
documentation.enable = true;
|
|
documentation.man.enable = true;
|
|
documentation.dev.enable = true;
|
|
documentation.nixos.enable = true;
|
|
|
|
# Virtualisation
|
|
virtualisation.libvirtd.enable = true;
|
|
|
|
# Containers
|
|
virtualisation.containers.enable = true;
|
|
virtualisation.podman = {
|
|
enable = true;
|
|
dockerCompat = true;
|
|
defaultNetwork.settings.dns_enabled = true;
|
|
extraPackages = [ pkgs.zfs ];
|
|
};
|
|
}
|