new host and other things !

This commit is contained in:
Reid 2026-03-30 19:04:48 -07:00
parent 2546a8d08e
commit 1625a54459
Signed by: reidlab
GPG key ID: DAF5EAF6665839FD
12 changed files with 216 additions and 15 deletions

113
hosts/flubber-machine/default.nix Executable file
View file

@ -0,0 +1,113 @@
{ config, lib, pkgs, ... }:
{
imports = [
./hardware.nix
];
hm.home.packages = with pkgs; [
# archives
zip xz unrar unzip p7zip zstd lrzip
# utils
ffmpeg ripgrep ripgrep-all jq libqalculate imagemagick pandoc
# dev
sqlitebrowser sqlite-analyzer
# nix
nix-output-monitor nix-prefetch-scripts nix-top
# system
btop duf lm_sensors ethtool pciutils usbutils powertop killall
# debug
strace ltrace lsof helvum
# apps
firefox qalculate-gtk krita inkscape onlyoffice-desktopeditors vlc nicotine-plus transmission_4-gtk font-manager obs-studio imhex pwvucontrol nautilus gnome-disk-utility gnome-text-editor baobab file-roller gnome-system-monitor loupe gnome-weather kdePackages.kdenlive video-trimmer blanket
# compatibility
wineWowPackages.waylandFull winetricks
# misc
bat file which packwiz yt-dlp fastfetch hyfetch trashy wev
# games
prismlauncher
] ++ (with pkgs.my; [
# none yet
]);
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
modules = {
security.useDoas = true;
hardware = {
bluetooth.enable = true;
pipewire.enable = true;
print.enable = true;
pointer.enable = true;
tablet.enable = true;
networking.enable = true;
};
dev = {
enable = true;
};
desktop = {
# set to `x11` or `wayland`, improves compat
envProto = "wayland";
# window manager / desktop environment
niri.enable = true;
# accessories
hyprlock.enable = true;
hypridle.enable = true;
hypridle.desktop = true;
swww.enable = true;
gnome-keyring.enable = true;
mate-polkit.enable = true;
dunst.enable = true;
rofi.enable = true;
waybar.enable = true;
batsignal.enable = true;
wob.enable = true;
gammastep.enable = true;
# fuzzel.enable = true;
# cliphist.enable = true;
wl-clip-persist.enable = true;
vicinae.enable = true;
# display manager
regreet.enable = true;
# theme, see `modules/desktop/themes`
themes.active = "catppuccin";
# monitors, see `modules/desktop/monitors`
monitors.enable = true;
monitors.monitors = [
{ name = "DP-2"; scale = 1.0; }
{ name = "DP-3"; scale = 2.0; vrr = true; }
];
};
software = {
# system
system.eza.enable = true;
system.wezterm.enable = true;
system.fish.enable = true;
system.syncthing.enable = true;
system.flatpak.enable = true;
system.mpv.enable = true;
system.ananicy.enable = true;
system.kdeconnect.enable = true;
# editors
editors.micro.enable = true;
editors.vscode.enable = true;
# dev
dev.git.enable = true;
# distractions
distractions.discord.enable = true;
distractions.discord.vesktop = true;
distractions.steam.enable = true;
distractions.steam.useGamescope = true;
# tools
tools.gpg.enable = true;
tools.rbw.enable = true;
tools.noisetorch.enable = true;
};
};
}

View file

@ -0,0 +1,49 @@
{ inputs, config, lib, pkgs, modulesPath, ... }:
{
imports =
[
inputs.hardware.nixosModules.common-cpu-amd
inputs.hardware.nixosModules.common-gpu-amd
inputs.hardware.nixosModules.common-pc-ssd
inputs.hardware.nixosModules.common-pc
(modulesPath + "/installer/scan/not-detected.nix")
./omen-30l-gt13-1xxx.nix
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" "amdgpu" ];
boot.extraModulePackages = [ ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
fileSystems."/" =
{ device = "/dev/disk/by-uuid/5da6bab0-856a-4e65-8ff6-5b70fe3764b8";
fsType = "btrfs";
options = [ "noatime" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/AA0D-269D";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/d937e754-ba63-4fc0-be78-60f456392373"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.end0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,3 @@
{
system = "x86_64-linux";
}

View file

@ -0,0 +1,19 @@
{ pkgs, lib, ... }:
{
# support power features such as suspend to ram
powerManagement.enable = true;
environment.variables = {
AMD_VULKAN_ICD = "RADV";
LIBVA_DRIVER_NAME= "radeonsi";
VDPAU_DRIVER = "radeonsi";
};
environment.systemPackages = with pkgs; [ amdgpu_top ];
# fix audio issues
# Is this even needed. I'm losing my mindddddd
# https://forums.linuxmint.com/viewtopic.php?t=445461
# https://help.ubuntu.com/community/HdaIntelSoundHowto
boot.extraModprobeConfig = ''options snd_hda_intel model=generic'';
}