# 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`). { lib, pkgs, ... }: let pkgsVersion = pkgs; #.unstable; environmentVariables = { STEAM_FORCE_DESKTOPUI_SCALING = "1.0"; GDK_SCALE = "1"; EDITOR = "${pkgs.vscodium}/bin/codium --wait"; VISUAL = "${pkgs.vscodium}/bin/codium --wait"; }; systemPackages = with pkgsVersion; [ acpilight aha aspell aspellDicts.en aspellDicts.en-computers aspellDicts.en-science borgbackup brightnessctl # brscan5 ddcui ddcutil ddccontrol ddccontrol-db efibootmgr kdePackages.ksvg memtest86-efi memtest86plus # occt os-prober nil qemu_full rclone rclone-browser restic restic-browser restic-integrity sane-frontends sbctl tpm2-tools tpm2-tss udisks2 unzip winetricks ]; lactConfig = '' daemon: log_level: info admin_groups: - wheel - sudo disable_clocks_cleanup: false apply_settings_timer: 5 gpus: 1002:73BF-1002:0E3A-0000:03:00.0: fan_control_enabled: true fan_control_settings: mode: curve static_speed: 1.0 temperature_key: edge interval_ms: 500 curve: 30: 0.0 40: 0.2 50: 0.35 60: 0.5 70: 0.75 80: 1.0 spindown_delay_ms: 0 change_threshold: 0 pmfw_options: {} power_cap: 293.0 performance_level: auto voltage_offset: 0 power_states: {} ''; # occt = pkgs.stdenv.mkDerivation { # pname = "occt"; # version = "14.0.10"; # src = pkgs.fetchurl { # url = "https://www.ocbase.com/download-bin/edition:Personal/os:Linux"; # sha256 = "sha256-AomQNi7ODGaznFaHqxlFUcrV36QeLNC65MoCV2y6HZ8="; # }; # dontUnpack = true; # buildPhase = '' # mkdir -p $out/bin # cp $src $out/bin/OCCT # chmod +x $out/bin/OCCT # ''; # installPhase = "true"; # }; in { imports = [ ./boot.nix ./filesystems.nix ./hardware-configuration.nix ./networking.nix ./nix.nix ./services.nix ./sops.nix ./users.nix ../default.nix ../../modules/desktop-environments/cosmic/specialisation.nix ../../modules/desktop-environments/hyprland/specialisation.nix ../../share/amd ]; nix = { settings = { substituters = [ "https://cache.mjallen.dev" ]; trusted-public-keys = [ "cache.mjallen.dev-1:IzFmKCd8/gggI6lcCXsW65qQwiCLGFFN9t9s2iw7Lvc=" ]; }; }; chaotic.mesa-git.enable = true; # Environment configuration environment = { systemPackages = systemPackages; etc."lact/config.yaml".text = lactConfig; variables = environmentVariables; }; # Hardware configuration hardware = { # Enable the QMK firmware flashing tool. keyboard = { qmk.enable = true; }; # Enable Sane and Brother printer support. sane = { enable = true; brscan5.enable = false; # extraBackends = [ pkgsVersion.brscan5 ]; }; }; # Common Configuration share = { gaming.enable = true; hardware.amd = { enable = lib.mkDefault true; lact.enable = lib.mkDefault true; }; }; programs.coolercontrol.enable = true; # Time configuration time = { hardwareClockInLocalTime = lib.mkDefault false; }; # Virtualisation configuration virtualisation = { libvirtd.enable = lib.mkDefault true; waydroid.enable = lib.mkDefault true; }; services.udev.extraRules = '' KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660" ''; }