this configuration currently will build 2 hosts, apollo and absolution, however these are not completed yet, they will build using alyx configs for niri, etc and alyx git settings. this will be fixed in due course. todo: add all hosts to flake.nix, add in waybar configuration for maya, change keyboard layout based on username for gb on alyx and us on maya, configuration comb through, add in files like firewall.nix and monado.nix, and generally complete home manager configuration

This commit is contained in:
cydiralis 2025-06-25 04:05:38 +01:00
parent b43b8f0464
commit 2a4af3bd83
No known key found for this signature in database
36 changed files with 3418 additions and 17 deletions

View file

@ -0,0 +1,173 @@
# 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).
{ config, pkgs, lib, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
nix.package = pkgs.lix;
services.desktopManager.plasma6.enable = true;
jovian.devices.steamdeck.enable = true;
jovian.steam.autoStart = true;
jovian.steam.enable = true;
jovian.steam.user = "alyx";
jovian.steam.desktopSession = "plasma";
jovian.devices.steamdeck.autoUpdate = true;
programs = {
adb.enable = true;
firefox.enable = true;
fish.enable = true;
flashrom.enable = true;
nix-ld.enable = true;
nix-ld.libraries = with pkgs; [xorg.libxcb libao xorg.libX11 libusb1 cargo rustc pkg-config cacert];
};
services.journald.extraConfig = ''
SystemMaxUse=2G
'';
hardware.steam-hardware.enable = true;
services.tailscale = {
enable = true;
useRoutingFeatures = "both";
};
boot.supportedFilesystems = ["exfat" "ntfs" "xfs"];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.systemd.enable = true;
boot.initrd.kernelModules = [ "amdgpu" ];
boot.loader.efi.efiSysMountPoint = "/boot/";
networking.hostName = "patio"; # Define your hostname.
powerManagement.cpuFreqGovernor = "performance";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [libvdpau-va-gl vaapiVdpau vulkan-validation-layers rocmPackages.clr.icd];
};
hardware.amdgpu = {
opencl.enable = true;
initrd.enable = true;
amdvlk.supportExperimental.enable = true;
amdvlk.support32Bit.enable = true;
amdvlk.enable = true;
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
networking.networkmanager = {
enable = true;
wifi.backend = "iwd";
};
# Set your time zone.
time.timeZone = "Europe/London";
# Select internationalisation properties.
i18n.defaultLocale = "en_GB.UTF-8";
services.udisks2.enable = true;
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
programs.dconf.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
services.printing.drivers = [pkgs.gutenprint];
security = {
rtkit.enable = true;
};
# Enable sound with pipewire.
services.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
jack.enable = true;
};
# Define a user account. Don't forget to set a password with passwd.
users.users.alyx = {
isNormalUser = true;
description = "Alyx";
extraGroups = [ "networkmanager" "wheel" "camera" ];
packages = with pkgs; [
];
};
services.libinput.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
wget
neovim
cbfstool
git
keepassxc
pulseaudio
steamdeck-firmware
jupiter-dock-updater-bin
winetricks
p7zip
cabextract
unzip
wineWowPackages.stable
(pkgs.python3.withPackages (ps: with ps; [tkinter]))
];
system.stateVersion = "24.11"; # Did you read the comment?
}