nix/system/configuration.nix
2024-08-20 11:19:45 +10:00

109 lines
2.3 KiB
Nix

{
inputs,
outputs,
lib,
config,
pkgs,
nix-rice,
nix-std,
...
}: {
# these settings propagate to home-manager's nixpkgs
nixpkgs = {
overlays = [
inputs.nur.overlay
outputs.overlays.additions
inputs.nix-rice.overlays.default
outputs.overlays.rice
inputs.helix.overlays.default
inputs.nixd.overlays.default
inputs.nh.overlays.default
];
config = {
allowUnfree = true;
allowUnfreePredicate = _: 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";
substitute = true;
};
extraOptions = ''
keep-outputs = true
keep-derivations = true
'';
optimise.automatic = true;
# package = pkgs.lix;
};
imports = [
./modules/network.nix
./modules/term.nix
./modules/cosmic.nix
./modules/systemdboot.nix
./modules/sound.nix
./modules/sydney.nix
./modules/docs.nix
./modules/nix-meta.nix
];
hardware.enableRedistributableFirmware = true;
hardware.enableAllFirmware = true;
boot.tmp.useTmpfs = true;
services.libinput.enable = true;
# busted as hell
# services.usbmuxd.enable = true; # for iphone
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;
environment.systemPackages = with pkgs; [
curl
eza
git
# broken \/
# libimobiledevice
# ifuse
];
services.atuin.enable = true;
programs.nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 3d --keep 3";
};
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";
}