2024-01-14 06:29:18 +08:00
|
|
|
{ inputs, pkgs, ... }:
|
2023-04-03 22:41:22 +08:00
|
|
|
|
2024-01-14 06:29:18 +08:00
|
|
|
{
|
2023-04-03 22:41:22 +08:00
|
|
|
imports = [
|
2024-01-14 06:22:54 +08:00
|
|
|
inputs.impermanence.nixosModules.impermanence
|
2024-01-14 06:29:18 +08:00
|
|
|
inputs.home-manager.nixosModules.home-manager
|
2023-04-03 22:41:22 +08:00
|
|
|
|
2024-01-14 06:29:18 +08:00
|
|
|
../common/global
|
|
|
|
../common/users/sajenim
|
2023-04-03 22:41:22 +08:00
|
|
|
|
|
|
|
./hardware-configuration.nix
|
|
|
|
];
|
|
|
|
|
2023-04-07 06:51:34 +08:00
|
|
|
boot = {
|
|
|
|
kernelPackages = pkgs.linuxPackages_latest;
|
2024-01-14 06:29:18 +08:00
|
|
|
kernelParams = [
|
|
|
|
# Enable amdgpu driver sysfs API that allows fine grain control of GPU
|
|
|
|
"amdgpu.ppfeaturemask=0xffffffff"
|
|
|
|
];
|
2023-04-07 06:51:34 +08:00
|
|
|
kernelModules = [ "i2c-dev" "i2c-piix4" ];
|
|
|
|
initrd.kernelModules = [ "amdgpu" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
hardware = {
|
2024-01-01 07:18:03 +08:00
|
|
|
bluetooth = {
|
|
|
|
enable = true;
|
|
|
|
powerOnBoot = true;
|
|
|
|
};
|
2023-04-07 06:51:34 +08:00
|
|
|
pulseaudio = {
|
|
|
|
enable = true;
|
2024-01-14 06:29:18 +08:00
|
|
|
support32Bit = true;
|
2023-04-07 06:51:34 +08:00
|
|
|
};
|
|
|
|
opengl = {
|
|
|
|
enable = true;
|
|
|
|
# Vulkan
|
|
|
|
driSupport = true;
|
|
|
|
driSupport32Bit = true;
|
|
|
|
# OpenCL
|
|
|
|
extraPackages = with pkgs; [
|
|
|
|
rocm-opencl-icd
|
|
|
|
rocm-opencl-runtime
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
networking = {
|
|
|
|
hostName = "fuchsia";
|
|
|
|
networkmanager.enable = true;
|
|
|
|
};
|
2023-04-03 22:41:22 +08:00
|
|
|
|
2023-04-07 06:51:34 +08:00
|
|
|
fonts = {
|
2023-12-23 05:41:10 +08:00
|
|
|
packages = with pkgs; [
|
2023-04-07 06:51:34 +08:00
|
|
|
fantasque-sans-mono
|
|
|
|
fira-code
|
|
|
|
ibm-plex
|
|
|
|
inconsolata
|
|
|
|
iosevka
|
|
|
|
jetbrains-mono
|
|
|
|
];
|
|
|
|
};
|
2023-04-03 22:41:22 +08:00
|
|
|
|
2023-04-07 06:51:34 +08:00
|
|
|
environment = {
|
|
|
|
# Symlink /bin/sh to POSIX-Complient shell
|
|
|
|
binsh = "${pkgs.bash}/bin/bash";
|
|
|
|
shells = with pkgs; [ zsh ];
|
|
|
|
# Install packages, prefix with 'unstable.' to use overlay
|
|
|
|
systemPackages = with pkgs; [
|
2023-07-21 07:06:10 +08:00
|
|
|
# Audio
|
|
|
|
pulsemixer
|
2023-04-07 06:51:34 +08:00
|
|
|
# Code editors
|
|
|
|
emacs vscode
|
|
|
|
# Browsers
|
2023-12-17 06:07:22 +08:00
|
|
|
firefox
|
2023-04-07 06:51:34 +08:00
|
|
|
# Graphics
|
|
|
|
gimp inkscape krita
|
2024-01-01 07:18:26 +08:00
|
|
|
# Printing
|
2024-01-14 06:29:18 +08:00
|
|
|
blender freecad openscad prusa-slicer
|
2023-04-07 06:51:34 +08:00
|
|
|
# Misc
|
2023-06-15 10:11:11 +08:00
|
|
|
openrgb protonup-ng
|
2023-10-03 06:22:25 +08:00
|
|
|
# Hardware
|
2024-01-01 07:18:52 +08:00
|
|
|
libratbag piper
|
2023-04-07 06:51:34 +08:00
|
|
|
];
|
|
|
|
# Completions for system packages
|
|
|
|
pathsToLink = [ "/share/zsh" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
zsh.enable = true;
|
|
|
|
gnupg.agent = {
|
|
|
|
enable = true;
|
|
|
|
enableSSHSupport = true;
|
|
|
|
};
|
2024-01-14 06:29:18 +08:00
|
|
|
fuse.userAllowOther = true;
|
2023-04-07 06:51:34 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
services = {
|
|
|
|
udev.packages = with pkgs; [
|
|
|
|
yubikey-personalization
|
|
|
|
openrgb
|
|
|
|
qmk-udev-rules
|
|
|
|
];
|
|
|
|
xserver = {
|
|
|
|
enable = true;
|
|
|
|
layout = "au";
|
|
|
|
videoDrivers = [ "amdgpu" ];
|
2023-06-03 11:17:29 +08:00
|
|
|
libinput = {
|
|
|
|
enable = true;
|
|
|
|
mouse = {
|
|
|
|
accelProfile = "flat";
|
|
|
|
};
|
|
|
|
};
|
2023-05-02 08:52:44 +08:00
|
|
|
displayManager.startx.enable = true;
|
2023-04-03 22:41:22 +08:00
|
|
|
};
|
2024-01-01 07:19:17 +08:00
|
|
|
ratbagd.enable = true;
|
2023-04-03 22:41:22 +08:00
|
|
|
};
|
|
|
|
|
2023-04-07 06:51:34 +08:00
|
|
|
virtualisation.docker = {
|
2023-04-03 22:41:22 +08:00
|
|
|
enable = true;
|
2023-04-07 06:51:34 +08:00
|
|
|
liveRestore = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
security.pam.services = {
|
|
|
|
login.u2fAuth = true;
|
|
|
|
sudo.u2fAuth = true;
|
|
|
|
};
|
|
|
|
|
2023-04-03 22:41:22 +08:00
|
|
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
|
|
system.stateVersion = "22.11";
|
|
|
|
}
|