Compare commits

...

3 commits

9 changed files with 90 additions and 72 deletions

24
flake.lock generated
View file

@ -51,11 +51,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1708890466, "lastModified": 1732200724,
"narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=", "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "665b3c6748534eb766c777298721cece9453fdae", "rev": "153d52373b0fb2d343592871009a286ec8837aec",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -360,11 +360,11 @@
"fromYaml": { "fromYaml": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1689549921, "lastModified": 1731966426,
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=", "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "fromYaml", "repo": "fromYaml",
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84", "rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -440,11 +440,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1724435763, "lastModified": 1730837930,
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", "rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1075,11 +1075,11 @@
"tinted-tmux": "tinted-tmux" "tinted-tmux": "tinted-tmux"
}, },
"locked": { "locked": {
"lastModified": 1731657386, "lastModified": 1732261424,
"narHash": "sha256-Mm/JL8tFUS1SOmmZDPcswExUxzw0VpHcEyZI1h58CGA=", "narHash": "sha256-8uTKUHkaU980J5kRnLYrdwmjZYB88eBGUk1oVgIUHFE=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "5ab1207b2fdeb5a022f2dd7cccf6be760f1b150f", "rev": "b667a340730dd3d0596083aa7c949eef01367c62",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -122,6 +122,7 @@
./nixos/configs/stylix ./nixos/configs/stylix
./nixos/configs/lix.nix ./nixos/configs/lix.nix
./nixos/configs/nix.nix ./nixos/configs/nix.nix
./nixos/configs/ccache.nix
./nixos/configs/calendar.nix ./nixos/configs/calendar.nix
./nixos/configs/syncthing.nix ./nixos/configs/syncthing.nix
./nixos/configs/include-conf.nix ./nixos/configs/include-conf.nix

View file

@ -3,7 +3,10 @@
# #
{ config, ... }: { config, ... }:
{ {
programs.ccache.enable = true; programs.ccache = {
enable = true;
cacheDir = "/nix/var/cache/ccache";
};
nix.settings.extra-sandbox-paths = [ config.programs.ccache.cacheDir ]; nix.settings.extra-sandbox-paths = [ config.programs.ccache.cacheDir ];
nixpkgs.overlays = [ nixpkgs.overlays = [
@ -13,6 +16,12 @@
export CCACHE_COMPRESS=1 export CCACHE_COMPRESS=1
export CCACHE_DIR="${config.programs.ccache.cacheDir}" export CCACHE_DIR="${config.programs.ccache.cacheDir}"
export CCACHE_UMASK=007 export CCACHE_UMASK=007
ls -lah /tmp
ls -lah /nix
ls -lah /nix/var
ls -lah /nix/var/cache
if [ ! -d "$CCACHE_DIR" ]; then if [ ! -d "$CCACHE_DIR" ]; then
echo "=====" echo "====="
echo "Directory '$CCACHE_DIR' does not exist" echo "Directory '$CCACHE_DIR' does not exist"
@ -32,7 +41,5 @@
''; '';
}; };
}) })
# Use this for kernel packages.
]; ];
} }

View file

@ -35,13 +35,6 @@
) )
]; ];
# Also provide an xserver and plasma, for when we need accessibility.
services.xserver.enable = true;
services.desktopManager.plasma6.enable = true;
# Don't let Plasma override TLP with PPD.
services.power-profiles-daemon.enable = lib.mkForce false;
# Enable espanso, when possible. # Enable espanso, when possible.
services.espanso.enable = true; services.espanso.enable = true;
@ -143,14 +136,18 @@
sddm = { sddm = {
enable = true; enable = true;
autoNumlock = true; autoNumlock = true;
#wayland.enable = true; wayland.enable = true;
#theme = "chili";
}; };
}; };
# Use KDE connect. # Use KDE connect.
programs.kdeconnect.enable = true; programs.kdeconnect.enable = true;
# Also enable plasma, for when we need to use X11 for e.g. Talon.
services.xserver.enable = true;
services.desktopManager.plasma6.enable = true;
services.power-profiles-daemon.enable = lib.mkForce false;
# Enable sound with pipewire. # Enable sound with pipewire.
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;

View file

