From ea25b5b515e05f6cd644f7ec08bf247e778c0e4c Mon Sep 17 00:00:00 2001
From: Thiago Sposito
Date: Mon, 25 Aug 2025 14:49:52 -0300
Subject: [PATCH] fix: add flake.lock back and update host configs
- Added `flake.lock` to pin dependencies (nixpkgs, home-manager, nixvim, flake-utils, etc.)
- Cleaned up `.gitignore`: stop ignoring `*.lock`
- Removed unused `flake-utils.inputs.nixpkgs.follows`
- Nixstation host:
- Removed `keychron.nix`, Wacom tablet config, and redundant session variables
- Simplified GDM/GNOME configuration and XKB layout
- Commented out virtualisation setup
- Common NVIDIA host config:
- Added explicit kernel modules, parameters, blacklists, and kernel version
- Ensured GNOME + GDM configuration present
- Updated NVIDIA driver settings and CUDA support
---
.gitignore | 3 +-
flake.lock | 193 ++++++++++++++++++++
flake.nix | 2 -
hosts/Nixstation/default.nix | 69 ++-----
hosts/Nixstation/hardware-configuration.nix | 43 ++---
hosts/common/nvidia/default.nix | 18 +-
6 files changed, 243 insertions(+), 85 deletions(-)
create mode 100644 flake.lock
diff --git a/.gitignore b/.gitignore
index f802428..061818a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,6 @@
*.old
*.orig
*.log
-*.lock
.DS_Store
Thumbs.db
ehthumbs.db
@@ -95,4 +94,4 @@ custom/*/result
custom/*/result/*
**/.zig-cache/
result/*
-result/
\ No newline at end of file
+result/
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..97321d5
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,193 @@
+{
+ "nodes": {
+ "flake-parts": {
+ "inputs": {
+ "nixpkgs-lib": [
+ "nixvim",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1754487366,
+ "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-utils": {
+ "inputs": {
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "home-manager": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1756022458,
+ "narHash": "sha256-J1i35r4HfNDdPpwL0vOBaZopQudAUVtartEerc1Jryc=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "9e3a33c0bcbc25619e540b9dfea372282f8a9740",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "master",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
+ "ixx": {
+ "inputs": {
+ "flake-utils": [
+ "nixvim",
+ "nuschtosSearch",
+ "flake-utils"
+ ],
+ "nixpkgs": [
+ "nixvim",
+ "nuschtosSearch",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1754860581,
+ "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
+ "owner": "NuschtOS",
+ "repo": "ixx",
+ "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NuschtOS",
+ "ref": "v0.1.1",
+ "repo": "ixx",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1755615617,
+ "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "20075955deac2583bb12f07151c2df830ef346b4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixvim": {
+ "inputs": {
+ "flake-parts": "flake-parts",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "nuschtosSearch": "nuschtosSearch",
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1755924483,
+ "narHash": "sha256-wNqpEXZuAwPjW8hYKIYzmN+fgEZT/Qx+sUIWXg3EIWU=",
+ "owner": "nix-community",
+ "repo": "nixvim",
+ "rev": "91f51aede7c9c769c19f74ba9042b8fdb4ed2989",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixvim",
+ "type": "github"
+ }
+ },
+ "nuschtosSearch": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "ixx": "ixx",
+ "nixpkgs": [
+ "nixvim",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1755555503,
+ "narHash": "sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY=",
+ "owner": "NuschtOS",
+ "repo": "search",
+ "rev": "6f3efef888b92e6520f10eae15b86ff537e1d2ea",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NuschtOS",
+ "repo": "search",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "home-manager": "home-manager",
+ "nixpkgs": "nixpkgs",
+ "nixvim": "nixvim"
+ }
+ },
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "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"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
index 24bbfaf..5308962 100644
--- a/flake.nix
+++ b/flake.nix
@@ -12,7 +12,6 @@
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
- flake-utils.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
@@ -51,7 +50,6 @@
extraSpecialArgs = {
inherit inputs outputs;
};
-
modules = [
./home-manager/home.nix
{ custom.sessionType = "wayland"; }
diff --git a/hosts/Nixstation/default.nix b/hosts/Nixstation/default.nix
index 2121fc3..169431e 100644
--- a/hosts/Nixstation/default.nix
+++ b/hosts/Nixstation/default.nix
@@ -2,10 +2,8 @@
, ...
}:
{
-
imports = [
../common/default.nix
- ../common/keychron.nix
../common/network.nix
../common/nvidia/default.nix
./hardware-configuration.nix
@@ -15,32 +13,6 @@
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
};
- environment.etc."libwacom/intuos4-4x6.tablet".text = ''
- # Wacom
- # Intuos4 Small
- [Device]
- Name=Wacom Intuos4 4x6
- DeviceMatch=usb:056a:00b8
- Class=Intuos4
- Width=6
- Height=4
- Layout=intuos4-4x6.svg
- IntegratedIn=
- Styli=0x802;0x804;0x806;0x80a;0x80c;0x902;0x90a;0x100802;0x100804;0x10080a;0x10080c;0x100902;0x10090a;0x120802;0x140802;0x14080a;0x160802;0x16080a;
-
- [Features]
- Reversible=true
- Stylus=true
- Ring=true
- Buttons=7
- StatusLEDs=Ring
-
- [Buttons]
- Left=A;B;C;D;E;F;G
-
- Ring=A
- RingNumModes=4
- '';
environment = {
systemPackages = with pkgs; [
act
@@ -57,14 +29,8 @@
NIXOS_HOST = "nixstation";
NIXOS_DE = "wayland";
};
-
- sessionVariables = {
- NIXOS_OZONE_WL = "1";
- XDG_SESSION_TYPE = "wayland";
- QT_QPA_PLATFORM = "wayland";
- GDK_BACKEND = "wayland";
- };
};
+
hardware = {
sane.enable = true;
graphics.enable = true;
@@ -115,15 +81,15 @@
security.rtkit.enable = true;
services = {
xserver = {
- enable = true;
- desktopManager.gnome.enable = true;
- displayManager.gdm = {
- enable = true;
- wayland = true;
+ xkb = {
+ layout = "us";
+ variant = "alt-intl";
};
- displayManager.defaultSession = "gnome";
};
-
+ desktopManager.gnome.enable = true;
+ displayManager.gdm.enable = true;
+ displayManager.gdm.wayland = true;
+ displayManager.defaultSession = "gnome";
udev.packages = [ pkgs.libwacom ];
avahi = {
enable = true;
@@ -178,16 +144,15 @@
};
system.stateVersion = "25.11"; # keep it!
time.timeZone = "America/Sao_Paulo";
- virtualisation = {
- vmware.host.enable = false;
- spiceUSBRedirection.enable = true;
- libvirtd = {
- enable = true;
- qemu.ovmf.enable = true;
- qemu.package = pkgs.qemu_full;
- };
-
- };
+ # virtualisation = {
+ # vmware.host.enable = false;
+ # spiceUSBRedirection.enable = true;
+ # libvirtd = {
+ # enable = true;
+ # qemu.ovmf.enable = true;
+ # # qemu.package = pkgs.qemu_full;
+ # };
+ # };
zramSwap = {
enable = true;
diff --git a/hosts/Nixstation/hardware-configuration.nix b/hosts/Nixstation/hardware-configuration.nix
index 3fbdd0c..7c73688 100644
--- a/hosts/Nixstation/hardware-configuration.nix
+++ b/hosts/Nixstation/hardware-configuration.nix
@@ -11,13 +11,14 @@
boot = {
initrd.availableKernelModules = [
- "xhci_pci"
+ "ahci"
"ehci_pci"
"nvme"
- "usbhid"
- "usb_storage"
"sd_mod"
- "ahci"
+ "usb_storage"
+ "usbhid"
+ "sd_mod"
+ "xhci_pci"
];
kernelParams = [ "amd_pstate=active" ];
initrd.kernelModules = [ ];
@@ -25,27 +26,22 @@
extraModulePackages = [ ];
};
- fileSystems = {
- "/" = {
- device = "/dev/disk/by-uuid/df74093a-637d-41a5-8c6a-2bf2dccc1506";
- fsType = "btrfs";
- options = [ "subvol=@" ];
- };
+fileSystems."/" =
+ { device = "/dev/disk/by-uuid/07c4d31f-e1cd-4a02-8b3f-8c2bd2e0ce8d";
+ fsType = "btrfs";
+ options = [ "subvol=@" ];
+ };
- "/boot" = {
- device = "/dev/disk/by-uuid/E9BA-D1A3";
- fsType = "vfat";
- options = [
- "fmask=0022"
- "dmask=0022"
- ];
- };
+fileSystems."/home" =
+ { device = "/dev/disk/by-uuid/07c4d31f-e1cd-4a02-8b3f-8c2bd2e0ce8d";
+ fsType = "btrfs";
+ options = [ "subvol=@home" ];
+ };
- "/mnt/hdd0" = {
- device = "/dev/disk/by-uuid/940353dd-5774-4577-aba3-516d3f9c404d";
- fsType = "btrfs";
- options = [ "defaults" ];
- };
+fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/D2EA-469F";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
@@ -61,5 +57,4 @@
};
services.blueman.enable = true;
-
}
diff --git a/hosts/common/nvidia/default.nix b/hosts/common/nvidia/default.nix
index 3c6e733..a426ae5 100644
--- a/hosts/common/nvidia/default.nix
+++ b/hosts/common/nvidia/default.nix
@@ -5,7 +5,10 @@
imports = [
# ./passthrough.nix
];
-
+ boot.kernelModules = [ "nvidia" ];
+ boot.kernelParams = ["nvidia-drm.modset=1"];
+ boot.blacklistedKernelModules = ["nouveau"];
+ boot.kernelPackages = pkgs.linuxPackages_6_12;
hardware = {
graphics = {
enable = true;
@@ -18,7 +21,7 @@
nvidia = {
modesetting.enable = true;
nvidiaSettings = true;
- open = false; # keep it like that for now, unstable!!
+ open = false;
package = pkgs.linuxPackages.nvidiaPackages.latest;
powerManagement.enable = false;
powerManagement.finegrained = false;
@@ -26,10 +29,15 @@
};
services = {
- xserver = {
- videoDrivers = [ "nvidia" ];
- };
+ desktopManager.gnome.enable = true;
+ displayManager = {
+ gdm.enable = true;
+ gdm.wayland = true;
+ defaultSession = "gnome";
+ };
+ xserver.videoDrivers = [ "nvidia" ];
};
+
nixpkgs.config.cudaSupport = true;
environment.systemPackages = with pkgs; [
cudaPackages.cuda_nvcc