This commit is contained in:
2026-07-01 19:07:57 +01:00
parent f08555296c
commit 3644a0f265
11 changed files with 14 additions and 2030 deletions

View File

@@ -1,332 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}: {
imports = [
/etc/nixos/hardware-configuration.nix
];
# Nix settings
## Limit Cores on rebuild and enable Flakes
nix = {
registry = {
voidarc = {
from = {
id = "voidarc";
type = "indirect";
};
to = {
type = "git";
url = "https://git.voidarc.co.uk/voidarc/flakes.git";
};
};
};
settings = {
cores = 6;
download-buffer-size = 524288000;
experimental-features = [
"nix-command"
"flakes"
];
};
};
## Allow unfree packages and add pkgs.unstable
nixpkgs = {
config = {
allowUnfree = true;
packageOverrides = pkgs: {
unstable = import inputs.nixpkgs-unstable {
config = {
allowUnfree = true;
};
};
};
};
};
# Set <nixpkgs> correctly
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
## Optimise Nix store on rebuild and collect garbage as a service
nix.optimise.automatic = true;
nix.gc = {
automatic = true;
dates = "daily";
options = "--delete-older-than 5d";
};
# Bootloader theming and plymouth
boot = {
loader = {
timeout = 2;
efi = {
canTouchEfiVariables = true;
};
grub = {
efiSupport = true;
device = "nodev";
theme = pkgs.catppuccin-grub;
};
};
plymouth = {
enable = true;
theme = "catppuccin-mocha";
themePackages = with pkgs; [
# By default we would install all themes
(catppuccin-plymouth.override {
variant = "mocha";
})
];
};
};
## Use latest kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# Bluetooth and Networking
hardware.bluetooth.enable = true;
hardware.xpadneo.enable = true;
networking.networkmanager.enable = true;
networking.networkmanager.dns = "none";
networking.nameservers = [
"1.1.1.1"
"8.8.8.8"
];
# Locale
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
# Userspace Stuff
## Keymap
services.xserver.xkb = {
layout = "gb";
variant = "";
};
console.keyMap = "uk";
## Desktop
services.xserver.enable = true;
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.default;
};
security.polkit.enable = true;
## Audio Server
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
# Local User
## User config
users.users.user01 = {
isNormalUser = true;
shell = pkgs.zsh;
description = "user01";
extraGroups = [
"input"
"root"
"plugdev"
"bluetooth"
"networkmanager"
"docker"
"wheel"
];
packages = with pkgs; let
input = {
package,
output ? "default",
}:
inputs.${package}.packages.${pkgs.stdenv.hostPlatform.system}.${output};
wrap = {
name,
pkg,
modules,
}:
pkgs.symlinkJoin {
inherit name;
paths = [pkg];
nativeBuildInputs = [pkgs.makeWrapper];
postBuild = ''
wrapProgram $out/bin/${name} \
--prefix PATH : ${pkgs.lib.makeBinPath modules}
'';
};
in [
# Ricing
## Desktop
bibata-cursors
catppuccin-gtk
unstable.waybar
hyprlock
dunst
wlogout
wpaperd
quickshell
## Desktop Utilities
grimblast
gsettings-desktop-schemas
wl-clipboard
(wrap {
name = "otter-launcher";
pkg = (
input {
package = "otter-launcher";
}
);
modules = [
chafa
jq
];
})
(input {package = "fsel";})
# Terminal
## Styling / Functionality
oh-my-posh
carapace
zsh-autocomplete
bat
## Tools
lazygit
p7zip-rar
any-nix-shell
bluetui
fzf
ripgrep
wget
htop
playerctl
git
lsd
(input {
package = "doot";
})
## Other CLI Apps
nodejs
fastfetch
opencode
tailscale
syncthing
jellyfin-tui
devenv
nix-output-monitor
# Apps
## Actual Useful Stuff
nemo
kitty
firefox
gotify-desktop
pavucontrol
mpv
input-remapper
## Other Nonsense
tor-browser
techmino
prismlauncher
delfin
];
};
## Zsh
programs.zsh = {
enable = true;
enableCompletion = true;
enableBashCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
histSize = 10000;
ohMyZsh = {
enable = true;
plugins = [
"git"
"dirhistory"
"history"
];
};
};
users.defaultUserShell = pkgs.zsh;
## User programs
programs = {
dconf.enable = true;
xfconf.enable = true;
gdk-pixbuf.modulePackages = [pkgs.librsvg]; # For wlogout svgs
};
## User Services
services = {
gvfs.enable = true;
input-remapper.enable = true;
tailscale.enable = true;
printing.enable = true;
upower.enable = true;
openssh.enable = true;
avahi.enable = true;
};
## Fonts
fonts.packages = with pkgs; [
nerd-fonts.fira-mono
];
fonts.fontconfig.defaultFonts.serif = ["Fira Mono Nerd Font"];
# System Packages
environment.systemPackages = with pkgs; [
# Utilities
inputs.nvim-wrapped.packages.${stdenv.hostPlatform.system}.default
vim
unzip
python315
usbutils
curlWithGnuTls
# System
mesa
pkg-config
vulkan-tools
gvfs
wayvnc
clang
xdg-desktop-portal
xdg-desktop-portal-hyprland
glib
gnutls
liblzf
librsvg
appimage-run
libnotify
gsettings-desktop-schemas
];
# The comment
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -1,49 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}: {
networking.hostName = "mobile02"; # Define your hostname.
# Opengl and vulkan
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-vaapi-driver
libva-vdpau-driver
];
};
services.displayManager.sddm = {
enable = true;
theme = "catppuccin-mocha-mauve";
package = pkgs.kdePackages.sddm;
};
environment.systemPackages = with pkgs; [
# Catppuccin sddm theme
(pkgs.catppuccin-sddm.override {
flavor = "mocha";
font = "Fira Mono Nerd Font";
fontSize = "11";
background = null;
})
];
# Local User
users.users.user01 = {
extraGroups = [];
packages = with pkgs; [
# Ricing
inputs.way-edges.packages.${stdenv.hostPlatform.system}.way-edges
inputs.chataigne.packages.${stdenv.hostPlatform.system}.default
# Terminal
# Apps
];
};
programs.steam.enable = true;
}

