feat: add kumatani host, add kanshi profile

This commit is contained in:
2025-06-26 22:47:17 -07:00
parent 142f4f0dab
commit 42f13ee16f
4 changed files with 160 additions and 3 deletions

View File

@@ -48,6 +48,10 @@
architecture = "x86_64-linux"; architecture = "x86_64-linux";
isWSL = true; isWSL = true;
} }
{
name = "kumatani";
architecture = "x86_64-linux";
}
]; ];
in in
{ {

View File

@@ -0,0 +1,76 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{
config,
lib,
pkgs,
meta,
...
}:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
];
boot.loader.grub = {
enable = true;
efiSupport = true;
device = "nodev";
efiInstallAsRemovable = true;
};
networking.hostName = meta.hostname;
networking.networkmanager.enable = true;
hardware.bluetooth.enable = true;
hardware.nvidia = {
modesetting.enable = true;
open = true;
videoAcceleration = true;
};
time.timeZone = "America/Vancouver";
i18n.defaultLocale = "en_US.UTF-8";
services.pipewire = {
enable = true;
pulse.enable = true;
};
security.sudo = {
enable = true;
wheelNeedsPassword = false;
};
desktop.enable = true;
kanata.enable = true;
users.users.luca = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
shell = pkgs.zsh;
packages = with pkgs; [
tree
];
hashedPassword = config.hashedPassword;
openssh.authorizedKeys.keys = config.authorized_ssh;
};
hardware.graphics.enable = true;
environment.sessionVariables = {
WLR_NO_HARDWARE_CURSORS = "1";
NIXOS_OZONE_WL = "1";
};
services.flatpak.enable = true;
environment.systemPackages =
with pkgs;
config.commonPackages
++ [
];
services.openssh.enable = true;
system.stateVersion = "25.11";
}

View File

@@ -0,0 +1,39 @@
# 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 = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/d751775f-e83d-4230-9228-d1b58c5cc534";
fsType = "btrfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/5C2F-86EC";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
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.enp5s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -33,10 +33,10 @@
pa_applet pa_applet
libnotify libnotify
adwaita-icon-theme adwaita-icon-theme
swaybg
gnome-themes-extra gnome-themes-extra
wl-clipboard wl-clipboard
wl-clip-persist wl-clip-persist
wdisplays
]; ];
programs.thunar.enable = true; programs.thunar.enable = true;
programs.hyprland.enable = true; programs.hyprland.enable = true;
@@ -70,6 +70,15 @@
}; };
services.hyprpolkitagent.enable = true; services.hyprpolkitagent.enable = true;
services.cliphist.enable = true; services.cliphist.enable = true;
services.hyprpaper = {
enable = true;
settings = {
preload = [ "~/dotfiles/.config/wallpaper/bg.jpg" ];
wallpaper = [
",~/dotfiles/.config/wallpaper/bg.jpg"
];
};
};
gtk = { gtk = {
enable = true; enable = true;
theme.name = "Adwaita-dark"; theme.name = "Adwaita-dark";
@@ -81,11 +90,38 @@
enable = true; enable = true;
style.name = "adwaita-dark"; style.name = "adwaita-dark";
}; };
services.kanshi = {
enable = true;
settings = [
{
profile.name = "main";
profile.outputs = [
{
criteria = "DP-1";
status = "enable";
scale = 1.0;
mode = "1920x1080";
position = "0,190";
}
{
criteria = "HDMI-A-1";
status = "enable";
scale = 1.0;
mode = "3440x1440";
position = "1920,0";
}
];
}
];
};
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
systemd.enable = true; systemd.enable = true;
extraConfig = ''
cursor:no_hardware_cursors=1
'';
settings = { settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
"$terminal" = "ghostty"; "$terminal" = "ghostty";
@@ -141,13 +177,15 @@
}; };
}; };
env = [ env = [
"XCURSOR_THEME, Adwaita" "XCURSOR_THEME,Adwaita"
"XCURSOR_SIZE,24" "XCURSOR_SIZE,24"
"LIBVA_DRIVER_NAME,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
]; ];
exec-once = [ exec-once = [
"swaybg -i ~/.config/wallpaper/bg.jpg"
"status-bar" "status-bar"
"wl-clip-persist --clipboard regular" "wl-clip-persist --clipboard regular"
"sleep 4 && kanshi"
]; ];
monitor = [ monitor = [
"eDP-1, 1920x1080, 0x0, 1" "eDP-1, 1920x1080, 0x0, 1"