@ -179,6 +179,11 @@ in
default-column-width = { }; default-column-width = { };
} }
# Talon windows should show over other ones.
{
matches = [ { app-id = "talon"; } ];
}
# Bitwig needs to set its own width. # Bitwig needs to set its own width.
{ {
matches = [ { app-id = "^com.bitwig.BitwigStudio$"; } ]; matches = [ { app-id = "^com.bitwig.BitwigStudio$"; } ];

View file

@ -193,7 +193,7 @@ in
# #
programs.waybar = { programs.waybar = {
enable = true; enable = true;
systemd.enable = true; #systemd.enable = true;
# Replace the package with a patched one. # Replace the package with a patched one.
package = pkgs.waybar.overrideAttrs (prev: { package = pkgs.waybar.overrideAttrs (prev: {

View file

@ -1,6 +1,8 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
# talon configuration # talon configuration
# note: this *must* be recursive instead of one big link,
# since talon wants to stick files in here, too
home.file.".talon/user" = { home.file.".talon/user" = {
source = ../../talon; source = ../../talon;
recursive = true; recursive = true;
@ -28,6 +30,9 @@
base=/home/deprekated/.talon/core base=/home/deprekated/.talon/core
unset QT_AUTO_SCREEN_SCALE_FACTOR QT_SCALE_FACTOR unset QT_AUTO_SCREEN_SCALE_FACTOR QT_SCALE_FACTOR
# Make sure this knows how to access our display.
DISPLAY=:0
${pkgs.steam-run}/bin/steam-run env LC_NUMERIC=C QT_PLUGIN_PATH="$base/lib/plugins" LD_LIBRARY_PATH="$base/lib:$base/resources/python/lib:$base/resources/pypy/lib" "$base/talon" "$@" ${pkgs.steam-run}/bin/steam-run env LC_NUMERIC=C QT_PLUGIN_PATH="$base/lib/plugins" LD_LIBRARY_PATH="$base/lib:$base/resources/python/lib:$base/resources/pypy/lib" "$base/talon" "$@"
''; '';
}; };

View file

@ -32,7 +32,7 @@
environment.systemPackages = [ environment.systemPackages = [
deprekages.humanfx deprekages.humanfx
# NVIDIA tools. # NVIDIA tools.
pkgs.nvitop pkgs.nvitop
]; ];
@ -49,54 +49,68 @@
# #
# Intel+NVIDIA / prime setup. # Intel+NVIDIA / prime setup.
# #
# Provide a configuration that uses the full GPU power of the system.
system.nixos.tags = [ "Intel" ];
services.xserver.videoDrivers = ["nvidia"]; # Disable the NVIDIA GPU unless we explicitly request it.
hardware.nvidiaOptimus.disable = true;
# Set up the NVIDIA half of the GPU setup.
# These are used only in the "enabled" configuration.
system.nixos.tags = ["Intel"];
hardware.nvidia = {
modesetting.enable = true;
# Prefer the open NVIDIA driver.
open = true;
# Enable the nvidia-settings command.
nvidiaSettings = true;
# Offloading setup: use GPU when asked for by command, and not otherwise.
prime = {
sync.enable = true;
# Specify how to find our GPUs.
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
# Disable the NVIDIA GPU unless we explicitly request it.
hardware.nvidiaOptimus.disable = true;
# Provide a configuration that uses the full GPU power of the system.
specialisation.optimus.configuration = { specialisation.optimus.configuration = {
system.nixos.tags = lib.mkForce ["NVIDIA"]; system.nixos.tags = [ "NVIDIA" ];
services.xserver.videoDrivers = [ "nvidia" ];
# Don't disable optimus on this config. # Set up the NVIDIA half of the GPU setup.
hardware.nvidiaOptimus.disable = lib.mkForce false; # These are used only in the "enabled" configuration.
hardware.nvidia = {
modesetting.enable = true;
# Prefer the open NVIDIA driver.
open = true;
# Enable the nvidia-settings command.
nvidiaSettings = true;
# Offloading setup: use GPU when asked for by command, and not otherwise.
prime = {
sync.enable = true;
# Specify how to find our GPUs.
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
# Include the NVIDIA X11.
boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
# Don't disable optimus on this config.
hardware.nvidiaOptimus.disable = lib.mkForce false;
}; };
# Provide memtest86, since that's nice. # Provide memtest86, since that's nice.
boot.loader.systemd-boot.memtest86.enable = true; boot.loader.systemd-boot.memtest86.enable = true;
# #
# Hardware config. # Hardware config.
# #
# Use the latest kernel, until the Dell stuff makes it into # Use the latest kernel, and our patches, until the Dell+Alienware stuff makes it into
# more mainline kernels.~ # more mainline kernels. We'll include ccache so we can iterate sanely.
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
# Support the Dell Privacy Driver.
boot.kernelPatches = [
{
name = "enable-dell-privacy";
patch = ./00-support-dell-smbios.patch;
extraStructuredConfig = with lib.kernel; {
DELL_WMI_PRIVACY = yes;
};
}
];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
"xhci_pci" "xhci_pci"
"thunderbolt" "thunderbolt"
@ -115,17 +129,6 @@
]; ];
boot.extraModulePackages = [ config.boot.kernelPackages.acpi_call ]; boot.extraModulePackages = [ config.boot.kernelPackages.acpi_call ];
# Support the Dell Privacy Driver.
boot.kernelPatches = [ {
name = "enable-dell-privacy";
patch = ./00-support-dell-smbios.patch;
extraStructuredConfig = with lib.kernel; {
DELL_WMI_PRIVACY = yes;
};
} ];
# Support thunderbolt. # Support thunderbolt.
services.hardware.bolt.enable = true; services.hardware.bolt.enable = true;

View file

@ -208,7 +208,7 @@ config = {
font_overrides = { font_overrides = {
miko = 10, miko = 10,
hinata = 16, hinata = 16,
valere = 12, valere = 10,
utol = 13, utol = 13,
trailblazer = 12, trailblazer = 12,
kanbaru = 12, kanbaru = 12,