hyprland and myPkg/overlay migrations

This commit is contained in:
Joseph Hanson 2025-03-03 17:08:24 -06:00
parent 12dee64ccd
commit 079b0858d9
Signed by: jahanson
SSH key fingerprint: SHA256:vy6dKBECV522aPAwklFM3ReKAVB086rT3oWwiuiFG7o
8 changed files with 75 additions and 55 deletions

View file

@ -12,9 +12,10 @@ in {
imports = [inputs.ags.homeManagerModules.default]; imports = [inputs.ags.homeManagerModules.default];
config = mkIf cfg.enable { config = mkIf cfg.enable {
# Theme settings
gtk = { gtk = {
enable = true; enable = true;
# Some apps just need the good ol' ini files.
gtk3.extraConfig = { gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1; gtk-application-prefer-dark-theme = 1;
gtk-theme-name = "Andromeda-dark"; gtk-theme-name = "Andromeda-dark";
@ -52,6 +53,16 @@ in {
gtk-xft-rgba = "rgb"; gtk-xft-rgba = "rgb";
}; };
}; };
# Wayland and apps pull from dconf since we're using the gtk portal.
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
cursor-size = 24;
cursor-theme = "Bibata-Modern-Ice";
gtk-theme = "Flat-Remix-GTK-Blue-Dark";
icon-theme = "Flat-Remix-Blue-Dark";
};
};
programs.ags = { programs.ags = {
enable = true; enable = true;

View file

@ -1,11 +1,4 @@
{ {pkgs, ...}: let
config,
pkgs,
myPkgs,
inputs,
...
}: let
hypr-pkgs = inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in { in {
imports = []; imports = [];
swapDevices = []; swapDevices = [];
@ -13,41 +6,22 @@ in {
# System packages # System packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
uv # myPkgs.modrinth-app-unwrapped
dconf-editor
fastfetch fastfetch
gtk3 gtk3
dconf-editor
# myPkgs.modrinth-app-unwrapped
zulu # Java OpenJDK
nodejs_22 nodejs_22
vesktop pavucontrol # Pulseaudio volume control
uv # python package manager
vesktop # Discord custom client
zulu # Java OpenJDK
]; ];
hardware.graphics = {
package = hypr-pkgs.mesa.drivers;
};
environment.sessionVariables = { environment.sessionVariables = {
# Wayland and Chromium/Electron apps. # Wayland and Chromium/Electron apps.
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";
}; };
# sops
# sops.secrets = {
# "syncthing/publicCert" = {
# sopsFile = ./secrets.sops.yaml;
# owner = "jahanson";
# mode = "400";
# restartUnits = ["syncthing.service"];
# };
# "syncthing/privateKey" = {
# sopsFile = ./secrets.sops.yaml;
# owner = "jahanson";
# mode = "400";
# restartUnits = ["syncthing.service"];
# };
#};
services = { services = {
# Tailscale # Tailscale
tailscale = { tailscale = {
@ -58,8 +32,19 @@ in {
pipewire = { pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
jack.enable = true;
pulse.enable = true; pulse.enable = true;
extraConfig.pipewire = {
"10-clock-rate" = {
"context.properties" = {
"default.clock.rate" = 48000;
};
};
"10-clock-quantum" = {
"context.properties" = {
"default.clock.quantum" = 1024;
};
};
};
}; };
blueman.enable = true; blueman.enable = true;
}; };

View file

@ -12,6 +12,7 @@ with lib; rec {
# Create custom package set # Create custom package set
mkMyPkgs = pkgs: { mkMyPkgs = pkgs: {
borgmatic = pkgs.callPackage ../../nixos/packages/borgmatic {}; borgmatic = pkgs.callPackage ../../nixos/packages/borgmatic {};
mods = pkgs.callPackage ../../nixos/packages/charm-mods {};
# modrinth-app-unwrapped = pkgs.callPackage ../../nixos/packages/modrinth {}; # modrinth-app-unwrapped = pkgs.callPackage ../../nixos/packages/modrinth {};
}; };

View file

@ -6,6 +6,7 @@
... ...
}: let }: let
cfg = config.mySystem.de.hyprland; cfg = config.mySystem.de.hyprland;
hypr-pkgs = inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in { in {
options = { options = {
mySystem.de.hyprland = { mySystem.de.hyprland = {
@ -17,6 +18,12 @@ in {
}; };
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
# We need all hyprland packages to follow the same MESA version
hardware = {
graphics = {
package = hypr-pkgs.mesa.drivers;
};
};
# Hyprland nixpkgs system packages # Hyprland nixpkgs system packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Hyprland # Hyprland

View file

@ -1,17 +1,15 @@
{ inputs, ... }: {inputs, ...}: let
let
# smartmontoolsOverlay = import ./smartmontools { }; # smartmontoolsOverlay = import ./smartmontools { };
# vivaldiOverlay = self: super: { vivaldi = super.callPackage ./vivaldi { }; }; # vivaldiOverlay = self: super: { vivaldi = super.callPackage ./vivaldi { }; };
coderOverlay = self: super: { coder = super.callPackage ./coder { }; }; coderOverlay = self: super: {coder = super.callPackage ./coder {};};
modsOverlay = self: super: { mods = super.callPackage ./charm-mods { }; }; # modsOverlay = self: super: { mods = super.callPackage ./charm-mods { }; };
termiusOverlay = self: super: { termius = super.callPackage ./termius { }; }; termiusOverlay = self: super: {termius = super.callPackage ./termius {};};
in in {
{
# smartmontools = smartmontoolsOverlay; # smartmontools = smartmontoolsOverlay;
# vivaldi = vivaldiOverlay; # vivaldi = vivaldiOverlay;
coder = coderOverlay; coder = coderOverlay;
comm-packages = inputs.nix-vscode-extensions.overlays.default; comm-packages = inputs.nix-vscode-extensions.overlays.default;
mods = modsOverlay; # mods = modsOverlay;
nix-minecraft = inputs.nix-minecraft.overlay; nix-minecraft = inputs.nix-minecraft.overlay;
nur = inputs.nur.overlays.default; nur = inputs.nur.overlays.default;
termius = termiusOverlay; termius = termiusOverlay;
@ -27,17 +25,18 @@ in
// { // {
# Add talosctl to the unstable set # Add talosctl to the unstable set
talosctl = final.unstable.callPackage ./talosctl { talosctl = final.unstable.callPackage ./talosctl {
inherit (final.unstable) inherit
(final.unstable)
lib lib
buildGoModule buildGoModule
fetchFromGitHub fetchFromGitHub
installShellFiles installShellFiles
; ;
}; };
xpipe = final.unstable.callPackage ./xpipe/ptb.nix { }; xpipe = final.unstable.callPackage ./xpipe/ptb.nix {};
prowlarr = final.unstable.callPackage ./arr/prowlarr.nix { }; prowlarr = final.unstable.callPackage ./arr/prowlarr.nix {};
radarr = final.unstable.callPackage ./arr/radarr.nix { }; radarr = final.unstable.callPackage ./arr/radarr.nix {};
sonarr = final.unstable.callPackage ./arr/sonarr.nix { }; sonarr = final.unstable.callPackage ./arr/sonarr.nix {};
}; };
}; };
} }

View file

@ -7,20 +7,19 @@
testers, testers,
mods, mods,
}: }:
buildGoModule rec { buildGoModule rec {
pname = "mods"; pname = "mods";
version = "1.6.0"; version = "1.7.0";
commitHash = "2a7f9d4dc11b6c828bf35a0b3d0be709f3ed79b9"; commitHash = "bf8337f9f4c586aaa267f8019ac2d0daa3b30129";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "charmbracelet"; owner = "charmbracelet";
repo = "mods"; repo = "mods";
rev = commitHash; rev = commitHash;
hash = "sha256-23gtb8BOx/0c643/paRt7VFHEyMyF4Q4a5b5+a4+kNU="; hash = "sha256-EoDia+7ObtpnTDjJMzOk9djyCrW0m9pIToNHEDZ8Ch8=";
}; };
vendorHash = "sha256-RV/Nr60BpCLcUL2Yy1Dd2ScwoI0BhGhTb/igCEcJPjI="; vendorHash = "sha256-dnKvT3VcvidfDcgJ9FerjtReIOwvRZtJZiBwNx2BEQ8=";
nativeBuildInputs = [ nativeBuildInputs = [
installShellFiles installShellFiles
@ -33,7 +32,7 @@ buildGoModule rec {
]; ];
# These tests require internet access. # These tests require internet access.
checkFlags = [ "-skip=^TestLoad/http_url$|^TestLoad/https_url$" ]; checkFlags = ["-skip=^TestLoad/http_url$|^TestLoad/https_url$"];
passthru = { passthru = {
updateScript = gitUpdater { updateScript = gitUpdater {

View file

@ -1,6 +1,7 @@
{ {
lib, lib,
config, config,
pkgs,
... ...
}: { }: {
imports = []; imports = [];
@ -12,6 +13,22 @@
powerOnBoot = true; powerOnBoot = true;
}; };
}; };
# Force SOF for AMD controller while keeping HDA for HDMI
boot.kernelParams = [
"snd-intel-dspcfg.dsp_driver=3" # SOF for AMD Zen2+ audio
];
# Essential firmware packages
hardware.firmware = with pkgs; [
sof-firmware
alsa-firmware
];
# SOF-specific configuration
boot.extraModprobeConfig = ''
options snd-hda-intel model=auto position_fix=1
options snd-hda-intel power_save=1
'';
boot = { boot = {
# for managing/mounting nfs # for managing/mounting nfs

View file

@ -1,5 +1,6 @@
{ {
pkgs, pkgs,
myPkgs,
inputs, inputs,
... ...
}: }:
@ -57,8 +58,8 @@
inputs.talhelper.packages.${pkgs.system}.default inputs.talhelper.packages.${pkgs.system}.default
# charmbracelet tools # charmbracelet tools
myPkgs.mods
gum gum
mods
skate skate
soft-serve soft-serve
unstable.glow unstable.glow