View File

@@ -1,190 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}: {
networking.hostName = "HACKSTATION";
# Enable nix-ld to run unpatched binaries
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
stdenv.cc.cc
zlib
libusb1
];
# Add Samsung USB udev rules
services.udev.extraRules = ''
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
'';
hardware.amdgpu.initrd.enable = true;
# Opengl and vulkan
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
libva-vdpau-driver
libvdpau-va-gl
rocmPackages.clr.icd
];
enable32Bit = true;
};
# For rOCM
systemd.tmpfiles.rules = [
"L+ /opt/rocm - - - - ${pkgs.rocmPackages.clr}"
];
hardware.amdgpu.opencl.enable = true;
boot.kernelParams = [
"amdgpu.ppfeaturemask=0xffffffff"
];
# Wake on Lan
networking.interfaces.enp5s0.wakeOnLan.enable = true;
networking.firewall.enable = false;
systemd.services.NetworkManager-wait-online.enable = false;
services.displayManager = {
autoLogin.enable = true;
autoLogin.user = "user01";
sddm = {
enable = true;
};
};
# Pipewire stuff
services.pipewire.extraConfig.pipewire."97-null-sink" = {
"context.objects" = [
{
factory = "adapter";
args = {
"factory.name" = "support.null-audio-sink";
"node.name" = "Null-Sink";
"node.description" = "Null Sink";
"media.class" = "Audio/Sink";
"audio.position" = "FL,FR";
};
}
{
factory = "adapter";
args = {
"factory.name" = "support.null-audio-sink";
"node.name" = "Null-Source";
"node.description" = "Null Source";
"media.class" = "Audio/Source";
"audio.position" = "FL,FR";
};
}
];
};
services.pipewire.extraConfig.pipewire."98-virtual-mic" = {
"context.modules" = [
{
name = "libpipewire-module-loopback";
args = {
"audio.position" = "FL,FR";
"node.description" = "Mumble as Microphone";
"capture.props" = {
# Mumble's output node name.
"node.target" = "Mumble";
"node.passive" = true;
};
"playback.props" = {
"node.name" = "Virtual-Mumble-Microphone";
"media.class" = "Audio/Source";
};
};
}
];
};
# Mumble server
services.murmur = {
enable = true;
bandwidth = 540000;
bonjour = true;
password = "mumblepass";
autobanTime = 0;
};
# Local User
users.users.user01 = {
extraGroups = [
"docker"
"input"
"udev"
"wheel"
];
packages = with pkgs; [
bottles
mumble
gajim
ferdium
delfin
docker
orca-slicer
ffmpeg
inputs.norgolith.packages.${pkgs.stdenv.hostPlatform.system}.default
inputs.cracked-davinci.packages.${pkgs.stdenv.hostPlatform.system}.default
inputs.woomer.packages.${pkgs.stdenv.hostPlatform.system}.default
# wine
wineWow64Packages.stable
winetricks
wine
wine64
freetype
];
};
environment.systemPackages = [
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.wrapped
];
programs.obs-studio = {
enable = true;
};
programs.wshowkeys = {
enable = true;
package = inputs.wshowkeys.packages.${pkgs.stdenv.hostPlatform.system}.default;
};
programs.steam = {
enable = true;
protontricks.enable = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
];
package = pkgs.steam.override {
extraEnv = {
LD_AUDIT = "${
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam
}/library-inject.so:${
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam
}/SLSsteam.so";
};
};
};
services.unbound = {
enable = true;
};
services.wivrn = {
enable = true;
package = pkgs.unstable.wivrn;
openFirewall = true;
};
virtualisation.docker = {
enable = true;
enableOnBoot = false;
};
}