dotfiles.nix/nixos/fuchsia/configuration.nix

130 lines
2.5 KiB
Nix
Raw Normal View History

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
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-16 21:11:52 +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";
}