171 lines
3.4 KiB
Nix
Executable File
171 lines
3.4 KiB
Nix
Executable File
# 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`).
|
|
|
|
{
|
|
outputs,
|
|
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; [
|
|
aha
|
|
aspell
|
|
aspellDicts.en
|
|
aspellDicts.en-computers
|
|
aspellDicts.en-science
|
|
borgbackup
|
|
# brscan5
|
|
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
|
|
../../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;
|
|
};
|
|
};
|
|
|
|
# Time configuration
|
|
time = {
|
|
hardwareClockInLocalTime = lib.mkDefault false;
|
|
};
|
|
|
|
# Virtualisation configuration
|
|
virtualisation = {
|
|
libvirtd.enable = lib.mkDefault true;
|
|
waydroid.enable = lib.mkDefault true;
|
|
};
|
|
}
|