144 lines
3.1 KiB
Nix
144 lines
3.1 KiB
Nix
{
|
|
inputs,
|
|
self,
|
|
lib,
|
|
pkgs,
|
|
mainUser,
|
|
...
|
|
}:
|
|
let
|
|
getFlakePackage = package: inputs."${package}".packages.x86_64-linux.default;
|
|
in
|
|
{
|
|
# these settings propagate to home-manager's nixpkgs
|
|
nixpkgs = {
|
|
overlays = [
|
|
inputs.nix-rice.overlays.default
|
|
inputs.helix.overlays.default
|
|
inputs.nil.overlays.nil
|
|
# inputs.nixd.overlays.default
|
|
inputs.niri.overlays.niri
|
|
self.overlays.rice
|
|
self.overlays.murex
|
|
self.overlays.murex-starship
|
|
self.overlays.murex-jump
|
|
self.overlays.comfyui
|
|
self.overlays.comfyui-plugins
|
|
];
|
|
config = {
|
|
allowUnfree = true;
|
|
allowUnfreePredicate = _: true;
|
|
cudaSupport = true;
|
|
};
|
|
};
|
|
|
|
nix = {
|
|
# add flake inputs to our registry to allow global use
|
|
registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
|
|
settings = {
|
|
# trusted-users = ["bolt" "plank"];
|
|
experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
"pipe-operator"
|
|
];
|
|
substitute = true;
|
|
};
|
|
extraOptions = ''
|
|
keep-outputs = true
|
|
keep-derivations = true
|
|
'';
|
|
optimise.automatic = true;
|
|
# package = pkgs.lix;
|
|
};
|
|
|
|
imports = [
|
|
./modules/network.nix
|
|
./modules/term.nix
|
|
./modules/systemdboot.nix
|
|
./modules/sound.nix
|
|
./modules/sydney.nix
|
|
./modules/docs.nix
|
|
./modules/nix-meta.nix
|
|
./modules/anal-retentive.nix
|
|
./modules/niri.nix
|
|
./modules/culr.nix
|
|
];
|
|
|
|
programs.meat = {
|
|
enable = true;
|
|
flake = "/home/${mainUser}/.nix";
|
|
};
|
|
|
|
hardware.enableRedistributableFirmware = true;
|
|
hardware.enableAllFirmware = true;
|
|
|
|
boot.tmp.useTmpfs = true;
|
|
|
|
services.udev.extraHwdb = ''
|
|
evdev:atkbd:*
|
|
KEYBOARD_KEY_3a=esc
|
|
'';
|
|
# services.xserver.xkb.options = "caps:swapescape";
|
|
services.xserver.xkb.extraLayouts."swap" = {
|
|
description = "caps swap";
|
|
languages = [ "eng" ];
|
|
symbolsFile = pkgs.writeText "keyboard" ''
|
|
xkb_symbols
|
|
{
|
|
include "us(basic)"
|
|
|
|
key <CAPS> {[ Escape ]};
|
|
}
|
|
'';
|
|
};
|
|
services.kmscon.useXkbConfig = true;
|
|
console.useXkbConfig = true;
|
|
services.libinput.enable = true;
|
|
|
|
hardware.graphics.enable = true;
|
|
hardware.graphics.enable32Bit = true;
|
|
|
|
services.udisks2.enable = true;
|
|
|
|
# services.flatpak.enable = true;
|
|
|
|
security.polkit.enable = true;
|
|
|
|
xdg.autostart.enable = true;
|
|
xdg.portal.enable = true;
|
|
|
|
# services.tailscale.enable = true;
|
|
|
|
# TODO - move these to more appropriate places
|
|
environment.systemPackages = with pkgs; [
|
|
curl
|
|
eza
|
|
git
|
|
jujutsu
|
|
];
|
|
|
|
# services.atuin.enable = true;
|
|
|
|
programs.nh = {
|
|
enable = true;
|
|
clean.enable = true;
|
|
clean.extraArgs = "--keep-since 3d --keep 3";
|
|
package = getFlakePackage "nh";
|
|
};
|
|
|
|
programs.nix-index-database.comma.enable = true;
|
|
programs.nix-index.enableZshIntegration = false;
|
|
programs.nix-index.enableBashIntegration = false;
|
|
|
|
# gnome/freedesktop compat stuff
|
|
programs.dconf.enable = true;
|
|
services.gvfs.enable = true;
|
|
|
|
# give cpuset to user
|
|
systemd.services."user@".serviceConfig.Delegate = "memory pids cpu cpuset";
|
|
|
|
systemd.user.extraConfig = "LogLevel=debug";
|
|
|
|
system.nixos.tags = [ "fatcock" ];
|
|
}
|