Compare commits

..

3 commits

Author SHA1 Message Date
ebfb24f394
update hardware config 2026-07-02 14:51:59 +02:00
6d0c024b0b
update monitors 2026-07-02 14:51:54 +02:00
baa664eeb7
update mouse 2026-07-02 14:51:44 +02:00
3 changed files with 37 additions and 9 deletions

View file

@ -1,5 +1,6 @@
# -- Monitors & input defaults (overridable per-host) -- # -- Monitors & input defaults --
monitor = , preferred, auto, 2.0 # Monitor layout is host-specific; written by the flake per host.
source = ~/.config/hypr/monitors.conf
device { device {
name = apple-spi-keyboard name = apple-spi-keyboard
@ -8,7 +9,7 @@ device {
# TrackPoint (Corne nipple): hold middle button + move to scroll, joystick-style # TrackPoint (Corne nipple): hold middle button + move to scroll, joystick-style
device { device {
name = corne-tp name = zmk-project-corne-tp
scroll_method = on_button_down scroll_method = on_button_down
scroll_button = 274 # BTN_MIDDLE scroll_button = 274 # BTN_MIDDLE
scroll_button_lock = false # set true to toggle scroll on/off with a tap instead of holding scroll_button_lock = false # set true to toggle scroll on/off with a tap instead of holding

View file

@ -29,7 +29,7 @@
outputs = { self, nixpkgs, apple-silicon, home-manager, firefox-addons, zen-browser, ... }: outputs = { self, nixpkgs, apple-silicon, home-manager, firefox-addons, zen-browser, ... }:
let let
# ───────────────────── shared home-manager user ───────────────────── # ───────────────────── shared home-manager user ─────────────────────
home = { pkgs, ... }: { home = { pkgs, osConfig, ... }: {
imports = [ zen-browser.homeModules.beta ]; imports = [ zen-browser.homeModules.beta ];
home.stateVersion = "25.11"; home.stateVersion = "25.11";
@ -39,8 +39,23 @@
}; };
# Raw configs that stay files (no good native module). # Raw configs that stay files (no good native module).
# `hypr` is recursive so we can drop a host-specific monitors.conf in
# alongside the shared files (hyprland.conf `source`s it).
xdg.configFile = { xdg.configFile = {
"hypr".source = ./config/hypr; "hypr" = { source = ./config/hypr; recursive = true; };
"hypr/monitors.conf".text =
if osConfig.networking.hostName == "mbp"
then ''
monitor = , preferred, auto, 2.0
''
else ''
monitor = desc:Lenovo Group Limited P27q-20 V909LRFR, 2560x1440@60, 0x0, 1.25
monitor = desc:Lenovo Group Limited P27q-20 V909LPNY, 2560x1440@60, 2048x0, 1.25
monitor = desc:Lenovo Group Limited P27q-20 V909LRDD, 2560x1440@60, 4096x0, 1.25
workspace = 1, monitor:desc:Lenovo Group Limited P27q-20 V909LRFR, default:true
workspace = 2, monitor:desc:Lenovo Group Limited P27q-20 V909LPNY, default:true
workspace = 3, monitor:desc:Lenovo Group Limited P27q-20 V909LRDD, default:true
'';
"eww".source = ./config/eww; "eww".source = ./config/eww;
"fuzzel".source = ./config/fuzzel; "fuzzel".source = ./config/fuzzel;
}; };
@ -155,7 +170,7 @@
}; };
}; };
home.packages = with pkgs; [ ripgrep fd tridactyl-native lazygit rustc cargo clippy rustfmt rust-analyzer claude-code]; home.packages = with pkgs; [ ripgrep fd tridactyl-native lazygit rustc cargo clippy rustfmt rust-analyzer claude-code gcc bluetui impala];
}; };
# ───────────────────── shared system (both hosts) ───────────────────── # ───────────────────── shared system (both hosts) ─────────────────────
@ -224,6 +239,8 @@
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
# Back up (don't clobber) any pre-existing files HM wants to manage.
home-manager.backupFileExtension = "hm-bak";
home-manager.users.mads = home; home-manager.users.mads = home;
}; };
@ -274,10 +291,20 @@
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
./hosts/pc/hardware-configuration.nix # generated on the PC ./hosts/pc/hardware-configuration.nix # generated on the PC
({ ... }: { ({ config, ... }: {
networking.hostName = "pc"; networking.hostName = "pc";
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; # normal x86 UEFI boot.loader.efi.canTouchEfiVariables = true; # normal x86 UEFI
# NVIDIA (RTX 20-series or newer → open kernel module).
services.xserver.videoDrivers = [ "nvidia" ];
hardware.graphics.enable = true; # OpenGL/Vulkan userspace (was hardware.opengl)
hardware.nvidia = {
modesetting.enable = true; # required for Wayland/Hyprland
open = true; # open kernel module (Turing+)
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
}) })
]; ];
}; };

View file

@ -16,11 +16,11 @@
hardware.enableRedistributableFirmware = true; # wifi/gpu firmware for arbitrary hw hardware.enableRedistributableFirmware = true; # wifi/gpu firmware for arbitrary hw
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-label/nixos"; device = "/dev/disk/by-label/NIXROOT";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-label/BOOT"; device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat"; fsType = "vfat";
}; };