Massive sweeping changes

This commit is contained in:
BuyMyMojo 2025-04-02 10:21:41 +11:00
parent cd265fa1a7
commit 40cac7a6f7
Signed by untrusted user who does not match committer: aria
GPG key ID: 19AB7AA462B8AB3B
13 changed files with 484 additions and 144 deletions

257
nixos/flake.lock generated
View file

@ -16,6 +16,24 @@
"type": "github"
}
},
"bellado": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1702690530,
"narHash": "sha256-evko1/qE4oRXTMdCOGuwJRUkRm7Sxb5MhQCTLgx5Z+4=",
"owner": "isabelroses",
"repo": "bellado",
"rev": "8b9bb4e19b06a35acd8b2d39830c2751246ff189",
"type": "github"
},
"original": {
"owner": "isabelroses",
"repo": "bellado",
"type": "github"
}
},
"cpu-microcodes": {
"flake": false,
"locked": {
@ -54,6 +72,59 @@
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1743527271,
"narHash": "sha256-EuanEW1qqXZ2h0zJnq7uz8BoHbsgHgUrqWkCZHwZ9FA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f4d9d1e2ad19d544a0a0cf3f8f371c6139c762e9",
"type": "github"
},
"original": {
"id": "home-manager",
"type": "indirect"
}
},
"home-manger": {
"inputs": {
"nixpkgs": [
@ -61,19 +132,42 @@
]
},
"locked": {
"lastModified": 1743438213,
"narHash": "sha256-ZZDN+0v1r4I1xkQWlt8euOJv5S4EvElUCZMrDjTCEsY=",
"lastModified": 1743387206,
"narHash": "sha256-24N3NAuZZbYqZ39NgToZgHUw6M7xHrtrAm18kv0+2Wo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ccd7df836e1f42ea84806760f25b77b586370259",
"rev": "15c5f9d04fabd176f30286c8f52bbdb2c853a146",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"repo": "home-manager",
"type": "github"
}
},
"moonlight": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"unstable-nixpkgs"
],
"pnpm2nix": "pnpm2nix"
},
"locked": {
"lastModified": 1742927915,
"narHash": "sha256-lhTv0kAe9qvowcWVt2pxEKLcdVg2HcMYZMvqxWlDx7E=",
"owner": "moonlight-mod",
"repo": "moonlight",
"rev": "edb548c9fb005a4eed89f2ef72f49b97baa67282",
"type": "github"
},
"original": {
"owner": "moonlight-mod",
"repo": "moonlight",
"type": "github"
}
},
"nix-your-shell": {
"inputs": {
"advisory-db": "advisory-db",
@ -81,7 +175,7 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
"systems": "systems_3"
},
"locked": {
"lastModified": 1727198502,
@ -98,6 +192,70 @@
}
},
"nixpkgs": {
"locked": {
"lastModified": 1701263465,
"narHash": "sha256-lNXUIlkfyDyp9Ox21hr+wsEf/IBklLvb6bYcyeXbdRc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-gsr-ui": {
"locked": {
"lastModified": 1741023597,
"narHash": "sha256-09HLLCoC6L8OEjy0mvA7F6agriHQQOGXYsOisE0b4g8=",
"owner": "js6pak",
"repo": "nixpkgs",
"rev": "5c405e5de49ffe89bcdc5b43813b31383eef6f1c",
"type": "github"
},
"original": {
"owner": "js6pak",
"ref": "gpu-screen-recorder-ui/init",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1743095683,
"narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1743367904,
"narHash": "sha256-sOos1jZGKmT6xxPvxGQyPTApOunXvScV4lNjBCXd/CI=",
@ -113,13 +271,68 @@
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1743095683,
"narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pnpm2nix": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1736457458,
"narHash": "sha256-eiw+hAsxavEgBfhwrktNI2hwvgeVDzBDYClx/yqka78=",
"owner": "NotNite",
"repo": "pnpm2nix-nzbr",
"rev": "4ac61c6a50623da937dca005e3dbcb8862aafb83",
"type": "github"
},
"original": {
"owner": "NotNite",
"repo": "pnpm2nix-nzbr",
"type": "github"
}
},
"root": {
"inputs": {
"bellado": "bellado",
"home-manager": "home-manager",
"home-manger": "home-manger",
"moonlight": "moonlight",
"nix-your-shell": "nix-your-shell",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_4",
"nixpkgs-gsr-ui": "nixpkgs-gsr-ui",
"shadps4-git": "shadps4-git",
"ucodenix": "ucodenix",
"unstable": "unstable"
"unstable-nixpkgs": "unstable-nixpkgs"
}
},
"shadps4-git": {
"inputs": {
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1,
"narHash": "sha256-rADqSJu492bURPi5fmvPyeG1B5bV3k2hfGR+VfHn1Ig=",
"path": "/nix/store/y0dwglx48bqvdcdblhphnwph1zgsminj-source/nixos/programs/shadps4",
"type": "path"
},
"original": {
"path": "/nix/store/y0dwglx48bqvdcdblhphnwph1zgsminj-source/nixos/programs/shadps4",
"type": "path"
}
},
"systems": {
@ -137,6 +350,36 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"ucodenix": {
"inputs": {
"cpu-microcodes": "cpu-microcodes"
@ -155,7 +398,7 @@
"type": "github"
}
},
"unstable": {
"unstable-nixpkgs": {
"locked": {
"lastModified": 1743315132,
"narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",

View file

@ -3,9 +3,9 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11";
unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable";
unstable-nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
home-manger.url = "github:nix-community/home-manager";
home-manger.url = "github:nix-community/home-manager?ref=release-24.11";
home-manger.inputs.nixpkgs.follows = "nixpkgs";
# CPU microcode updater
@ -18,7 +18,7 @@
moonlight = {
url = "github:moonlight-mod/moonlight"; # Add `/develop` to the flake URL to use nightly.
inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.nixpkgs.follows = "unstable-nixpkgs";
};
shadps4-git.url = "./programs/shadps4";
@ -34,7 +34,7 @@
outputs =
{
nixpkgs,
unstable,
unstable-nixpkgs,
home-manager,
nix-your-shell,
nixpkgs-gsr-ui,
@ -47,10 +47,13 @@
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
overlays = [ nix-your-shell.overlays.default ];
overlays = [
nix-your-shell.overlays.default
inputs.moonlight.overlays.default
];
};
unstable = import unstable {
unstable = import unstable-nixpkgs {
inherit system;
config.allowUnfree = true;
};
@ -73,6 +76,7 @@
};
modules = [
./universal.nix
./nix-ld.nix
./hosts/nixos/configuration.nix
./hosts/nixos/services.nix
@ -80,12 +84,12 @@
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.buymymojo = ./home-manager/honixos.nix;
home-manager.users.buymymojo = ./home-manager/nixos.nix;
home-manager.extraSpecialArgs = {
inherit unstable;
inherit inputs;
inherit gsr-ui;
inherit bellado;
inherit inputs;
inherit unstable;
};
}
];
@ -103,6 +107,7 @@
};
modules = [
./universal.nix
./nix-ld.nix
./hosts/low-power-laptop/configuration.nix
home-manager.nixosModules.home-manager

View file

@ -1,6 +1,12 @@
{ config, pkgs, ... }:
{
mports = [
./packages/common-cli.nix
./packages/common-desktop.nix
];
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "aria";
@ -68,7 +74,7 @@
# /etc/profiles/per-user/aria/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
# EDITOR = "emacs";
EDITOR = "nvim";
};
# Let Home Manager install and manage itself.

View file

@ -12,6 +12,8 @@
./nixos/packages.nix
./nixos/services.nix
./packages/gamedev.nix
./packages/common-cli.nix
./packages/common-desktop.nix
];
@ -62,7 +64,7 @@
# /etc/profiles/per-user/buymymojo/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
EDITOR = "code";
EDITOR = "nvim";
NIXPKGS_ALLOW_UNFREE = "1";
};
@ -70,6 +72,10 @@
"/home/buymymojo/bin/"
];
programs.git = {
signing.key = "E7B7B8D20C8753C077F9B17119AB7AA462B8AB3B";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View file

@ -13,13 +13,6 @@
home.file."jdks/zulujdk17".source = pkgs.zulu17;
home.file."jdks/zulujdk23".source = pkgs.zulu23;
home.file."Godot/current".source = unstable.godot;
home.file."Godot/current-mono".source = unstable.godot-mono;
home.file."Godot/export-templates/current".source = unstable.godot-export-templates;
home.file."Godot/4.3".source = unstable.godot_4_3;
home.file."Godot/4.3-mono".source = unstable.godot_4_3-mono;
home.file."Godot/export-templates/4.3".source = unstable.godot_4_3-export-templates;
home.file."bin/wine".source = unstable.wineWowPackages.waylandFull;
# The home.packages option allows you to install Nix packages into your
@ -54,16 +47,9 @@
# === Minecraft ===
# === CLI ===
pkgs.bat
pkgs.btop
pkgs.rrsync
pkgs.ripgrep
pkgs.wl-clipboard
pkgs.poop # Compare the performance of multiple commands with a colorful terminal user interface
pkgs.age
pkgs.stow
unstable.yt-dlp
pkgs.aria2
pkgs.jujutsu
pkgs.lazyjj
pkgs.biome
@ -94,14 +80,6 @@
pkgs.distrobox
pkgs.boxbuddy
unstable.godot-mono
unstable.godot-export-templates
unstable.blender-hip
unstable.freecad-wayland
pkgs.unityhub
pkgs.material-maker
unstable.blockbench
unstable.gpu-screen-recorder-gtk
gsr-ui.gpu-screen-recorder-ui

View file

@ -23,10 +23,21 @@ in
];
home.packages =
with pkgs;
with unstable;
with inputs;
[
stow
unstable.yt-dlp
aria2
ripgrep
wl-clipboard
bat
btop
fzf
unstable.dwarfs
unrar
];
programs.neovim = {
@ -45,7 +56,6 @@ in
userName = "BuyMyMojo";
userEmail = "hello+git@buymymojo.net";
lfs.enable = true;
signing.key = "E7B7B8D20C8753C077F9B17119AB7AA462B8AB3B";
signing.signByDefault = true;
extraConfig = {
init = {
@ -55,10 +65,10 @@ in
};
};
programs.bellado = {
enable = true;
enableAliases = true;
};
# programs.bellado = {
# enable = true;
# enableAliases = true;
# };
programs.ssh.enable = true;
programs.ssh.addKeysToAgent = "yes";

View file

@ -22,15 +22,9 @@ in
inputs.moonlight.homeModules.default
];
nixpkgs = {
overlays = [
inputs.moonlight.overlays.default
];
};
home.packages =
with unstable;
with inputs;
with unstable;
[
pkgs.yubioath-flutter
pkgs.qbittorrent
@ -50,15 +44,16 @@ in
pkgs.jetbrains.webstorm
pkgs.jetbrains.rider
pkgs.jetbrains.idea-community
# unstable.neovim
vscode.fhs # .fhs version will be more compatable even if slightly less nix flavoured
# === Editors/Office ===
# === Media ===
unstable.gimp
unstable.krita
# pkgs.mpv
unstable.mpv
unstable.losslesscut-bin
unstable.jellyfin-media-player
unstable.makemkv
# === Media ===
unstable.orca-slicer

View file

@ -0,0 +1,40 @@
{
config,
pkgs,
unstable,
inputs,
lib,
...
}:
let
withExtraPackages =
pkg: extraPackages:
pkgs.runCommand "${pkg.name}-wrapped" { nativeBuildInputs = [ pkgs.makeWrapper ]; } ''
for exe in ${lib.getBin pkg}/bin/*; do
makeWrapper $exe $out/bin/$(basename $exe) --prefix PATH : ${lib.makeBinPath extraPackages}
done
'';
in
{
home.file."Godot/current".source = unstable.godot;
home.file."Godot/current-mono".source = unstable.godot-mono;
home.file."Godot/export-templates/current".source = unstable.godot-export-templates;
home.file."Godot/4.3".source = unstable.godot_4_3;
home.file."Godot/4.3-mono".source = unstable.godot_4_3-mono;
home.file."Godot/export-templates/4.3".source = unstable.godot_4_3-export-templates;
home.packages =
with unstable;
with inputs;
[
unstable.godot-mono
unstable.godot-export-templates
unstable.blender-hip
unstable.freecad-wayland
pkgs.unityhub
pkgs.material-maker
unstable.blockbench
];
}

View file

@ -82,8 +82,7 @@
description = "Aria";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; with unstable; [
git
neovim
];
};
@ -100,7 +99,7 @@
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
unstable.nix-your-shell
];
# Some programs need SUID wrappers, can be configured further or are
@ -122,6 +121,18 @@
# Or disable the firewall altogether.
networking.firewall.enable = false;
environment.sessionVariables = {
# === Prefer RADV driver ===
AMD_VULKAN_ICD = "RADV";
VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json";
FLAKE = "/home/aria/etc/nixos/";
MANGOHUD = "1";
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = "1"; # Fixes godot 4 mono's launch issues
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave

View file

@ -1,31 +1,46 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/ea653cf0-e131-4241-978a-eb05cf9fd482";
fileSystems."/" = {
device = "/dev/disk/by-uuid/ea653cf0-e131-4241-978a-eb05cf9fd482";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/C6A3-F1FD";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/C6A3-F1FD";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/4585864a-d7e7-4b21-b1fd-4757e244e8bb"; }
swapDevices = [
{ device = "/dev/disk/by-uuid/4585864a-d7e7-4b21-b1fd-4757e244e8bb"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
@ -38,4 +53,23 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware = {
graphics = {
# === vulkan/mesa ===
enable = true;
enable32Bit = true;
# package = unstable.mesa;
# === vulkan/mesa ===
# === amdvlk driver ===
};
amdgpu.amdvlk = {
enable = true;
support32Bit.enable = true;
};
# === amdvlk driver ===
# openrazer.enable = true;
};
}

View file

@ -172,14 +172,8 @@
[
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
fzf
nixfmt-rfc-style
unstable.dwarfs
unrar
unstable.mpv
pkgs.clamav
unstable.waypipe
unstable.nix-your-shell
amdgpu_top
# unstable.mangohud
@ -189,15 +183,8 @@
unstable.ab-av1
unstable.whisper-cpp-vulkan
vscode.fhs # .fhs version will be more compatable even if slightly less nix flavoured
# unstable.openrazer-daemon # Broken, enable again in a few days?
# === nix related ===
comma
nh
# === nix related ===
rustc
cargo
go
@ -220,63 +207,6 @@
# xorg.xwininfo
];
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
# === Godot ===
xorg.libXcursor
xorg.libXinerama
xorg.libXext
xorg.libXrandr
xorg.libXrender
xorg.libX11
xorg.libXi
libGL
wayland
wayland-scanner
vulkan-loader
fontconfig
libxkbcommon
dbus
libpulseaudio
dotnetCorePackages.sdk_8_0_3xx
alsa-lib
icu
# === Godot ===
# === Ludusavi ===
gtk3
gtk4
glib
glibc
# === Ludusavi ===
# === html wallpaper ===
python312Packages.pyqt6-webengine
# ===
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
# === jpegqs & jpeg2png ===
mozjpeg
libjpeg
libjpeg8
libpng
# === jpegqs & jpeg2png ===
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;

67
nixos/nix-ld.nix Normal file
View file

@ -0,0 +1,67 @@
{
config,
pkgs,
unstable,
inputs,
nix-your-shell,
...
}:
{
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
# === Godot ===
xorg.libXcursor
xorg.libXinerama
xorg.libXext
xorg.libXrandr
xorg.libXrender
xorg.libX11
xorg.libXi
libGL
wayland
wayland-scanner
vulkan-loader
fontconfig
libxkbcommon
dbus
libpulseaudio
dotnetCorePackages.sdk_8_0_3xx
alsa-lib
icu
# === Godot ===
# === Ludusavi ===
gtk3
gtk4
glib
glibc
# === Ludusavi ===
# === html wallpaper ===
python312Packages.pyqt6-webengine
# ===
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
# === jpegqs & jpeg2png ===
mozjpeg
libjpeg
libjpeg8
libpng
# === jpegqs & jpeg2png ===
];
}

View file

@ -29,6 +29,21 @@
];
};
environment.systemPackages =
with pkgs;
with unstable;
[
unstable.waypipe
# === nix related ===
comma
nh
# === nix related ===
unstable.nix-your-shell
];
programs.firefox.enable = true;
programs.gnupg.agent = {