Init gojo host configs
This commit is contained in:
parent
6cd181ecb9
commit
7301574365
8 changed files with 328 additions and 0 deletions
41
home/hosts/gojo/config/dconf.nix
Normal file
41
home/hosts/gojo/config/dconf.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
|
||||||
|
{
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/shell" = {
|
||||||
|
disable-user-extensions = false;
|
||||||
|
enabled-extensions = [
|
||||||
|
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||||
|
"dash-in-panel@fthx"
|
||||||
|
"AlphabeticalAppGrid@stuarthayhurst"
|
||||||
|
"color-picker@tuberry"
|
||||||
|
"monitor-brightness-volume@ailin.nemui"
|
||||||
|
"quicksettings-audio-devices-renamer@marcinjahn.com"
|
||||||
|
"Vitals@CoreCoding.com"
|
||||||
|
"appindicatorsupport@rgcjonas.gmail.com"
|
||||||
|
"paperwm@paperwm.github.com"
|
||||||
|
"just-perfection-desktop@just-perfection"
|
||||||
|
"pano@elhan.io"
|
||||||
|
"blur-my-shell@aunetx"
|
||||||
|
"quicksettings-audio-devices-hider@marcinjahn.com"
|
||||||
|
"undecorate@sun.wxg@gmail.com"
|
||||||
|
];
|
||||||
|
favorite-apps = [
|
||||||
|
"com.mitchellh.ghostty.desktop"
|
||||||
|
"org.gnome.Nautilus.desktop"
|
||||||
|
"win11.desktop"
|
||||||
|
"zen.desktop"
|
||||||
|
"code.desktop"
|
||||||
|
"spotify.desktop"
|
||||||
|
"discord.desktop"
|
||||||
|
"org.telegram.desktop.desktop"
|
||||||
|
"steam.desktop"
|
||||||
|
"Ryujinx.desktop"
|
||||||
|
"Marvel Rivals.desktop"
|
||||||
|
];
|
||||||
|
last-selected-power-profile = "performance";
|
||||||
|
};
|
||||||
|
}
|
8
home/hosts/gojo/config/default.nix
Normal file
8
home/hosts/gojo/config/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
# home.file.".config/monitors_source" = {
|
||||||
|
# source = ./monitors.xml;
|
||||||
|
# onChange = ''
|
||||||
|
# cp $HOME/.config/monitors_source $HOME/.config/monitors.xml
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
|
}
|
2
home/hosts/gojo/config/monitors.xml
Normal file
2
home/hosts/gojo/config/monitors.xml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<monitors version="2">
|
||||||
|
</monitors>
|
32
home/hosts/gojo/default.nix
Normal file
32
home/hosts/gojo/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = lib.flatten [
|
||||||
|
## Common Imports ##
|
||||||
|
(map lib.custom.relativeToRoot [
|
||||||
|
"home/global/common/browsers"
|
||||||
|
"home/global/common/gaming"
|
||||||
|
"home/global/common/gnome"
|
||||||
|
"home/global/common/vscode"
|
||||||
|
"home/global/common/xdg.nix"
|
||||||
|
])
|
||||||
|
|
||||||
|
## VM Specific ##
|
||||||
|
./config
|
||||||
|
];
|
||||||
|
|
||||||
|
## Packages with no needed configs ##
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
## Media ##
|
||||||
|
cider # Apple Music
|
||||||
|
youtube-music
|
||||||
|
|
||||||
|
## Tools ##
|
||||||
|
inspector
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
4
hosts/nixos/gojo/config/default.nix
Normal file
4
hosts/nixos/gojo/config/default.nix
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
imports = lib.custom.scanPaths ./.;
|
||||||
|
}
|
75
hosts/nixos/gojo/default.nix
Normal file
75
hosts/nixos/gojo/default.nix
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
###############################################################
|
||||||
|
#
|
||||||
|
# Rune - Main Desktop
|
||||||
|
# NixOS running on Ryzen 9 7900X3D , Radeon RX 6950 XT, 32GB RAM
|
||||||
|
#
|
||||||
|
###############################################################
|
||||||
|
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
username = "gio";
|
||||||
|
user = config.secretsSpec.users.${username};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = lib.flatten [
|
||||||
|
## Rune Only ##
|
||||||
|
inputs.chaotic.nixosModules.default
|
||||||
|
# ./config
|
||||||
|
|
||||||
|
## Hardware ##
|
||||||
|
./hardware.nix
|
||||||
|
inputs.hardware.nixosModules.common-cpu-amd
|
||||||
|
inputs.hardware.nixosModules.common-gpu-amd
|
||||||
|
inputs.hardware.nixosModules.common-pc-ssd
|
||||||
|
|
||||||
|
(map lib.custom.relativeToRoot [
|
||||||
|
## Required Configs ##
|
||||||
|
"hosts/global/core"
|
||||||
|
|
||||||
|
## Optional Configs ##
|
||||||
|
"hosts/global/common/audio.nix" # pipewire and cli controls
|
||||||
|
"hosts/global/common/bluetooth.nix"
|
||||||
|
"hosts/global/common/ddcutil.nix" # ddcutil for monitor controls
|
||||||
|
"hosts/global/common/gaming.nix" # steam, gamescope, gamemode, and related hardware
|
||||||
|
"hosts/global/common/gnome.nix"
|
||||||
|
"hosts/global/common/nvtop.nix" # GPU monitor (not available in home-manager)
|
||||||
|
"hosts/global/common/plymouth.nix" # fancy boot screen
|
||||||
|
])
|
||||||
|
];
|
||||||
|
|
||||||
|
## Host Specifications ##
|
||||||
|
hostSpec = {
|
||||||
|
hostName = "gojo";
|
||||||
|
username = username;
|
||||||
|
hashedPassword = user.hashedPassword;
|
||||||
|
email = user.email;
|
||||||
|
handle = user.handle;
|
||||||
|
userFullName = user.fullName;
|
||||||
|
isServer = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
enableIPv6 = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
## System-wide packages ##
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
asdf-vm
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
AMD_VULKAN_ICD = "RADV";
|
||||||
|
RADV_PERFTEST = "aco";
|
||||||
|
PROTON_USE_D9VK = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
# https://wiki.nixos.org/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
}
|
101
hosts/nixos/gojo/hardware.fix
Normal file
101
hosts/nixos/gojo/hardware.fix
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = lib.flatten [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
(map lib.custom.relativeToRoot [
|
||||||
|
"hosts/global/common/system/pool.nix"
|
||||||
|
])
|
||||||
|
];
|
||||||
|
|
||||||
|
## Boot ##
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
systemd-boot = {
|
||||||
|
enable = true;
|
||||||
|
# When using plymouth, initrd can expand by a lot each time, so limit how many we keep around
|
||||||
|
configurationLimit = lib.mkDefault 10;
|
||||||
|
};
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
timeout = 3;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Use the cachyos kernel for better performance
|
||||||
|
kernelPackages = pkgs.linuxPackages_cachyos;
|
||||||
|
|
||||||
|
initrd = {
|
||||||
|
systemd.enable = true;
|
||||||
|
verbose = false;
|
||||||
|
availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
kernelModules = [
|
||||||
|
"kvm-amd"
|
||||||
|
"amdgpu"
|
||||||
|
];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# For less permission issues with SSHFS
|
||||||
|
programs.fuse.userAllowOther = true;
|
||||||
|
|
||||||
|
# FIXME: Fix on first boot
|
||||||
|
# File system configurations
|
||||||
|
# fileSystems = {
|
||||||
|
# "/" = {
|
||||||
|
# device = "/dev/disk/by-uuid/d38c182c-6f05-4bf3-8a45-5532c10fd342";
|
||||||
|
# fsType = "ext4";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# "/boot" = {
|
||||||
|
# device = "/dev/disk/by-uuid/5B39-A7CB";
|
||||||
|
# fsType = "vfat";
|
||||||
|
# options = [
|
||||||
|
# "fmask=0077"
|
||||||
|
# "dmask=0077"
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
# FIXME: Fix on first boot
|
||||||
|
# swapDevices = [ { device = "/dev/disk/by-uuid/6586847d-eba9-4317-9077-98ae9b2812c9"; } ];
|
||||||
|
|
||||||
|
# Time and networking configurations
|
||||||
|
time.hardwareClockInLocalTime = true; # Fixes windows dual-boot time issues
|
||||||
|
|
||||||
|
# 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.enp5s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableAllFirmware;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# STUFF ABOUT CHAOTIC NIX CACHE
|
||||||
|
# nix eval 'github:chaotic-cx/nyx/nyxpkgs-unstable#linuxPackages_cachyos.kernel.outPath'
|
||||||
|
# nix eval 'chaotic#linuxPackages_cachyos.kernel.outPath'
|
||||||
|
# nix eval '/pool/git/Nix/dot.nix#nixosConfigurations.rune.config.boot.kernelPackages.kernel.outPath'
|
||||||
|
# curl -L 'https://chaotic-nyx.cachix.org/{{HASH}}.narinfo'
|
||||||
|
# sudo nixos-rebuild switch --flake ./git/Nix/dot.nix/. --option 'extra-substituters' 'https://chaotic-nyx.cachix.org/' --option extra-trusted-public-keys "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
|
65
hosts/nixos/gojo/hardware.nix
Normal file
65
hosts/nixos/gojo/hardware.nix
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
username = config.hostSpec.username;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = lib.flatten [
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
(map lib.custom.relativeToRoot [
|
||||||
|
"hosts/global/common/system/pool.nix"
|
||||||
|
])
|
||||||
|
];
|
||||||
|
|
||||||
|
## Boot ##
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
device = "/dev/vda";
|
||||||
|
useOSProber = true;
|
||||||
|
};
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
timeout = 3;
|
||||||
|
};
|
||||||
|
|
||||||
|
# use latest kernel
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [
|
||||||
|
"ahci"
|
||||||
|
"xhci_pci"
|
||||||
|
"virtio_pci"
|
||||||
|
"sr_mod"
|
||||||
|
"virtio_blk"
|
||||||
|
];
|
||||||
|
systemd.enable = true;
|
||||||
|
verbose = false;
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-uuid/7ec7d686-6f4c-482f-8b9d-4337a06afc48";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# 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.enp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue