Compare commits
3 commits
49f08fa04e
...
ebfb24f394
| Author | SHA1 | Date | |
|---|---|---|---|
| ebfb24f394 | |||
| 6d0c024b0b | |||
| baa664eeb7 |
3 changed files with 37 additions and 9 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
35
flake.nix
35
flake.nix
|
|
@ -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;
|
||||||
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue