Compare commits
14 Commits
bf1053c4a7
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c71a64b8e0 | |||
| a1368bd3d1 | |||
| 34af65951f | |||
| fa292da0f0 | |||
| e27621c910 | |||
| df81919851 | |||
| 2460fe2183 | |||
| 8f706b5683 | |||
| 8b6678817e | |||
| 090547a5bd | |||
| 7cb7cee7b2 | |||
| 22ce460a57 | |||
| f4b2650aee | |||
| d8dc1f6ed5 |
+10
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./artemis-hardware-configuration.nix
|
||||
];
|
||||
|
||||
networking.hostName = "artemis";
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
# 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, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/c5614bab-0755-48a2-9cb0-0dc31b98371f";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/1965-42F3";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./athena-hardware-configuration.nix
|
||||
];
|
||||
|
||||
networking.hostName = "athena";
|
||||
|
||||
services.pipewire.extraConfig.pipewire."10-low-latency" = {
|
||||
"context.properties" = {
|
||||
"default.clock.rate" = 48000;
|
||||
"default.clock.quantum" = 64;
|
||||
"default.clock.min-quantum" = 64;
|
||||
"default.clock.max-quantum" = 64;
|
||||
};
|
||||
};
|
||||
}
|
||||
+45
-9
@@ -5,19 +5,12 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Use latest kernel.
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
networking.hostName = "artemis"; # Define your hostname.
|
||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||
networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# Configure network proxy if necessary
|
||||
@@ -82,6 +75,33 @@
|
||||
#media-session.enable = true;
|
||||
};
|
||||
|
||||
musnix.enable = true;
|
||||
musnix.kernel.realtime = false; # force non-RT while we tune everything else
|
||||
musnix.rtirq.enable = true; # IRQ thread priority tuning — helps USB audio specifically
|
||||
musnix.rtirq.nameList = "snd usb"; # prioritize sound + USB IRQs
|
||||
|
||||
# realtime audio shenanigans
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
domain = "@audio";
|
||||
type = "-";
|
||||
item = "rtprio";
|
||||
value = "95";
|
||||
}
|
||||
{
|
||||
domain = "@audio";
|
||||
type = "-";
|
||||
item = "memlock";
|
||||
value = "unlimited";
|
||||
}
|
||||
];
|
||||
|
||||
systemd.user.services.pipewire.serviceConfig.CPUAffinity = "8-15";
|
||||
systemd.user.services.wireplumber.serviceConfig.CPUAffinity = "8-15";
|
||||
systemd.services.rtkit-daemon.serviceConfig.CPUAffinity = "8-15";
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
@@ -89,7 +109,7 @@
|
||||
users.users."cybrneko" = {
|
||||
isNormalUser = true;
|
||||
description = "cybrneko";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
extraGroups = [ "networkmanager" "wheel" "audio" ];
|
||||
packages = with pkgs; [
|
||||
# thunderbird
|
||||
];
|
||||
@@ -114,6 +134,8 @@
|
||||
hydrapaper
|
||||
nextcloud-client
|
||||
fastfetch
|
||||
epson-escpr2
|
||||
gnome-tweaks
|
||||
];
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
@@ -130,6 +152,20 @@
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
# Enable Nintendo Switch Cartridge dumping
|
||||
|
||||
services.udev.packages = [
|
||||
(pkgs.writeTextFile{
|
||||
name = "nxdumptool-udev";
|
||||
destination = "/etc/udev/rules.d/71-nxdumptool.rules";
|
||||
text = builtins.readFile ./udev/71-nxdumptool.rules;
|
||||
})
|
||||
];
|
||||
|
||||
services.udev.extraRules = ''
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1235", ATTR{power/control}="on"
|
||||
'';
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
|
||||
Generated
+36
-1
@@ -21,6 +21,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"musnix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777848538,
|
||||
"narHash": "sha256-Dj51C0NWsglqRrCpdmMr2nFiYacFOid1Tor4H9yG2HY=",
|
||||
"owner": "musnix",
|
||||
"repo": "musnix",
|
||||
"rev": "8548782f0d1d0928daa3fffde8a008f72219a3f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "musnix",
|
||||
"repo": "musnix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1780908363,
|
||||
@@ -37,6 +55,22 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1777268161,
|
||||
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1782847225,
|
||||
"narHash": "sha256-JC9PjqKYG9ve5U8aDOLQipp3+KLANBHUvGdLZlxzdKI=",
|
||||
@@ -55,8 +89,9 @@
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"musnix": "musnix",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak";
|
||||
musnix.url = "github:musnix/musnix";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-26.05";
|
||||
@@ -11,30 +12,46 @@
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, nix-flatpak, ... }:
|
||||
outputs = { self, nixpkgs, home-manager, nix-flatpak, musnix, ... }:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
|
||||
commonModules = [
|
||||
musnix.nixosModules.musnix
|
||||
|
||||
home-manager.nixosModules.home-manager
|
||||
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.users.cybrneko = { pkgs, ... }: {
|
||||
imports = [
|
||||
nix-flatpak.homeManagerModules.nix-flatpak
|
||||
./home.nix
|
||||
./users/cybrneko.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
in {
|
||||
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
nixosConfigurations = {
|
||||
artemis = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
|
||||
modules = [
|
||||
./configuration.nix
|
||||
modules = [
|
||||
./artemis.nix
|
||||
] ++ commonModules;
|
||||
};
|
||||
|
||||
home-manager.nixosModules.home-manager
|
||||
athena = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.cybrneko = { pkgs, ... }: {
|
||||
imports = [
|
||||
nix-flatpak.homeManagerModules.nix-flatpak
|
||||
./home.nix
|
||||
./users/cybrneko.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
modules = [
|
||||
./athena.nix
|
||||
] ++ commonModules;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -38,14 +38,35 @@
|
||||
];
|
||||
|
||||
disabled-extensions = [ ];
|
||||
|
||||
always-show-log-out = true;
|
||||
|
||||
favorite-apps = [
|
||||
"io.gitlab.librewolf-community.desktop"
|
||||
"im.fluffychat.Fluffychat.desktop"
|
||||
"dev.vencord.Vesktop.desktop"
|
||||
"steam.desktop"
|
||||
"org.gnome.Console.desktop"
|
||||
"org.gnome.Nautilus.desktop"
|
||||
"com.renoise.Renoise.desktop"
|
||||
"com.lwks.Lightworks.desktop"
|
||||
"com.bitwig.BitwigStudio.desktop"
|
||||
"org.gimp.GIMP.desktop"
|
||||
"org.libreoffice.LibreOffice.writer.desktop"
|
||||
"org.libreoffice.LibreOffice.calc.desktop"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/caffeine" = {
|
||||
show-indicator = [ "always" ];
|
||||
show-indicator = "always";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/status-tray" = {
|
||||
icon-mode = [ "original" ];
|
||||
icon-mode = "original";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
enable-hot-corners = false;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Nintendo SDK debugger, which nxdumptool presents itself as
|
||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", TAG+="uaccess"
|
||||
Reference in New Issue
Block a user