clean up and make battery long live
This commit is contained in:
parent
08709cf1a9
commit
d0a2b164fa
7 changed files with 106 additions and 174 deletions
22
common.nix
22
common.nix
|
|
@ -20,13 +20,6 @@ all: {
|
||||||
|
|
||||||
programs.mosh.enable = lib.mkDefault true;
|
programs.mosh.enable = lib.mkDefault true;
|
||||||
|
|
||||||
systemd.services.nix-gc.serviceConfig.IOSchedulingPriority =
|
|
||||||
lib.mkDefault 7;
|
|
||||||
systemd.services.nix-gc.serviceConfig.IOSchedulingClass =
|
|
||||||
lib.mkDefault "idle";
|
|
||||||
systemd.services.nix-gc.serviceConfig.CPUSchedulingPolicy =
|
|
||||||
lib.mkDefault "idle";
|
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
gc = {
|
gc = {
|
||||||
automatic = lib.mkDefault true;
|
automatic = lib.mkDefault true;
|
||||||
|
|
@ -34,10 +27,6 @@ all: {
|
||||||
options = lib.mkDefault "--delete-older-than 40d";
|
options = lib.mkDefault "--delete-older-than 40d";
|
||||||
};
|
};
|
||||||
|
|
||||||
daemonIOSchedPriority = lib.mkDefault 7;
|
|
||||||
daemonIOSchedClass = lib.mkDefault "idle";
|
|
||||||
daemonCPUSchedPolicy = lib.mkDefault "idle";
|
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
trusted-users = ["root" "builder" "@wheel"];
|
trusted-users = ["root" "builder" "@wheel"];
|
||||||
builders-use-substitutes = true;
|
builders-use-substitutes = true;
|
||||||
|
|
@ -47,20 +36,21 @@ all: {
|
||||||
|
|
||||||
# make nginx have good logging and defaults
|
# make nginx have good logging and defaults
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
recommendedGzipSettings = lib.mkDefault true;
|
recommendedTlsSettings = lib.mkDefault true;
|
||||||
|
recommendedZstdSettings = lib.mkDefault true;
|
||||||
recommendedOptimisation = lib.mkDefault true;
|
recommendedOptimisation = lib.mkDefault true;
|
||||||
|
recommendedGzipSettings = lib.mkDefault true;
|
||||||
|
recommendedUwsgiSettings = lib.mkDefault true;
|
||||||
recommendedProxySettings = lib.mkDefault true;
|
recommendedProxySettings = lib.mkDefault true;
|
||||||
|
recommendedBrotliSettings = lib.mkDefault true;
|
||||||
appendHttpConfig = ''
|
appendHttpConfig = ''
|
||||||
error_log stderr;
|
error_log stderr;
|
||||||
access_log syslog:server=unix:/dev/log combined;
|
access_log syslog:server=unix:/dev/log combined;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# set some basic system props
|
|
||||||
security.sudo.wheelNeedsPassword = lib.mkDefault false;
|
security.sudo.wheelNeedsPassword = lib.mkDefault false;
|
||||||
networking.networkmanager.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
# package list
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
exfat
|
exfat
|
||||||
|
|
||||||
|
|
@ -69,7 +59,6 @@ all: {
|
||||||
];
|
];
|
||||||
|
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
# Allow ssh
|
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
# lol no
|
# lol no
|
||||||
settings.PermitRootLogin = lib.mkDefault "no";
|
settings.PermitRootLogin = lib.mkDefault "no";
|
||||||
|
|
@ -83,6 +72,7 @@ all: {
|
||||||
|
|
||||||
# Use a firewall
|
# Use a firewall
|
||||||
networking.firewall.enable = lib.mkDefault true;
|
networking.firewall.enable = lib.mkDefault true;
|
||||||
|
# dont be stupid
|
||||||
networking.firewall.allowPing = true;
|
networking.firewall.allowPing = true;
|
||||||
networking.firewall.allowedTCPPorts = lib.mkDefault [22];
|
networking.firewall.allowedTCPPorts = lib.mkDefault [22];
|
||||||
# but not too much, don't break VPNs etc
|
# but not too much, don't break VPNs etc
|
||||||
|
|
|
||||||
|
|
@ -25,19 +25,6 @@ inputs: all: {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.chromium = {
|
|
||||||
package = lib.mkDefault (pkgs.ungoogled-chromium.override {
|
|
||||||
commandLineArgs = lib.concatStringsSep " " [
|
|
||||||
"--force-dark-mode"
|
|
||||||
"--enable-features=UseOzonePlatform,WebUIDarkMode,VaapiVideoDecoder"
|
|
||||||
"--ozone-platform=wayland"
|
|
||||||
"--ignore-gpu-blocklist"
|
|
||||||
"--enable-gpu-rasterization"
|
|
||||||
"--enable-zero-copy"
|
|
||||||
];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
config = {
|
config = {
|
||||||
profile = lib.mkDefault "gpu-hq";
|
profile = lib.mkDefault "gpu-hq";
|
||||||
|
|
@ -52,12 +39,19 @@ inputs: all: {
|
||||||
jq
|
jq
|
||||||
ripgrep
|
ripgrep
|
||||||
lsd
|
lsd
|
||||||
|
|
||||||
lsof
|
lsof
|
||||||
file
|
file
|
||||||
|
|
||||||
iotop
|
iotop
|
||||||
htop
|
htop
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
ncdu
|
||||||
|
nix-index
|
||||||
|
unrar
|
||||||
|
lm_sensors
|
||||||
|
pciutils
|
||||||
|
usbutils
|
||||||
|
acpi
|
||||||
|
|
||||||
corefonts
|
corefonts
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,7 @@ in {
|
||||||
layerrule = [
|
layerrule = [
|
||||||
"blur, bar-.*"
|
"blur, bar-.*"
|
||||||
"ignorezero, bar-.*"
|
"ignorezero, bar-.*"
|
||||||
|
"xray on, bar-.*"
|
||||||
# "blur, notifications-window"
|
# "blur, notifications-window"
|
||||||
# "blur, indicator"
|
# "blur, indicator"
|
||||||
# "ignorezero, indicator"
|
# "ignorezero, indicator"
|
||||||
|
|
@ -137,6 +138,12 @@ in {
|
||||||
no_update_news = true;
|
no_update_news = true;
|
||||||
no_donation_nag = true;
|
no_donation_nag = true;
|
||||||
};
|
};
|
||||||
|
animations = {
|
||||||
|
enabled = false;
|
||||||
|
};
|
||||||
|
decoration = {
|
||||||
|
shadow.enabled = false;
|
||||||
|
};
|
||||||
misc = {
|
misc = {
|
||||||
disable_hyprland_logo = true;
|
disable_hyprland_logo = true;
|
||||||
animate_manual_resizes = true;
|
animate_manual_resizes = true;
|
||||||
|
|
@ -296,7 +303,7 @@ in {
|
||||||
menus.clock = {
|
menus.clock = {
|
||||||
time = {
|
time = {
|
||||||
military = false;
|
military = false;
|
||||||
hideSeconds = false;
|
hideSeconds = true;
|
||||||
};
|
};
|
||||||
# weather.unit = "metric";
|
# weather.unit = "metric";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
* {
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: @foreground;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
location: center;
|
|
||||||
width: 700px;
|
|
||||||
background-color: @background;
|
|
||||||
border: 2px solid;
|
|
||||||
border-color: @border-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
padding: 8px;
|
|
||||||
spacing: 4px;
|
|
||||||
background-color: @alternate-normal-background;
|
|
||||||
color: @alternate-normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox {
|
|
||||||
padding: 4px 6px;
|
|
||||||
background-color: @alternate-normal-background;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
columns: 1;
|
|
||||||
spacing: 8px;
|
|
||||||
fixed-columns: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
spacing: 1em;
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element normal urgent {
|
|
||||||
text-color: @urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element normal active {
|
|
||||||
text-color: @active-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
background-color: @selected-normal-background;
|
|
||||||
color: @selected-normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected urgent {
|
|
||||||
background-color: @selected-urgent-background;
|
|
||||||
color: @selected-urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
|
|
@ -17,8 +17,87 @@ in {
|
||||||
fzf
|
fzf
|
||||||
xclip
|
xclip
|
||||||
alejandra
|
alejandra
|
||||||
|
pwgen
|
||||||
|
ncdu
|
||||||
|
zip
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.nixcord = {
|
||||||
|
package = pkgs.vencord;
|
||||||
|
|
||||||
|
discord.enable = false;
|
||||||
|
|
||||||
|
vesktop = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vesktop;
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
transparent = true;
|
||||||
|
frameless = true;
|
||||||
|
disableMinSize = true;
|
||||||
|
# enabledThemes = [];
|
||||||
|
plugins = {
|
||||||
|
ircColors.enable = true;
|
||||||
|
whoReacted.enable = true;
|
||||||
|
alwaysTrust.enable = true;
|
||||||
|
anonymiseFileNames = {
|
||||||
|
enable = true;
|
||||||
|
anonymiseByDefault = true;
|
||||||
|
consistent = "file";
|
||||||
|
method = "consistent";
|
||||||
|
};
|
||||||
|
newGuildSettings = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
messages = "only@Mentions";
|
||||||
|
|
||||||
|
everyone = true;
|
||||||
|
role = true;
|
||||||
|
events = true;
|
||||||
|
};
|
||||||
|
copyEmojiMarkdown = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
fakeNitro = {
|
||||||
|
enableEmojiBypass = false;
|
||||||
|
enableStickerBypass = false;
|
||||||
|
enableStreamQualityBypass = true;
|
||||||
|
};
|
||||||
|
noPendingCount = {
|
||||||
|
enable = true;
|
||||||
|
hideFriendRequestsCount = true;
|
||||||
|
hideMessageRequestCount = true;
|
||||||
|
hidePremiumOffersCount = true;
|
||||||
|
};
|
||||||
|
platformIndicators.enable = true;
|
||||||
|
userVoiceShow.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dorion = {
|
||||||
|
enable = false;
|
||||||
|
package = pkgs.dorion;
|
||||||
|
|
||||||
|
theme = "stylix";
|
||||||
|
themes = ["stylix"];
|
||||||
|
|
||||||
|
useNativeTitlebar = true;
|
||||||
|
|
||||||
|
# theme = "dark";
|
||||||
|
# zoom = "1.1";
|
||||||
|
blur = "acrylic"; # "none", "blur", or "acrylic"
|
||||||
|
sysTray = true;
|
||||||
|
openOnStartup = false;
|
||||||
|
# autoClearCache = true;
|
||||||
|
# rpcServer = true;
|
||||||
|
rpcProcessScanner = true;
|
||||||
|
pushToTalk = true;
|
||||||
|
pushToTalkKeys = ["RControl"];
|
||||||
|
desktopNotifications = true;
|
||||||
|
unreadBadge = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs.zed-editor = {
|
programs.zed-editor = {
|
||||||
extensions = [
|
extensions = [
|
||||||
"elm"
|
"elm"
|
||||||
|
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
cfg = config.nix.ssh-agent;
|
|
||||||
in {
|
|
||||||
options.nix.ssh-agent = {
|
|
||||||
sock = lib.mkOption {
|
|
||||||
description = "SSH agent socket for Nix to use";
|
|
||||||
default = "/run/user/1000/ssh-agent";
|
|
||||||
type = lib.types.str;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf (cfg.sock != null) {
|
|
||||||
# systemd.services.ssh-agent-nix-proxy = {
|
|
||||||
# wantedBy = [ "nix-daemon.service" ];
|
|
||||||
# partOf = [ "nix-daemon.service" ];
|
|
||||||
# serviceConfig = {
|
|
||||||
# ExecStart = "${pkgs.socat}/bin/socat UNIX-LISTEN:/run/nix-ssh-agent,mode=770,group=nixbld,user=root,reuseaddr,fork UNIX-CONNECT:${cfg.sock}";
|
|
||||||
# Restart = "always";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# systemd.services.nix-daemon.environment.SSH_AUTH_SOCK = "/run/nix-ssh-agent";
|
|
||||||
systemd.services.nix-daemon.environment.SSH_AUTH_SOCK = cfg.sock;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -64,58 +64,14 @@ in {
|
||||||
|
|
||||||
services.ezpw.enable = lib.mkDefault true;
|
services.ezpw.enable = lib.mkDefault true;
|
||||||
|
|
||||||
security.pam.services = {
|
|
||||||
swaylock.text = ''
|
|
||||||
auth include login
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
services.thermald.enable = lib.mkDefault true;
|
services.thermald.enable = lib.mkDefault true;
|
||||||
|
|
||||||
# Don't kill the battery
|
# Don't kill the battery
|
||||||
services.upower = {
|
services.upower.enable = lib.mkDefault cfg.battery;
|
||||||
enable = lib.mkDefault cfg.battery;
|
|
||||||
percentageLow = lib.mkDefault 15;
|
|
||||||
percentageCritical = lib.mkDefault 10;
|
|
||||||
percentageAction = lib.mkDefault 5;
|
|
||||||
criticalPowerAction = lib.mkDefault "Hibernate";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Make battery usage sane
|
# Make battery usage and performance sane
|
||||||
services.tlp = {
|
services.power-profiles-daemon.enable = lib.mkDefault true;
|
||||||
enable = lib.mkDefault cfg.battery;
|
services.system76-scheduler.enable = lib.mkDefault true;
|
||||||
settings = {
|
|
||||||
PCIE_ASPM_ON_BAT = lib.mkDefault "powersupersave";
|
|
||||||
PCIE_ASPM_ON_AC = lib.mkDefault "default";
|
|
||||||
|
|
||||||
PLATFORM_PROFILE_ON_BAT = lib.mkDefault "low-power";
|
|
||||||
PLATFORM_PROFILE_ON_AC = lib.mkDefault "performance";
|
|
||||||
|
|
||||||
CPU_SCALING_GOVERNOR_ON_BAT = lib.mkOverride 900 "powersave";
|
|
||||||
CPU_SCALING_GOVERNOR_ON_AC = lib.mkOverride 900 "performance";
|
|
||||||
|
|
||||||
CPU_ENERGY_PERF_POLICY_ON_BAT = lib.mkDefault "power";
|
|
||||||
CPU_ENERGY_PERF_POLICY_ON_AC = lib.mkDefault "performance";
|
|
||||||
|
|
||||||
CPU_BOOST_ON_BAT = lib.mkDefault 0;
|
|
||||||
CPU_BOOST_ON_AC = lib.mkDefault 1;
|
|
||||||
|
|
||||||
CPU_HWP_DYN_BOOST_ON_BAT = lib.mkDefault 0;
|
|
||||||
CPU_HWP_DYN_BOOST_ON_AC = lib.mkDefault 1;
|
|
||||||
|
|
||||||
SCHED_POWERSAVE_ON_BAT = lib.mkDefault 1;
|
|
||||||
SCHED_POWERSAVE_ON_AC = lib.mkDefault 0;
|
|
||||||
|
|
||||||
CPU_MAX_PERF_ON_BAT = lib.mkDefault 30;
|
|
||||||
CPU_MAX_PERF_ON_AC = lib.mkDefault 100;
|
|
||||||
|
|
||||||
CPU_SCALING_MIN_FREQ_ON_BAT = lib.mkDefault 0;
|
|
||||||
CPU_SCALING_MIN_FREQ_ON_AC = lib.mkDefault 0;
|
|
||||||
|
|
||||||
CPU_SCALING_MAX_FREQ_ON_BAT = lib.mkDefault 9999999;
|
|
||||||
CPU_SCALING_MAX_FREQ_ON_AC = lib.mkDefault 9999999;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Video support
|
# Video support
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
|
|
@ -229,10 +185,6 @@ in {
|
||||||
mouse.accelProfile = lib.mkDefault "flat";
|
mouse.accelProfile = lib.mkDefault "flat";
|
||||||
touchpad.accelProfile = lib.mkDefault "flat";
|
touchpad.accelProfile = lib.mkDefault "flat";
|
||||||
};
|
};
|
||||||
services.xserver = {
|
|
||||||
dpi = lib.mkDefault 96;
|
|
||||||
xkb.layout = lib.mkDefault "us";
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.networkmanager.wifi.macAddress = lib.mkDefault "random";
|
networking.networkmanager.wifi.macAddress = lib.mkDefault "random";
|
||||||
networking.networkmanager.wifi.scanRandMacAddress = lib.mkDefault true;
|
networking.networkmanager.wifi.scanRandMacAddress = lib.mkDefault true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue